diff --git a/.gitignore b/.gitignore index b3914a9..c77d5a4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ .config.js .DS_Store .idea +*.iml npm-debug.log node_modules coverage diff --git a/build/contracts/ERC20Interface.json b/build/contracts/ERC20Interface.json deleted file mode 100644 index 430edf2..0000000 --- a/build/contracts/ERC20Interface.json +++ /dev/null @@ -1,4530 +0,0 @@ -{ - "contractName": "ERC20Interface", - "abi": [ - { - "constant": true, - "inputs": [ - { - "name": "_owner", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "balanceOf", - "outputs": [ - { - "name": "balance", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_to", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "name": "success", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_from", - "type": "address" - }, - { - "name": "_to", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "name": "success", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "name": "balance", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_to", - "type": "address" - }, - { - "name": "_value", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "name": "success", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_owner", - "type": "address" - }, - { - "name": "_spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "name": "remaining", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "_from", - "type": "address" - }, - { - "indexed": true, - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "name": "_value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "_owner", - "type": "address" - }, - { - "indexed": true, - "name": "_spender", - "type": "address" - }, - { - "indexed": false, - "name": "_value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.4.11;\n/**\n * Contract that exposes the needed erc20 token functions\n */\n\ncontract ERC20Interface {\n // Send _value amount of tokens to address _to\n function transfer(address _to, uint256 _value) returns (bool success);\n // Get the account balance of another account with address _owner\n function balanceOf(address _owner) constant returns (uint256 balance);\n}", - "sourcePath": "/home/bitgotto/src/BitGo/eth-multisig-v2/contracts/ERC20Interface.sol", - "ast": { - "attributes": { - "absolutePath": "/home/bitgotto/src/BitGo/eth-multisig-v2/contracts/ERC20Interface.sol", - "exportedSymbols": { - "ERC20Interface": [ - 18 - ], - "FixedSupplyToken": [ - 383 - ] - } - }, - "children": [ - { - "attributes": { - "literals": [ - "solidity", - "^", - "0.4", - ".11" - ] - }, - "id": 1, - "name": "PragmaDirective", - "src": "0:24:0" - }, - { - "attributes": { - "baseContracts": [ - null - ], - "contractDependencies": [ - null - ], - "contractKind": "contract", - "documentation": "Contract that exposes the needed erc20 token functions", - "fullyImplemented": false, - "linearizedBaseContracts": [ - 18 - ], - "name": "ERC20Interface", - "scope": 19 - }, - "children": [ - { - "attributes": { - "body": null, - "constant": false, - "implemented": false, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "transfer", - "payable": false, - "scope": 18, - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [ - { - "attributes": { - "constant": false, - "name": "_to", - "scope": 10, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 2, - "name": "ElementaryTypeName", - "src": "187:7:0" - } - ], - "id": 3, - "name": "VariableDeclaration", - "src": "187:11:0" - }, - { - "attributes": { - "constant": false, - "name": "_value", - "scope": 10, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 4, - "name": "ElementaryTypeName", - "src": "200:7:0" - } - ], - "id": 5, - "name": "VariableDeclaration", - "src": "200:14:0" - } - ], - "id": 6, - "name": "ParameterList", - "src": "186:29:0" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "success", - "scope": 10, - "stateVariable": false, - "storageLocation": "default", - "type": "bool", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bool", - "type": "bool" - }, - "id": 7, - "name": "ElementaryTypeName", - "src": "225:4:0" - } - ], - "id": 8, - "name": "VariableDeclaration", - "src": "225:12:0" - } - ], - "id": 9, - "name": "ParameterList", - "src": "224:14:0" - } - ], - "id": 10, - "name": "FunctionDefinition", - "src": "169:70:0" - }, - { - "attributes": { - "body": null, - "constant": true, - "implemented": false, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "balanceOf", - "payable": false, - "scope": 18, - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "_owner", - "scope": 17, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 11, - "name": "ElementaryTypeName", - "src": "329:7:0" - } - ], - "id": 12, - "name": "VariableDeclaration", - "src": "329:14:0" - } - ], - "id": 13, - "name": "ParameterList", - "src": "328:16:0" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "balance", - "scope": 17, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 14, - "name": "ElementaryTypeName", - "src": "363:7:0" - } - ], - "id": 15, - "name": "VariableDeclaration", - "src": "363:15:0" - } - ], - "id": 16, - "name": "ParameterList", - "src": "362:17:0" - } - ], - "id": 17, - "name": "FunctionDefinition", - "src": "310:70:0" - }, - { - "attributes": { - "body": null, - "constant": false, - "implemented": false, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "transfer", - "payable": false, - "scope": 133, - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "_to", - "scope": 87, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 79, - "name": "ElementaryTypeName", - "src": "731:7:2" - } - ], - "id": 80, - "name": "VariableDeclaration", - "src": "731:11:2" - }, - { - "attributes": { - "constant": false, - "name": "_value", - "scope": 87, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 81, - "name": "ElementaryTypeName", - "src": "744:7:2" - } - ], - "id": 82, - "name": "VariableDeclaration", - "src": "744:14:2" - } - ], - "id": 83, - "name": "ParameterList", - "src": "730:29:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "success", - "scope": 87, - "stateVariable": false, - "storageLocation": "default", - "type": "bool", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bool", - "type": "bool" - }, - "id": 84, - "name": "ElementaryTypeName", - "src": "769:4:2" - } - ], - "id": 85, - "name": "VariableDeclaration", - "src": "769:12:2" - } - ], - "id": 86, - "name": "ParameterList", - "src": "768:14:2" - } - ], - "id": 87, - "name": "FunctionDefinition", - "src": "713:70:2" - }, - { - "attributes": { - "body": null, - "constant": false, - "implemented": false, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "transferFrom", - "payable": false, - "scope": 133, - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "_from", - "scope": 98, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 88, - "name": "ElementaryTypeName", - "src": "877:7:2" - } - ], - "id": 89, - "name": "VariableDeclaration", - "src": "877:13:2" - }, - { - "attributes": { - "constant": false, - "name": "_to", - "scope": 98, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 90, - "name": "ElementaryTypeName", - "src": "892:7:2" - } - ], - "id": 91, - "name": "VariableDeclaration", - "src": "892:11:2" - }, - { - "attributes": { - "constant": false, - "name": "_value", - "scope": 98, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 92, - "name": "ElementaryTypeName", - "src": "905:7:2" - } - ], - "id": 93, - "name": "VariableDeclaration", - "src": "905:14:2" - } - ], - "id": 94, - "name": "ParameterList", - "src": "876:44:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "success", - "scope": 98, - "stateVariable": false, - "storageLocation": "default", - "type": "bool", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bool", - "type": "bool" - }, - "id": 95, - "name": "ElementaryTypeName", - "src": "930:4:2" - } - ], - "id": 96, - "name": "VariableDeclaration", - "src": "930:12:2" - } - ], - "id": 97, - "name": "ParameterList", - "src": "929:14:2" - } - ], - "id": 98, - "name": "FunctionDefinition", - "src": "855:89:2" - }, - { - "attributes": { - "body": null, - "constant": false, - "implemented": false, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "approve", - "payable": false, - "scope": 133, - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "_spender", - "scope": 107, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 99, - "name": "ElementaryTypeName", - "src": "1202:7:2" - } - ], - "id": 100, - "name": "VariableDeclaration", - "src": "1202:16:2" - }, - { - "attributes": { - "constant": false, - "name": "_value", - "scope": 107, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 101, - "name": "ElementaryTypeName", - "src": "1220:7:2" - } - ], - "id": 102, - "name": "VariableDeclaration", - "src": "1220:14:2" - } - ], - "id": 103, - "name": "ParameterList", - "src": "1201:34:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "success", - "scope": 107, - "stateVariable": false, - "storageLocation": "default", - "type": "bool", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bool", - "type": "bool" - }, - "id": 104, - "name": "ElementaryTypeName", - "src": "1245:4:2" - } - ], - "id": 105, - "name": "VariableDeclaration", - "src": "1245:12:2" - } - ], - "id": 106, - "name": "ParameterList", - "src": "1244:14:2" - } - ], - "id": 107, - "name": "FunctionDefinition", - "src": "1185:74:2" - }, - { - "attributes": { - "body": null, - "constant": true, - "implemented": false, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "allowance", - "payable": false, - "scope": 133, - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "_owner", - "scope": 116, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 108, - "name": "ElementaryTypeName", - "src": "1362:7:2" - } - ], - "id": 109, - "name": "VariableDeclaration", - "src": "1362:14:2" - }, - { - "attributes": { - "constant": false, - "name": "_spender", - "scope": 116, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 110, - "name": "ElementaryTypeName", - "src": "1378:7:2" - } - ], - "id": 111, - "name": "VariableDeclaration", - "src": "1378:16:2" - } - ], - "id": 112, - "name": "ParameterList", - "src": "1361:34:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "remaining", - "scope": 116, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 113, - "name": "ElementaryTypeName", - "src": "1414:7:2" - } - ], - "id": 114, - "name": "VariableDeclaration", - "src": "1414:17:2" - } - ], - "id": 115, - "name": "ParameterList", - "src": "1413:19:2" - } - ], - "id": 116, - "name": "FunctionDefinition", - "src": "1343:90:2" - }, - { - "attributes": { - "anonymous": false, - "name": "Transfer" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "indexed": true, - "name": "_from", - "scope": 124, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 117, - "name": "ElementaryTypeName", - "src": "1496:7:2" - } - ], - "id": 118, - "name": "VariableDeclaration", - "src": "1496:21:2" - }, - { - "attributes": { - "constant": false, - "indexed": true, - "name": "_to", - "scope": 124, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 119, - "name": "ElementaryTypeName", - "src": "1519:7:2" - } - ], - "id": 120, - "name": "VariableDeclaration", - "src": "1519:19:2" - }, - { - "attributes": { - "constant": false, - "indexed": false, - "name": "_value", - "scope": 124, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 121, - "name": "ElementaryTypeName", - "src": "1540:7:2" - } - ], - "id": 122, - "name": "VariableDeclaration", - "src": "1540:14:2" - } - ], - "id": 123, - "name": "ParameterList", - "src": "1495:60:2" - } - ], - "id": 124, - "name": "EventDefinition", - "src": "1481:75:2" - }, - { - "attributes": { - "anonymous": false, - "name": "Approval" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "indexed": true, - "name": "_owner", - "scope": 132, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 125, - "name": "ElementaryTypeName", - "src": "1652:7:2" - } - ], - "id": 126, - "name": "VariableDeclaration", - "src": "1652:22:2" - }, - { - "attributes": { - "constant": false, - "indexed": true, - "name": "_spender", - "scope": 132, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 127, - "name": "ElementaryTypeName", - "src": "1676:7:2" - } - ], - "id": 128, - "name": "VariableDeclaration", - "src": "1676:24:2" - }, - { - "attributes": { - "constant": false, - "indexed": false, - "name": "_value", - "scope": 132, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 129, - "name": "ElementaryTypeName", - "src": "1702:7:2" - } - ], - "id": 130, - "name": "VariableDeclaration", - "src": "1702:14:2" - } - ], - "id": 131, - "name": "ParameterList", - "src": "1651:66:2" - } - ], - "id": 132, - "name": "EventDefinition", - "src": "1637:81:2" - } - ], - "id": 18, - "name": "ContractDefinition", - "src": "92:290:0" - }, - { - "attributes": { - "contractDependencies": [ - 133 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 383, - 133 - ], - "name": "FixedSupplyToken", - "scope": 384 - }, - "children": [ - { - "attributes": { - "arguments": [ - null - ] - }, - "children": [ - { - "attributes": { - "contractScope": null, - "name": "ERC20Interface", - "referencedDeclaration": 133, - "type": "contract ERC20Interface" - }, - "id": 134, - "name": "UserDefinedTypeName", - "src": "1752:14:2" - } - ], - "id": 135, - "name": "InheritanceSpecifier", - "src": "1752:14:2" - }, - { - "attributes": { - "constant": true, - "name": "symbol", - "scope": 383, - "stateVariable": true, - "storageLocation": "default", - "type": "string memory", - "visibility": "public" - }, - "children": [ - { - "attributes": { - "name": "string", - "type": "string storage pointer" - }, - "id": 136, - "name": "ElementaryTypeName", - "src": "1771:6:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "4649584544", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "string", - "type": "literal_string \"FIXED\"", - "value": "FIXED" - }, - "id": 137, - "name": "Literal", - "src": "1803:7:2" - } - ], - "id": 138, - "name": "VariableDeclaration", - "src": "1771:39:2" - }, - { - "attributes": { - "constant": true, - "name": "name", - "scope": 383, - "stateVariable": true, - "storageLocation": "default", - "type": "string memory", - "visibility": "public" - }, - "children": [ - { - "attributes": { - "name": "string", - "type": "string storage pointer" - }, - "id": 139, - "name": "ElementaryTypeName", - "src": "1814:6:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "4578616d706c6520466978656420537570706c7920546f6b656e", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "string", - "type": "literal_string \"Example Fixed Supply Token\"", - "value": "Example Fixed Supply Token" - }, - "id": 140, - "name": "Literal", - "src": "1844:28:2" - } - ], - "id": 141, - "name": "VariableDeclaration", - "src": "1814:58:2" - }, - { - "attributes": { - "constant": true, - "name": "decimals", - "scope": 383, - "stateVariable": true, - "storageLocation": "default", - "type": "uint8", - "visibility": "public" - }, - "children": [ - { - "attributes": { - "name": "uint8", - "type": "uint8" - }, - "id": 142, - "name": "ElementaryTypeName", - "src": "1876:5:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "3138", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "number", - "type": "int_const 18", - "value": "18" - }, - "id": 143, - "name": "Literal", - "src": "1909:2:2" - } - ], - "id": 144, - "name": "VariableDeclaration", - "src": "1876:35:2" - }, - { - "attributes": { - "constant": false, - "name": "_totalSupply", - "scope": 383, - "stateVariable": true, - "storageLocation": "default", - "type": "uint256", - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 145, - "name": "ElementaryTypeName", - "src": "1915:7:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "31303030303030", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "number", - "type": "int_const 1000000", - "value": "1000000" - }, - "id": 146, - "name": "Literal", - "src": "1938:7:2" - } - ], - "id": 147, - "name": "VariableDeclaration", - "src": "1915:30:2" - }, - { - "attributes": { - "constant": false, - "name": "owner", - "scope": 383, - "stateVariable": true, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "public" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 148, - "name": "ElementaryTypeName", - "src": "1980:7:2" - } - ], - "id": 149, - "name": "VariableDeclaration", - "src": "1980:20:2" - }, - { - "attributes": { - "constant": false, - "name": "balances", - "scope": 383, - "stateVariable": true, - "storageLocation": "default", - "type": "mapping(address => uint256)", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "type": "mapping(address => uint256)" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 150, - "name": "ElementaryTypeName", - "src": "2044:7:2" - }, - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 151, - "name": "ElementaryTypeName", - "src": "2055:7:2" - } - ], - "id": 152, - "name": "Mapping", - "src": "2036:27:2" - } - ], - "id": 153, - "name": "VariableDeclaration", - "src": "2036:36:2" - }, - { - "attributes": { - "constant": false, - "name": "allowed", - "scope": 383, - "stateVariable": true, - "storageLocation": "default", - "type": "mapping(address => mapping(address => uint256))", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "type": "mapping(address => mapping(address => uint256))" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 154, - "name": "ElementaryTypeName", - "src": "2161:7:2" - }, - { - "attributes": { - "type": "mapping(address => uint256)" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 155, - "name": "ElementaryTypeName", - "src": "2181:7:2" - }, - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 156, - "name": "ElementaryTypeName", - "src": "2192:7:2" - } - ], - "id": 157, - "name": "Mapping", - "src": "2172:28:2" - } - ], - "id": 158, - "name": "Mapping", - "src": "2153:48:2" - } - ], - "id": 159, - "name": "VariableDeclaration", - "src": "2153:56:2" - }, - { - "attributes": { - "name": "onlyOwner", - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 160, - "name": "ParameterList", - "src": "2300:2:2" - }, - { - "children": [ - { - "attributes": { - "falseBody": null - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "!=", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1038, - "type": "msg", - "value": "msg" - }, - "id": 161, - "name": "Identifier", - "src": "2313:3:2" - } - ], - "id": 162, - "name": "MemberAccess", - "src": "2313:10:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 149, - "type": "address", - "value": "owner" - }, - "id": 163, - "name": "Identifier", - "src": "2327:5:2" - } - ], - "id": 164, - "name": "BinaryOperation", - "src": "2313:19:2" - }, - { - "children": [ - { - "children": [], - "id": 165, - "name": "Throw", - "src": "2342:5:2" - } - ], - "id": 166, - "name": "Block", - "src": "2334:20:2" - } - ], - "id": 167, - "name": "IfStatement", - "src": "2309:45:2" - }, - { - "id": 168, - "name": "PlaceholderStatement", - "src": "2359:1:2" - } - ], - "id": 169, - "name": "Block", - "src": "2303:62:2" - } - ], - "id": 170, - "name": "ModifierDefinition", - "src": "2282:83:2" - }, - { - "attributes": { - "constant": false, - "implemented": true, - "isConstructor": true, - "modifiers": [ - null - ], - "name": "FixedSupplyToken", - "payable": false, - "scope": 383, - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 171, - "name": "ParameterList", - "src": "2411:2:2" - }, - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 172, - "name": "ParameterList", - "src": "2414:0:2" - }, - { - "children": [ - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "=", - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 149, - "type": "address", - "value": "owner" - }, - "id": 173, - "name": "Identifier", - "src": "2420:5:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1038, - "type": "msg", - "value": "msg" - }, - "id": 174, - "name": "Identifier", - "src": "2428:3:2" - } - ], - "id": 175, - "name": "MemberAccess", - "src": "2428:10:2" - } - ], - "id": 176, - "name": "Assignment", - "src": "2420:18:2" - } - ], - "id": 177, - "name": "ExpressionStatement", - "src": "2420:18:2" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "=", - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 153, - "type": "mapping(address => uint256)", - "value": "balances" - }, - "id": 178, - "name": "Identifier", - "src": "2444:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 149, - "type": "address", - "value": "owner" - }, - "id": 179, - "name": "Identifier", - "src": "2453:5:2" - } - ], - "id": 180, - "name": "IndexAccess", - "src": "2444:15:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 147, - "type": "uint256", - "value": "_totalSupply" - }, - "id": 181, - "name": "Identifier", - "src": "2462:12:2" - } - ], - "id": 182, - "name": "Assignment", - "src": "2444:30:2" - } - ], - "id": 183, - "name": "ExpressionStatement", - "src": "2444:30:2" - } - ], - "id": 184, - "name": "Block", - "src": "2414:65:2" - } - ], - "id": 185, - "name": "FunctionDefinition", - "src": "2386:93:2" - }, - { - "attributes": { - "constant": true, - "implemented": true, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "totalSupply", - "payable": false, - "scope": 383, - "stateMutability": "view", - "superFunction": 71, - "visibility": "public" - }, - "children": [ - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 186, - "name": "ParameterList", - "src": "2503:2:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "totalSupply", - "scope": 195, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 187, - "name": "ElementaryTypeName", - "src": "2524:7:2" - } - ], - "id": 188, - "name": "VariableDeclaration", - "src": "2524:19:2" - } - ], - "id": 189, - "name": "ParameterList", - "src": "2523:21:2" - }, - { - "children": [ - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "=", - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 188, - "type": "uint256", - "value": "totalSupply" - }, - "id": 190, - "name": "Identifier", - "src": "2551:11:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 147, - "type": "uint256", - "value": "_totalSupply" - }, - "id": 191, - "name": "Identifier", - "src": "2565:12:2" - } - ], - "id": 192, - "name": "Assignment", - "src": "2551:26:2" - } - ], - "id": 193, - "name": "ExpressionStatement", - "src": "2551:26:2" - } - ], - "id": 194, - "name": "Block", - "src": "2545:37:2" - } - ], - "id": 195, - "name": "FunctionDefinition", - "src": "2483:99:2" - }, - { - "attributes": { - "constant": true, - "implemented": true, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "balanceOf", - "payable": false, - "scope": 383, - "stateMutability": "view", - "superFunction": 78, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "_owner", - "scope": 207, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 196, - "name": "ElementaryTypeName", - "src": "2655:7:2" - } - ], - "id": 197, - "name": "VariableDeclaration", - "src": "2655:14:2" - } - ], - "id": 198, - "name": "ParameterList", - "src": "2654:16:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "balance", - "scope": 207, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 199, - "name": "ElementaryTypeName", - "src": "2689:7:2" - } - ], - "id": 200, - "name": "VariableDeclaration", - "src": "2689:15:2" - } - ], - "id": 201, - "name": "ParameterList", - "src": "2688:17:2" - }, - { - "children": [ - { - "attributes": { - "functionReturnParameters": 201 - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 153, - "type": "mapping(address => uint256)", - "value": "balances" - }, - "id": 202, - "name": "Identifier", - "src": "2719:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 197, - "type": "address", - "value": "_owner" - }, - "id": 203, - "name": "Identifier", - "src": "2728:6:2" - } - ], - "id": 204, - "name": "IndexAccess", - "src": "2719:16:2" - } - ], - "id": 205, - "name": "Return", - "src": "2712:23:2" - } - ], - "id": 206, - "name": "Block", - "src": "2706:34:2" - } - ], - "id": 207, - "name": "FunctionDefinition", - "src": "2636:104:2" - }, - { - "attributes": { - "constant": false, - "implemented": true, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "transfer", - "payable": false, - "scope": 383, - "stateMutability": "nonpayable", - "superFunction": 87, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "_to", - "scope": 264, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 208, - "name": "ElementaryTypeName", - "src": "2828:7:2" - } - ], - "id": 209, - "name": "VariableDeclaration", - "src": "2828:11:2" - }, - { - "attributes": { - "constant": false, - "name": "_amount", - "scope": 264, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 210, - "name": "ElementaryTypeName", - "src": "2841:7:2" - } - ], - "id": 211, - "name": "VariableDeclaration", - "src": "2841:15:2" - } - ], - "id": 212, - "name": "ParameterList", - "src": "2827:30:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "success", - "scope": 264, - "stateVariable": false, - "storageLocation": "default", - "type": "bool", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bool", - "type": "bool" - }, - "id": 213, - "name": "ElementaryTypeName", - "src": "2867:4:2" - } - ], - "id": 214, - "name": "VariableDeclaration", - "src": "2867:12:2" - } - ], - "id": 215, - "name": "ParameterList", - "src": "2866:14:2" - }, - { - "children": [ - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "&&", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "&&", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": ">=", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 153, - "type": "mapping(address => uint256)", - "value": "balances" - }, - "id": 216, - "name": "Identifier", - "src": "2891:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1038, - "type": "msg", - "value": "msg" - }, - "id": 217, - "name": "Identifier", - "src": "2900:3:2" - } - ], - "id": 218, - "name": "MemberAccess", - "src": "2900:10:2" - } - ], - "id": 219, - "name": "IndexAccess", - "src": "2891:20:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 211, - "type": "uint256", - "value": "_amount" - }, - "id": 220, - "name": "Identifier", - "src": "2915:7:2" - } - ], - "id": 221, - "name": "BinaryOperation", - "src": "2891:31:2" - }, - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": ">", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 211, - "type": "uint256", - "value": "_amount" - }, - "id": 222, - "name": "Identifier", - "src": "2926:7:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "30", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "number", - "type": "int_const 0", - "value": "0" - }, - "id": 223, - "name": "Literal", - "src": "2936:1:2" - } - ], - "id": 224, - "name": "BinaryOperation", - "src": "2926:11:2" - } - ], - "id": 225, - "name": "BinaryOperation", - "src": "2891:46:2" - }, - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": ">", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "+", - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 153, - "type": "mapping(address => uint256)", - "value": "balances" - }, - "id": 226, - "name": "Identifier", - "src": "2941:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 209, - "type": "address", - "value": "_to" - }, - "id": 227, - "name": "Identifier", - "src": "2950:3:2" - } - ], - "id": 228, - "name": "IndexAccess", - "src": "2941:13:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 211, - "type": "uint256", - "value": "_amount" - }, - "id": 229, - "name": "Identifier", - "src": "2957:7:2" - } - ], - "id": 230, - "name": "BinaryOperation", - "src": "2941:23:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 153, - "type": "mapping(address => uint256)", - "value": "balances" - }, - "id": 231, - "name": "Identifier", - "src": "2967:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 209, - "type": "address", - "value": "_to" - }, - "id": 232, - "name": "Identifier", - "src": "2976:3:2" - } - ], - "id": 233, - "name": "IndexAccess", - "src": "2967:13:2" - } - ], - "id": 234, - "name": "BinaryOperation", - "src": "2941:39:2" - } - ], - "id": 235, - "name": "BinaryOperation", - "src": "2891:89:2" - }, - { - "children": [ - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "-=", - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 153, - "type": "mapping(address => uint256)", - "value": "balances" - }, - "id": 236, - "name": "Identifier", - "src": "2990:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1038, - "type": "msg", - "value": "msg" - }, - "id": 237, - "name": "Identifier", - "src": "2999:3:2" - } - ], - "id": 238, - "name": "MemberAccess", - "src": "2999:10:2" - } - ], - "id": 239, - "name": "IndexAccess", - "src": "2990:20:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 211, - "type": "uint256", - "value": "_amount" - }, - "id": 240, - "name": "Identifier", - "src": "3014:7:2" - } - ], - "id": 241, - "name": "Assignment", - "src": "2990:31:2" - } - ], - "id": 242, - "name": "ExpressionStatement", - "src": "2990:31:2" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "+=", - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 153, - "type": "mapping(address => uint256)", - "value": "balances" - }, - "id": 243, - "name": "Identifier", - "src": "3029:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 209, - "type": "address", - "value": "_to" - }, - "id": 244, - "name": "Identifier", - "src": "3038:3:2" - } - ], - "id": 245, - "name": "IndexAccess", - "src": "3029:13:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 211, - "type": "uint256", - "value": "_amount" - }, - "id": 246, - "name": "Identifier", - "src": "3046:7:2" - } - ], - "id": 247, - "name": "Assignment", - "src": "3029:24:2" - } - ], - "id": 248, - "name": "ExpressionStatement", - "src": "3029:24:2" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "tuple()", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 124, - "type": "function (address,address,uint256)", - "value": "Transfer" - }, - "id": 249, - "name": "Identifier", - "src": "3061:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1038, - "type": "msg", - "value": "msg" - }, - "id": 250, - "name": "Identifier", - "src": "3070:3:2" - } - ], - "id": 251, - "name": "MemberAccess", - "src": "3070:10:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 209, - "type": "address", - "value": "_to" - }, - "id": 252, - "name": "Identifier", - "src": "3082:3:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 211, - "type": "uint256", - "value": "_amount" - }, - "id": 253, - "name": "Identifier", - "src": "3087:7:2" - } - ], - "id": 254, - "name": "FunctionCall", - "src": "3061:34:2" - } - ], - "id": 255, - "name": "ExpressionStatement", - "src": "3061:34:2" - }, - { - "attributes": { - "functionReturnParameters": 215 - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "hexvalue": "74727565", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "bool", - "type": "bool", - "value": "true" - }, - "id": 256, - "name": "Literal", - "src": "3110:4:2" - } - ], - "id": 257, - "name": "Return", - "src": "3103:11:2" - } - ], - "id": 258, - "name": "Block", - "src": "2982:139:2" - }, - { - "children": [ - { - "attributes": { - "functionReturnParameters": 215 - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "hexvalue": "66616c7365", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "bool", - "type": "bool", - "value": "false" - }, - "id": 259, - "name": "Literal", - "src": "3144:5:2" - } - ], - "id": 260, - "name": "Return", - "src": "3137:12:2" - } - ], - "id": 261, - "name": "Block", - "src": "3127:29:2" - } - ], - "id": 262, - "name": "IfStatement", - "src": "2887:269:2" - } - ], - "id": 263, - "name": "Block", - "src": "2881:279:2" - } - ], - "id": 264, - "name": "FunctionDefinition", - "src": "2810:350:2" - }, - { - "attributes": { - "constant": false, - "implemented": true, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "transferFrom", - "payable": false, - "scope": 383, - "stateMutability": "nonpayable", - "superFunction": 98, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "_from", - "scope": 338, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 265, - "name": "ElementaryTypeName", - "src": "3653:7:2" - } - ], - "id": 266, - "name": "VariableDeclaration", - "src": "3653:13:2" - }, - { - "attributes": { - "constant": false, - "name": "_to", - "scope": 338, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 267, - "name": "ElementaryTypeName", - "src": "3674:7:2" - } - ], - "id": 268, - "name": "VariableDeclaration", - "src": "3674:11:2" - }, - { - "attributes": { - "constant": false, - "name": "_amount", - "scope": 338, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 269, - "name": "ElementaryTypeName", - "src": "3693:7:2" - } - ], - "id": 270, - "name": "VariableDeclaration", - "src": "3693:15:2" - } - ], - "id": 271, - "name": "ParameterList", - "src": "3645:67:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "success", - "scope": 338, - "stateVariable": false, - "storageLocation": "default", - "type": "bool", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bool", - "type": "bool" - }, - "id": 272, - "name": "ElementaryTypeName", - "src": "3722:4:2" - } - ], - "id": 273, - "name": "VariableDeclaration", - "src": "3722:12:2" - } - ], - "id": 274, - "name": "ParameterList", - "src": "3721:14:2" - }, - { - "children": [ - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "&&", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "&&", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "&&", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": ">=", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 153, - "type": "mapping(address => uint256)", - "value": "balances" - }, - "id": 275, - "name": "Identifier", - "src": "3746:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 266, - "type": "address", - "value": "_from" - }, - "id": 276, - "name": "Identifier", - "src": "3755:5:2" - } - ], - "id": 277, - "name": "IndexAccess", - "src": "3746:15:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 270, - "type": "uint256", - "value": "_amount" - }, - "id": 278, - "name": "Identifier", - "src": "3765:7:2" - } - ], - "id": 279, - "name": "BinaryOperation", - "src": "3746:26:2" - }, - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": ">=", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "mapping(address => uint256)" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 159, - "type": "mapping(address => mapping(address => uint256))", - "value": "allowed" - }, - "id": 280, - "name": "Identifier", - "src": "3776:7:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 266, - "type": "address", - "value": "_from" - }, - "id": 281, - "name": "Identifier", - "src": "3784:5:2" - } - ], - "id": 282, - "name": "IndexAccess", - "src": "3776:14:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1038, - "type": "msg", - "value": "msg" - }, - "id": 283, - "name": "Identifier", - "src": "3791:3:2" - } - ], - "id": 284, - "name": "MemberAccess", - "src": "3791:10:2" - } - ], - "id": 285, - "name": "IndexAccess", - "src": "3776:26:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 270, - "type": "uint256", - "value": "_amount" - }, - "id": 286, - "name": "Identifier", - "src": "3806:7:2" - } - ], - "id": 287, - "name": "BinaryOperation", - "src": "3776:37:2" - } - ], - "id": 288, - "name": "BinaryOperation", - "src": "3746:67:2" - }, - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": ">", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 270, - "type": "uint256", - "value": "_amount" - }, - "id": 289, - "name": "Identifier", - "src": "3817:7:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "30", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "number", - "type": "int_const 0", - "value": "0" - }, - "id": 290, - "name": "Literal", - "src": "3827:1:2" - } - ], - "id": 291, - "name": "BinaryOperation", - "src": "3817:11:2" - } - ], - "id": 292, - "name": "BinaryOperation", - "src": "3746:82:2" - }, - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": ">", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "+", - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 153, - "type": "mapping(address => uint256)", - "value": "balances" - }, - "id": 293, - "name": "Identifier", - "src": "3832:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 268, - "type": "address", - "value": "_to" - }, - "id": 294, - "name": "Identifier", - "src": "3841:3:2" - } - ], - "id": 295, - "name": "IndexAccess", - "src": "3832:13:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 270, - "type": "uint256", - "value": "_amount" - }, - "id": 296, - "name": "Identifier", - "src": "3848:7:2" - } - ], - "id": 297, - "name": "BinaryOperation", - "src": "3832:23:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 153, - "type": "mapping(address => uint256)", - "value": "balances" - }, - "id": 298, - "name": "Identifier", - "src": "3858:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 268, - "type": "address", - "value": "_to" - }, - "id": 299, - "name": "Identifier", - "src": "3867:3:2" - } - ], - "id": 300, - "name": "IndexAccess", - "src": "3858:13:2" - } - ], - "id": 301, - "name": "BinaryOperation", - "src": "3832:39:2" - } - ], - "id": 302, - "name": "BinaryOperation", - "src": "3746:125:2" - }, - { - "children": [ - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "-=", - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 153, - "type": "mapping(address => uint256)", - "value": "balances" - }, - "id": 303, - "name": "Identifier", - "src": "3882:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 266, - "type": "address", - "value": "_from" - }, - "id": 304, - "name": "Identifier", - "src": "3891:5:2" - } - ], - "id": 305, - "name": "IndexAccess", - "src": "3882:15:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 270, - "type": "uint256", - "value": "_amount" - }, - "id": 306, - "name": "Identifier", - "src": "3901:7:2" - } - ], - "id": 307, - "name": "Assignment", - "src": "3882:26:2" - } - ], - "id": 308, - "name": "ExpressionStatement", - "src": "3882:26:2" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "-=", - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "mapping(address => uint256)" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 159, - "type": "mapping(address => mapping(address => uint256))", - "value": "allowed" - }, - "id": 309, - "name": "Identifier", - "src": "3917:7:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 266, - "type": "address", - "value": "_from" - }, - "id": 310, - "name": "Identifier", - "src": "3925:5:2" - } - ], - "id": 313, - "name": "IndexAccess", - "src": "3917:14:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1038, - "type": "msg", - "value": "msg" - }, - "id": 311, - "name": "Identifier", - "src": "3932:3:2" - } - ], - "id": 312, - "name": "MemberAccess", - "src": "3932:10:2" - } - ], - "id": 314, - "name": "IndexAccess", - "src": "3917:26:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 270, - "type": "uint256", - "value": "_amount" - }, - "id": 315, - "name": "Identifier", - "src": "3947:7:2" - } - ], - "id": 316, - "name": "Assignment", - "src": "3917:37:2" - } - ], - "id": 317, - "name": "ExpressionStatement", - "src": "3917:37:2" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "+=", - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 153, - "type": "mapping(address => uint256)", - "value": "balances" - }, - "id": 318, - "name": "Identifier", - "src": "3963:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 268, - "type": "address", - "value": "_to" - }, - "id": 319, - "name": "Identifier", - "src": "3972:3:2" - } - ], - "id": 320, - "name": "IndexAccess", - "src": "3963:13:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 270, - "type": "uint256", - "value": "_amount" - }, - "id": 321, - "name": "Identifier", - "src": "3980:7:2" - } - ], - "id": 322, - "name": "Assignment", - "src": "3963:24:2" - } - ], - "id": 323, - "name": "ExpressionStatement", - "src": "3963:24:2" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "tuple()", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 124, - "type": "function (address,address,uint256)", - "value": "Transfer" - }, - "id": 324, - "name": "Identifier", - "src": "3996:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 266, - "type": "address", - "value": "_from" - }, - "id": 325, - "name": "Identifier", - "src": "4005:5:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 268, - "type": "address", - "value": "_to" - }, - "id": 326, - "name": "Identifier", - "src": "4012:3:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 270, - "type": "uint256", - "value": "_amount" - }, - "id": 327, - "name": "Identifier", - "src": "4017:7:2" - } - ], - "id": 328, - "name": "FunctionCall", - "src": "3996:29:2" - } - ], - "id": 329, - "name": "ExpressionStatement", - "src": "3996:29:2" - }, - { - "attributes": { - "functionReturnParameters": 274 - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "hexvalue": "74727565", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "bool", - "type": "bool", - "value": "true" - }, - "id": 330, - "name": "Literal", - "src": "4041:4:2" - } - ], - "id": 331, - "name": "Return", - "src": "4034:11:2" - } - ], - "id": 332, - "name": "Block", - "src": "3873:179:2" - }, - { - "children": [ - { - "attributes": { - "functionReturnParameters": 274 - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "hexvalue": "66616c7365", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "bool", - "type": "bool", - "value": "false" - }, - "id": 333, - "name": "Literal", - "src": "4073:5:2" - } - ], - "id": 334, - "name": "Return", - "src": "4066:12:2" - } - ], - "id": 335, - "name": "Block", - "src": "4058:27:2" - } - ], - "id": 336, - "name": "IfStatement", - "src": "3742:343:2" - } - ], - "id": 337, - "name": "Block", - "src": "3736:352:2" - } - ], - "id": 338, - "name": "FunctionDefinition", - "src": "3624:464:2" - }, - { - "attributes": { - "constant": false, - "implemented": true, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "approve", - "payable": false, - "scope": 383, - "stateMutability": "nonpayable", - "superFunction": 107, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "_spender", - "scope": 366, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 339, - "name": "ElementaryTypeName", - "src": "4288:7:2" - } - ], - "id": 340, - "name": "VariableDeclaration", - "src": "4288:16:2" - }, - { - "attributes": { - "constant": false, - "name": "_amount", - "scope": 366, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 341, - "name": "ElementaryTypeName", - "src": "4306:7:2" - } - ], - "id": 342, - "name": "VariableDeclaration", - "src": "4306:15:2" - } - ], - "id": 343, - "name": "ParameterList", - "src": "4287:35:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "success", - "scope": 366, - "stateVariable": false, - "storageLocation": "default", - "type": "bool", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bool", - "type": "bool" - }, - "id": 344, - "name": "ElementaryTypeName", - "src": "4332:4:2" - } - ], - "id": 345, - "name": "VariableDeclaration", - "src": "4332:12:2" - } - ], - "id": 346, - "name": "ParameterList", - "src": "4331:14:2" - }, - { - "children": [ - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "=", - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "mapping(address => uint256)" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 159, - "type": "mapping(address => mapping(address => uint256))", - "value": "allowed" - }, - "id": 347, - "name": "Identifier", - "src": "4352:7:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1038, - "type": "msg", - "value": "msg" - }, - "id": 348, - "name": "Identifier", - "src": "4360:3:2" - } - ], - "id": 349, - "name": "MemberAccess", - "src": "4360:10:2" - } - ], - "id": 351, - "name": "IndexAccess", - "src": "4352:19:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 340, - "type": "address", - "value": "_spender" - }, - "id": 350, - "name": "Identifier", - "src": "4372:8:2" - } - ], - "id": 352, - "name": "IndexAccess", - "src": "4352:29:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 342, - "type": "uint256", - "value": "_amount" - }, - "id": 353, - "name": "Identifier", - "src": "4384:7:2" - } - ], - "id": 354, - "name": "Assignment", - "src": "4352:39:2" - } - ], - "id": 355, - "name": "ExpressionStatement", - "src": "4352:39:2" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "tuple()", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 132, - "type": "function (address,address,uint256)", - "value": "Approval" - }, - "id": 356, - "name": "Identifier", - "src": "4397:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1038, - "type": "msg", - "value": "msg" - }, - "id": 357, - "name": "Identifier", - "src": "4406:3:2" - } - ], - "id": 358, - "name": "MemberAccess", - "src": "4406:10:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 340, - "type": "address", - "value": "_spender" - }, - "id": 359, - "name": "Identifier", - "src": "4418:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 342, - "type": "uint256", - "value": "_amount" - }, - "id": 360, - "name": "Identifier", - "src": "4428:7:2" - } - ], - "id": 361, - "name": "FunctionCall", - "src": "4397:39:2" - } - ], - "id": 362, - "name": "ExpressionStatement", - "src": "4397:39:2" - }, - { - "attributes": { - "functionReturnParameters": 346 - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "hexvalue": "74727565", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "bool", - "type": "bool", - "value": "true" - }, - "id": 363, - "name": "Literal", - "src": "4449:4:2" - } - ], - "id": 364, - "name": "Return", - "src": "4442:11:2" - } - ], - "id": 365, - "name": "Block", - "src": "4346:112:2" - } - ], - "id": 366, - "name": "FunctionDefinition", - "src": "4271:187:2" - }, - { - "attributes": { - "constant": true, - "implemented": true, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "allowance", - "payable": false, - "scope": 383, - "stateMutability": "view", - "superFunction": 116, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "_owner", - "scope": 382, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 367, - "name": "ElementaryTypeName", - "src": "4481:7:2" - } - ], - "id": 368, - "name": "VariableDeclaration", - "src": "4481:14:2" - }, - { - "attributes": { - "constant": false, - "name": "_spender", - "scope": 382, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 369, - "name": "ElementaryTypeName", - "src": "4497:7:2" - } - ], - "id": 370, - "name": "VariableDeclaration", - "src": "4497:16:2" - } - ], - "id": 371, - "name": "ParameterList", - "src": "4480:34:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "remaining", - "scope": 382, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 372, - "name": "ElementaryTypeName", - "src": "4533:7:2" - } - ], - "id": 373, - "name": "VariableDeclaration", - "src": "4533:17:2" - } - ], - "id": 374, - "name": "ParameterList", - "src": "4532:19:2" - }, - { - "children": [ - { - "attributes": { - "functionReturnParameters": 374 - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "mapping(address => uint256)" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 159, - "type": "mapping(address => mapping(address => uint256))", - "value": "allowed" - }, - "id": 375, - "name": "Identifier", - "src": "4565:7:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 368, - "type": "address", - "value": "_owner" - }, - "id": 376, - "name": "Identifier", - "src": "4573:6:2" - } - ], - "id": 377, - "name": "IndexAccess", - "src": "4565:15:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 370, - "type": "address", - "value": "_spender" - }, - "id": 378, - "name": "Identifier", - "src": "4581:8:2" - } - ], - "id": 379, - "name": "IndexAccess", - "src": "4565:25:2" - } - ], - "id": 380, - "name": "Return", - "src": "4558:32:2" - } - ], - "id": 381, - "name": "Block", - "src": "4552:43:2" - } - ], - "id": 382, - "name": "FunctionDefinition", - "src": "4462:133:2" - } - ], - "id": 383, - "name": "ContractDefinition", - "src": "1723:2874:2" - } - ], - "id": 19, - "name": "SourceUnit", - "src": "0:382:0" - }, - "compiler": { - "name": "solc", - "version": "0.4.18+commit.9cf6e910.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "1.0.1", - "updatedAt": "2017-11-15T15:21:22.268Z" -} \ No newline at end of file diff --git a/build/contracts/FixedSupplyToken.json b/build/contracts/FixedSupplyToken.json deleted file mode 100644 index c397534..0000000 --- a/build/contracts/FixedSupplyToken.json +++ /dev/null @@ -1,4530 +0,0 @@ -{ - "contractName": "FixedSupplyToken", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_spender", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "name": "success", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "name": "totalSupply", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_from", - "type": "address" - }, - { - "name": "_to", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "name": "success", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "name": "balance", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_to", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "name": "success", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_owner", - "type": "address" - }, - { - "name": "_spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "name": "remaining", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "_from", - "type": "address" - }, - { - "indexed": true, - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "name": "_value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "_owner", - "type": "address" - }, - { - "indexed": true, - "name": "_spender", - "type": "address" - }, - { - "indexed": false, - "name": "_value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - } - ], - "bytecode": "0x6060604052620f4240600055341561001657600080fd5b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060005460026000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610be7806100ce6000396000f3006060604052600436106100a4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100a9578063095ea7b31461013757806318160ddd1461019157806323b872dd146101ba578063313ce5671461023357806370a08231146102625780638da5cb5b146102af57806395d89b4114610304578063a9059cbb14610392578063dd62ed3e146103ec575b600080fd5b34156100b457600080fd5b6100bc610458565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100fc5780820151818401526020810190506100e1565b50505050905090810190601f1680156101295780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561014257600080fd5b610177600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610491565b604051808215151515815260200191505060405180910390f35b341561019c57600080fd5b6101a4610583565b6040518082815260200191505060405180910390f35b34156101c557600080fd5b610219600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061058c565b604051808215151515815260200191505060405180910390f35b341561023e57600080fd5b610246610893565b604051808260ff1660ff16815260200191505060405180910390f35b341561026d57600080fd5b610299600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610898565b6040518082815260200191505060405180910390f35b34156102ba57600080fd5b6102c26108e1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561030f57600080fd5b610317610907565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561035757808201518184015260208101905061033c565b50505050905090810190601f1680156103845780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561039d57600080fd5b6103d2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610940565b604051808215151515815260200191505060405180910390f35b34156103f757600080fd5b610442600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b34565b6040518082815260200191505060405180910390f35b6040805190810160405280601a81526020017f4578616d706c6520466978656420537570706c7920546f6b656e00000000000081525081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008054905090565b600081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610659575081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b80156106655750600082115b80156106f05750600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b156108875781600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905061088c565b600090505b9392505050565b601281565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600581526020017f464958454400000000000000000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156109915750600082115b8015610a1c5750600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b15610b295781600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050610b2e565b600090505b92915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050929150505600a165627a7a72305820804e3d303d05d995f53cc86f403942895badbf44b682c42cbef1ea9afea8232f0029", - "deployedBytecode": "0x6060604052600436106100a4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100a9578063095ea7b31461013757806318160ddd1461019157806323b872dd146101ba578063313ce5671461023357806370a08231146102625780638da5cb5b146102af57806395d89b4114610304578063a9059cbb14610392578063dd62ed3e146103ec575b600080fd5b34156100b457600080fd5b6100bc610458565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100fc5780820151818401526020810190506100e1565b50505050905090810190601f1680156101295780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561014257600080fd5b610177600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610491565b604051808215151515815260200191505060405180910390f35b341561019c57600080fd5b6101a4610583565b6040518082815260200191505060405180910390f35b34156101c557600080fd5b610219600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061058c565b604051808215151515815260200191505060405180910390f35b341561023e57600080fd5b610246610893565b604051808260ff1660ff16815260200191505060405180910390f35b341561026d57600080fd5b610299600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610898565b6040518082815260200191505060405180910390f35b34156102ba57600080fd5b6102c26108e1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561030f57600080fd5b610317610907565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561035757808201518184015260208101905061033c565b50505050905090810190601f1680156103845780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561039d57600080fd5b6103d2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610940565b604051808215151515815260200191505060405180910390f35b34156103f757600080fd5b610442600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b34565b6040518082815260200191505060405180910390f35b6040805190810160405280601a81526020017f4578616d706c6520466978656420537570706c7920546f6b656e00000000000081525081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008054905090565b600081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610659575081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b80156106655750600082115b80156106f05750600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b156108875781600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905061088c565b600090505b9392505050565b601281565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600581526020017f464958454400000000000000000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156109915750600082115b8015610a1c5750600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b15610b295781600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050610b2e565b600090505b92915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050929150505600a165627a7a72305820804e3d303d05d995f53cc86f403942895badbf44b682c42cbef1ea9afea8232f0029", - "sourceMap": "1723:2874:2:-;;;1938:7;1915:30;;2386:93;;;;;;;;2428:10;2420:5;;:18;;;;;;;;;;;;;;;;;;2462:12;;2444:8;:15;2453:5;;;;;;;;;;;2444:15;;;;;;;;;;;;;;;:30;;;;1723:2874;;;;;;", - "deployedSourceMap": "1723:2874:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1814:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4271:187:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2483:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3624:464;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2636:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1980:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1771:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2810:350:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4462:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1814:58;;;;;;;;;;;;;;;;;;;;:::o;4271:187::-;4332:12;4384:7;4352;:19;4360:10;4352:19;;;;;;;;;;;;;;;:29;4372:8;4352:29;;;;;;;;;;;;;;;:39;;;;4418:8;4397:39;;4406:10;4397:39;;;4428:7;4397:39;;;;;;;;;;;;;;;;;;4449:4;4442:11;;4271:187;;;;:::o;2483:99::-;2524:19;2565:12;;2551:26;;2483:99;:::o;3624:464::-;3722:12;3765:7;3746:8;:15;3755:5;3746:15;;;;;;;;;;;;;;;;:26;;:67;;;;;3806:7;3776;:14;3784:5;3776:14;;;;;;;;;;;;;;;:26;3791:10;3776:26;;;;;;;;;;;;;;;;:37;;3746:67;:82;;;;;3827:1;3817:7;:11;3746:82;:125;;;;;3858:8;:13;3867:3;3858:13;;;;;;;;;;;;;;;;3848:7;3832:8;:13;3841:3;3832:13;;;;;;;;;;;;;;;;:23;:39;3746:125;3742:343;;;3901:7;3882:8;:15;3891:5;3882:15;;;;;;;;;;;;;;;;:26;;;;;;;;;;;3947:7;3917;:14;3925:5;3917:14;;;;;;;;;;;;;;;:26;3932:10;3917:26;;;;;;;;;;;;;;;;:37;;;;;;;;;;;3980:7;3963:8;:13;3972:3;3963:13;;;;;;;;;;;;;;;;:24;;;;;;;;;;;4012:3;3996:29;;4005:5;3996:29;;;4017:7;3996:29;;;;;;;;;;;;;;;;;;4041:4;4034:11;;;;3742:343;4073:5;4066:12;;3624:464;;;;;;:::o;1876:35::-;1909:2;1876:35;:::o;2636:104::-;2689:15;2719:8;:16;2728:6;2719:16;;;;;;;;;;;;;;;;2712:23;;2636:104;;;:::o;1980:20::-;;;;;;;;;;;;;:::o;1771:39::-;;;;;;;;;;;;;;;;;;;;:::o;2810:350::-;2867:12;2915:7;2891:8;:20;2900:10;2891:20;;;;;;;;;;;;;;;;:31;;:46;;;;;2936:1;2926:7;:11;2891:46;:89;;;;;2967:8;:13;2976:3;2967:13;;;;;;;;;;;;;;;;2957:7;2941:8;:13;2950:3;2941:13;;;;;;;;;;;;;;;;:23;:39;2891:89;2887:269;;;3014:7;2990:8;:20;2999:10;2990:20;;;;;;;;;;;;;;;;:31;;;;;;;;;;;3046:7;3029:8;:13;3038:3;3029:13;;;;;;;;;;;;;;;;:24;;;;;;;;;;;3082:3;3061:34;;3070:10;3061:34;;;3087:7;3061:34;;;;;;;;;;;;;;;;;;3110:4;3103:11;;;;2887:269;3144:5;3137:12;;2810:350;;;;;:::o;4462:133::-;4533:17;4565:7;:15;4573:6;4565:15;;;;;;;;;;;;;;;:25;4581:8;4565:25;;;;;;;;;;;;;;;;4558:32;;4462:133;;;;:::o", - "source": "pragma solidity ^0.4.11;\n \n// ----------------------------------------------------------------------------------------------\n// Sample fixed supply token contract\n// Enjoy. (c) BokkyPooBah 2017. The MIT Licence.\n// ----------------------------------------------------------------------------------------------\n \n// ERC Token Standard #20 Interface\n// https://github.com/ethereum/EIPs/issues/20\ncontract ERC20Interface {\n // Get the total token supply\n function totalSupply() constant returns (uint256 totalSupply);\n\n // Get the account balance of another account with address _owner\n function balanceOf(address _owner) constant returns (uint256 balance);\n\n // Send _value amount of tokens to address _to\n function transfer(address _to, uint256 _value) returns (bool success);\n\n // Send _value amount of tokens from address _from to address _to\n function transferFrom(address _from, address _to, uint256 _value) returns (bool success);\n\n // Allow _spender to withdraw from your account, multiple times, up to the _value amount.\n // If this function is called again it overwrites the current allowance with _value.\n // this function is required for some DEX functionality\n function approve(address _spender, uint256 _value) returns (bool success);\n\n // Returns the amount which _spender is still allowed to withdraw from _owner\n function allowance(address _owner, address _spender) constant returns (uint256 remaining);\n\n // Triggered when tokens are transferred.\n event Transfer(address indexed _from, address indexed _to, uint256 _value);\n\n // Triggered whenever approve(address _spender, uint256 _value) is called.\n event Approval(address indexed _owner, address indexed _spender, uint256 _value);\n}\n \ncontract FixedSupplyToken is ERC20Interface {\n string public constant symbol = \"FIXED\";\n string public constant name = \"Example Fixed Supply Token\";\n uint8 public constant decimals = 18;\n uint256 _totalSupply = 1000000;\n \n // Owner of this contract\n address public owner;\n\n // Balances for each account\n mapping(address => uint256) balances;\n\n // Owner of account approves the transfer of an amount to another account\n mapping(address => mapping (address => uint256)) allowed;\n\n // Functions with this modifier can only be executed by the owner\n modifier onlyOwner() {\n if (msg.sender != owner) {\n throw;\n }\n _;\n }\n\n // Constructor\n function FixedSupplyToken() {\n owner = msg.sender;\n balances[owner] = _totalSupply;\n }\n\n function totalSupply() constant returns (uint256 totalSupply) {\n totalSupply = _totalSupply;\n }\n\n // What is the balance of a particular account?\n function balanceOf(address _owner) constant returns (uint256 balance) {\n return balances[_owner];\n }\n\n // Transfer the balance from owner's account to another account\n function transfer(address _to, uint256 _amount) returns (bool success) {\n if (balances[msg.sender] >= _amount && _amount > 0 && balances[_to] + _amount > balances[_to]) {\n balances[msg.sender] -= _amount;\n balances[_to] += _amount;\n Transfer(msg.sender, _to, _amount);\n return true;\n } else {\n return false;\n }\n }\n\n // Send _value amount of tokens from address _from to address _to\n // The transferFrom method is used for a withdraw workflow, allowing contracts to send\n // tokens on your behalf, for example to \"deposit\" to a contract address and/or to charge\n // fees in sub-currencies; the command should fail unless the _from account has\n // deliberately authorized the sender of the message via some mechanism; we propose\n // these standardized APIs for approval:\n function transferFrom(\n address _from,\n address _to,\n uint256 _amount\n ) returns (bool success) {\n if (balances[_from] >= _amount && allowed[_from][msg.sender] >= _amount && _amount > 0 && balances[_to] + _amount > balances[_to]) {\n balances[_from] -= _amount;\n allowed[_from][msg.sender] -= _amount;\n balances[_to] += _amount;\n Transfer(_from, _to, _amount);\n return true;\n } else {\n return false;\n }\n }\n\n // Allow _spender to withdraw from your account, multiple times, up to the _value amount.\n // If this function is called again it overwrites the current allowance with _value.\n function approve(address _spender, uint256 _amount) returns (bool success) {\n allowed[msg.sender][_spender] = _amount;\n Approval(msg.sender, _spender, _amount);\n return true;\n }\n\n function allowance(address _owner, address _spender) constant returns (uint256 remaining) {\n return allowed[_owner][_spender];\n }\n}", - "sourcePath": "/home/bitgotto/src/BitGo/eth-multisig-v2/contracts/FixedSupplyToken.sol", - "ast": { - "attributes": { - "absolutePath": "/home/bitgotto/src/BitGo/eth-multisig-v2/contracts/FixedSupplyToken.sol", - "exportedSymbols": { - "ERC20Interface": [ - 133 - ], - "FixedSupplyToken": [ - 383 - ] - } - }, - "children": [ - { - "attributes": { - "literals": [ - "solidity", - "^", - "0.4", - ".11" - ] - }, - "id": 66, - "name": "PragmaDirective", - "src": "0:24:2" - }, - { - "attributes": { - "baseContracts": [ - null - ], - "contractDependencies": [ - null - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "linearizedBaseContracts": [ - 133 - ], - "name": "ERC20Interface", - "scope": 384 - }, - "children": [ - { - "attributes": { - "body": null, - "constant": true, - "implemented": false, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "totalSupply", - "payable": false, - "scope": 133, - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 67, - "name": "ParameterList", - "src": "476:2:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "totalSupply", - "scope": 71, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 68, - "name": "ElementaryTypeName", - "src": "497:7:2" - } - ], - "id": 69, - "name": "VariableDeclaration", - "src": "497:19:2" - } - ], - "id": 70, - "name": "ParameterList", - "src": "496:21:2" - } - ], - "id": 71, - "name": "FunctionDefinition", - "src": "456:62:2" - }, - { - "attributes": { - "body": null, - "constant": true, - "implemented": false, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "balanceOf", - "payable": false, - "scope": 133, - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "_owner", - "scope": 78, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 72, - "name": "ElementaryTypeName", - "src": "609:7:2" - } - ], - "id": 73, - "name": "VariableDeclaration", - "src": "609:14:2" - } - ], - "id": 74, - "name": "ParameterList", - "src": "608:16:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "balance", - "scope": 78, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 75, - "name": "ElementaryTypeName", - "src": "643:7:2" - } - ], - "id": 76, - "name": "VariableDeclaration", - "src": "643:15:2" - } - ], - "id": 77, - "name": "ParameterList", - "src": "642:17:2" - } - ], - "id": 78, - "name": "FunctionDefinition", - "src": "590:70:2" - }, - { - "attributes": { - "body": null, - "constant": false, - "implemented": false, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "transfer", - "payable": false, - "scope": 133, - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "_to", - "scope": 87, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 79, - "name": "ElementaryTypeName", - "src": "731:7:2" - } - ], - "id": 80, - "name": "VariableDeclaration", - "src": "731:11:2" - }, - { - "attributes": { - "constant": false, - "name": "_value", - "scope": 87, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 81, - "name": "ElementaryTypeName", - "src": "744:7:2" - } - ], - "id": 82, - "name": "VariableDeclaration", - "src": "744:14:2" - } - ], - "id": 83, - "name": "ParameterList", - "src": "730:29:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "success", - "scope": 87, - "stateVariable": false, - "storageLocation": "default", - "type": "bool", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bool", - "type": "bool" - }, - "id": 84, - "name": "ElementaryTypeName", - "src": "769:4:2" - } - ], - "id": 85, - "name": "VariableDeclaration", - "src": "769:12:2" - } - ], - "id": 86, - "name": "ParameterList", - "src": "768:14:2" - } - ], - "id": 87, - "name": "FunctionDefinition", - "src": "713:70:2" - }, - { - "attributes": { - "body": null, - "constant": false, - "implemented": false, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "transferFrom", - "payable": false, - "scope": 133, - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "_from", - "scope": 98, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 88, - "name": "ElementaryTypeName", - "src": "877:7:2" - } - ], - "id": 89, - "name": "VariableDeclaration", - "src": "877:13:2" - }, - { - "attributes": { - "constant": false, - "name": "_to", - "scope": 98, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 90, - "name": "ElementaryTypeName", - "src": "892:7:2" - } - ], - "id": 91, - "name": "VariableDeclaration", - "src": "892:11:2" - }, - { - "attributes": { - "constant": false, - "name": "_value", - "scope": 98, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 92, - "name": "ElementaryTypeName", - "src": "905:7:2" - } - ], - "id": 93, - "name": "VariableDeclaration", - "src": "905:14:2" - } - ], - "id": 94, - "name": "ParameterList", - "src": "876:44:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "success", - "scope": 98, - "stateVariable": false, - "storageLocation": "default", - "type": "bool", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bool", - "type": "bool" - }, - "id": 95, - "name": "ElementaryTypeName", - "src": "930:4:2" - } - ], - "id": 96, - "name": "VariableDeclaration", - "src": "930:12:2" - } - ], - "id": 97, - "name": "ParameterList", - "src": "929:14:2" - } - ], - "id": 98, - "name": "FunctionDefinition", - "src": "855:89:2" - }, - { - "attributes": { - "body": null, - "constant": false, - "implemented": false, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "approve", - "payable": false, - "scope": 133, - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "_spender", - "scope": 107, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 99, - "name": "ElementaryTypeName", - "src": "1202:7:2" - } - ], - "id": 100, - "name": "VariableDeclaration", - "src": "1202:16:2" - }, - { - "attributes": { - "constant": false, - "name": "_value", - "scope": 107, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 101, - "name": "ElementaryTypeName", - "src": "1220:7:2" - } - ], - "id": 102, - "name": "VariableDeclaration", - "src": "1220:14:2" - } - ], - "id": 103, - "name": "ParameterList", - "src": "1201:34:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "success", - "scope": 107, - "stateVariable": false, - "storageLocation": "default", - "type": "bool", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bool", - "type": "bool" - }, - "id": 104, - "name": "ElementaryTypeName", - "src": "1245:4:2" - } - ], - "id": 105, - "name": "VariableDeclaration", - "src": "1245:12:2" - } - ], - "id": 106, - "name": "ParameterList", - "src": "1244:14:2" - } - ], - "id": 107, - "name": "FunctionDefinition", - "src": "1185:74:2" - }, - { - "attributes": { - "body": null, - "constant": true, - "implemented": false, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "allowance", - "payable": false, - "scope": 133, - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "_owner", - "scope": 116, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 108, - "name": "ElementaryTypeName", - "src": "1362:7:2" - } - ], - "id": 109, - "name": "VariableDeclaration", - "src": "1362:14:2" - }, - { - "attributes": { - "constant": false, - "name": "_spender", - "scope": 116, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 110, - "name": "ElementaryTypeName", - "src": "1378:7:2" - } - ], - "id": 111, - "name": "VariableDeclaration", - "src": "1378:16:2" - } - ], - "id": 112, - "name": "ParameterList", - "src": "1361:34:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "remaining", - "scope": 116, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 113, - "name": "ElementaryTypeName", - "src": "1414:7:2" - } - ], - "id": 114, - "name": "VariableDeclaration", - "src": "1414:17:2" - } - ], - "id": 115, - "name": "ParameterList", - "src": "1413:19:2" - } - ], - "id": 116, - "name": "FunctionDefinition", - "src": "1343:90:2" - }, - { - "attributes": { - "anonymous": false, - "name": "Transfer" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "indexed": true, - "name": "_from", - "scope": 124, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 117, - "name": "ElementaryTypeName", - "src": "1496:7:2" - } - ], - "id": 118, - "name": "VariableDeclaration", - "src": "1496:21:2" - }, - { - "attributes": { - "constant": false, - "indexed": true, - "name": "_to", - "scope": 124, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 119, - "name": "ElementaryTypeName", - "src": "1519:7:2" - } - ], - "id": 120, - "name": "VariableDeclaration", - "src": "1519:19:2" - }, - { - "attributes": { - "constant": false, - "indexed": false, - "name": "_value", - "scope": 124, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 121, - "name": "ElementaryTypeName", - "src": "1540:7:2" - } - ], - "id": 122, - "name": "VariableDeclaration", - "src": "1540:14:2" - } - ], - "id": 123, - "name": "ParameterList", - "src": "1495:60:2" - } - ], - "id": 124, - "name": "EventDefinition", - "src": "1481:75:2" - }, - { - "attributes": { - "anonymous": false, - "name": "Approval" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "indexed": true, - "name": "_owner", - "scope": 132, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 125, - "name": "ElementaryTypeName", - "src": "1652:7:2" - } - ], - "id": 126, - "name": "VariableDeclaration", - "src": "1652:22:2" - }, - { - "attributes": { - "constant": false, - "indexed": true, - "name": "_spender", - "scope": 132, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 127, - "name": "ElementaryTypeName", - "src": "1676:7:2" - } - ], - "id": 128, - "name": "VariableDeclaration", - "src": "1676:24:2" - }, - { - "attributes": { - "constant": false, - "indexed": false, - "name": "_value", - "scope": 132, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 129, - "name": "ElementaryTypeName", - "src": "1702:7:2" - } - ], - "id": 130, - "name": "VariableDeclaration", - "src": "1702:14:2" - } - ], - "id": 131, - "name": "ParameterList", - "src": "1651:66:2" - } - ], - "id": 132, - "name": "EventDefinition", - "src": "1637:81:2" - } - ], - "id": 133, - "name": "ContractDefinition", - "src": "396:1324:2" - }, - { - "attributes": { - "contractDependencies": [ - 133 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 383, - 133 - ], - "name": "FixedSupplyToken", - "scope": 384 - }, - "children": [ - { - "attributes": { - "arguments": [ - null - ] - }, - "children": [ - { - "attributes": { - "contractScope": null, - "name": "ERC20Interface", - "referencedDeclaration": 133, - "type": "contract ERC20Interface" - }, - "id": 134, - "name": "UserDefinedTypeName", - "src": "1752:14:2" - } - ], - "id": 135, - "name": "InheritanceSpecifier", - "src": "1752:14:2" - }, - { - "attributes": { - "constant": true, - "name": "symbol", - "scope": 383, - "stateVariable": true, - "storageLocation": "default", - "type": "string memory", - "visibility": "public" - }, - "children": [ - { - "attributes": { - "name": "string", - "type": "string storage pointer" - }, - "id": 136, - "name": "ElementaryTypeName", - "src": "1771:6:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "4649584544", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "string", - "type": "literal_string \"FIXED\"", - "value": "FIXED" - }, - "id": 137, - "name": "Literal", - "src": "1803:7:2" - } - ], - "id": 138, - "name": "VariableDeclaration", - "src": "1771:39:2" - }, - { - "attributes": { - "constant": true, - "name": "name", - "scope": 383, - "stateVariable": true, - "storageLocation": "default", - "type": "string memory", - "visibility": "public" - }, - "children": [ - { - "attributes": { - "name": "string", - "type": "string storage pointer" - }, - "id": 139, - "name": "ElementaryTypeName", - "src": "1814:6:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "4578616d706c6520466978656420537570706c7920546f6b656e", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "string", - "type": "literal_string \"Example Fixed Supply Token\"", - "value": "Example Fixed Supply Token" - }, - "id": 140, - "name": "Literal", - "src": "1844:28:2" - } - ], - "id": 141, - "name": "VariableDeclaration", - "src": "1814:58:2" - }, - { - "attributes": { - "constant": true, - "name": "decimals", - "scope": 383, - "stateVariable": true, - "storageLocation": "default", - "type": "uint8", - "visibility": "public" - }, - "children": [ - { - "attributes": { - "name": "uint8", - "type": "uint8" - }, - "id": 142, - "name": "ElementaryTypeName", - "src": "1876:5:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "3138", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "number", - "type": "int_const 18", - "value": "18" - }, - "id": 143, - "name": "Literal", - "src": "1909:2:2" - } - ], - "id": 144, - "name": "VariableDeclaration", - "src": "1876:35:2" - }, - { - "attributes": { - "constant": false, - "name": "_totalSupply", - "scope": 383, - "stateVariable": true, - "storageLocation": "default", - "type": "uint256", - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 145, - "name": "ElementaryTypeName", - "src": "1915:7:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "31303030303030", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "number", - "type": "int_const 1000000", - "value": "1000000" - }, - "id": 146, - "name": "Literal", - "src": "1938:7:2" - } - ], - "id": 147, - "name": "VariableDeclaration", - "src": "1915:30:2" - }, - { - "attributes": { - "constant": false, - "name": "owner", - "scope": 383, - "stateVariable": true, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "public" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 148, - "name": "ElementaryTypeName", - "src": "1980:7:2" - } - ], - "id": 149, - "name": "VariableDeclaration", - "src": "1980:20:2" - }, - { - "attributes": { - "constant": false, - "name": "balances", - "scope": 383, - "stateVariable": true, - "storageLocation": "default", - "type": "mapping(address => uint256)", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "type": "mapping(address => uint256)" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 150, - "name": "ElementaryTypeName", - "src": "2044:7:2" - }, - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 151, - "name": "ElementaryTypeName", - "src": "2055:7:2" - } - ], - "id": 152, - "name": "Mapping", - "src": "2036:27:2" - } - ], - "id": 153, - "name": "VariableDeclaration", - "src": "2036:36:2" - }, - { - "attributes": { - "constant": false, - "name": "allowed", - "scope": 383, - "stateVariable": true, - "storageLocation": "default", - "type": "mapping(address => mapping(address => uint256))", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "type": "mapping(address => mapping(address => uint256))" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 154, - "name": "ElementaryTypeName", - "src": "2161:7:2" - }, - { - "attributes": { - "type": "mapping(address => uint256)" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 155, - "name": "ElementaryTypeName", - "src": "2181:7:2" - }, - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 156, - "name": "ElementaryTypeName", - "src": "2192:7:2" - } - ], - "id": 157, - "name": "Mapping", - "src": "2172:28:2" - } - ], - "id": 158, - "name": "Mapping", - "src": "2153:48:2" - } - ], - "id": 159, - "name": "VariableDeclaration", - "src": "2153:56:2" - }, - { - "attributes": { - "name": "onlyOwner", - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 160, - "name": "ParameterList", - "src": "2300:2:2" - }, - { - "children": [ - { - "attributes": { - "falseBody": null - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "!=", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1038, - "type": "msg", - "value": "msg" - }, - "id": 161, - "name": "Identifier", - "src": "2313:3:2" - } - ], - "id": 162, - "name": "MemberAccess", - "src": "2313:10:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 149, - "type": "address", - "value": "owner" - }, - "id": 163, - "name": "Identifier", - "src": "2327:5:2" - } - ], - "id": 164, - "name": "BinaryOperation", - "src": "2313:19:2" - }, - { - "children": [ - { - "children": [], - "id": 165, - "name": "Throw", - "src": "2342:5:2" - } - ], - "id": 166, - "name": "Block", - "src": "2334:20:2" - } - ], - "id": 167, - "name": "IfStatement", - "src": "2309:45:2" - }, - { - "id": 168, - "name": "PlaceholderStatement", - "src": "2359:1:2" - } - ], - "id": 169, - "name": "Block", - "src": "2303:62:2" - } - ], - "id": 170, - "name": "ModifierDefinition", - "src": "2282:83:2" - }, - { - "attributes": { - "constant": false, - "implemented": true, - "isConstructor": true, - "modifiers": [ - null - ], - "name": "FixedSupplyToken", - "payable": false, - "scope": 383, - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 171, - "name": "ParameterList", - "src": "2411:2:2" - }, - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 172, - "name": "ParameterList", - "src": "2414:0:2" - }, - { - "children": [ - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "=", - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 149, - "type": "address", - "value": "owner" - }, - "id": 173, - "name": "Identifier", - "src": "2420:5:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1038, - "type": "msg", - "value": "msg" - }, - "id": 174, - "name": "Identifier", - "src": "2428:3:2" - } - ], - "id": 175, - "name": "MemberAccess", - "src": "2428:10:2" - } - ], - "id": 176, - "name": "Assignment", - "src": "2420:18:2" - } - ], - "id": 177, - "name": "ExpressionStatement", - "src": "2420:18:2" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "=", - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 153, - "type": "mapping(address => uint256)", - "value": "balances" - }, - "id": 178, - "name": "Identifier", - "src": "2444:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 149, - "type": "address", - "value": "owner" - }, - "id": 179, - "name": "Identifier", - "src": "2453:5:2" - } - ], - "id": 180, - "name": "IndexAccess", - "src": "2444:15:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 147, - "type": "uint256", - "value": "_totalSupply" - }, - "id": 181, - "name": "Identifier", - "src": "2462:12:2" - } - ], - "id": 182, - "name": "Assignment", - "src": "2444:30:2" - } - ], - "id": 183, - "name": "ExpressionStatement", - "src": "2444:30:2" - } - ], - "id": 184, - "name": "Block", - "src": "2414:65:2" - } - ], - "id": 185, - "name": "FunctionDefinition", - "src": "2386:93:2" - }, - { - "attributes": { - "constant": true, - "implemented": true, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "totalSupply", - "payable": false, - "scope": 383, - "stateMutability": "view", - "superFunction": 71, - "visibility": "public" - }, - "children": [ - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 186, - "name": "ParameterList", - "src": "2503:2:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "totalSupply", - "scope": 195, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 187, - "name": "ElementaryTypeName", - "src": "2524:7:2" - } - ], - "id": 188, - "name": "VariableDeclaration", - "src": "2524:19:2" - } - ], - "id": 189, - "name": "ParameterList", - "src": "2523:21:2" - }, - { - "children": [ - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "=", - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 188, - "type": "uint256", - "value": "totalSupply" - }, - "id": 190, - "name": "Identifier", - "src": "2551:11:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 147, - "type": "uint256", - "value": "_totalSupply" - }, - "id": 191, - "name": "Identifier", - "src": "2565:12:2" - } - ], - "id": 192, - "name": "Assignment", - "src": "2551:26:2" - } - ], - "id": 193, - "name": "ExpressionStatement", - "src": "2551:26:2" - } - ], - "id": 194, - "name": "Block", - "src": "2545:37:2" - } - ], - "id": 195, - "name": "FunctionDefinition", - "src": "2483:99:2" - }, - { - "attributes": { - "constant": true, - "implemented": true, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "balanceOf", - "payable": false, - "scope": 383, - "stateMutability": "view", - "superFunction": 78, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "_owner", - "scope": 207, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 196, - "name": "ElementaryTypeName", - "src": "2655:7:2" - } - ], - "id": 197, - "name": "VariableDeclaration", - "src": "2655:14:2" - } - ], - "id": 198, - "name": "ParameterList", - "src": "2654:16:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "balance", - "scope": 207, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 199, - "name": "ElementaryTypeName", - "src": "2689:7:2" - } - ], - "id": 200, - "name": "VariableDeclaration", - "src": "2689:15:2" - } - ], - "id": 201, - "name": "ParameterList", - "src": "2688:17:2" - }, - { - "children": [ - { - "attributes": { - "functionReturnParameters": 201 - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 153, - "type": "mapping(address => uint256)", - "value": "balances" - }, - "id": 202, - "name": "Identifier", - "src": "2719:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 197, - "type": "address", - "value": "_owner" - }, - "id": 203, - "name": "Identifier", - "src": "2728:6:2" - } - ], - "id": 204, - "name": "IndexAccess", - "src": "2719:16:2" - } - ], - "id": 205, - "name": "Return", - "src": "2712:23:2" - } - ], - "id": 206, - "name": "Block", - "src": "2706:34:2" - } - ], - "id": 207, - "name": "FunctionDefinition", - "src": "2636:104:2" - }, - { - "attributes": { - "constant": false, - "implemented": true, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "transfer", - "payable": false, - "scope": 383, - "stateMutability": "nonpayable", - "superFunction": 87, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "_to", - "scope": 264, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 208, - "name": "ElementaryTypeName", - "src": "2828:7:2" - } - ], - "id": 209, - "name": "VariableDeclaration", - "src": "2828:11:2" - }, - { - "attributes": { - "constant": false, - "name": "_amount", - "scope": 264, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 210, - "name": "ElementaryTypeName", - "src": "2841:7:2" - } - ], - "id": 211, - "name": "VariableDeclaration", - "src": "2841:15:2" - } - ], - "id": 212, - "name": "ParameterList", - "src": "2827:30:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "success", - "scope": 264, - "stateVariable": false, - "storageLocation": "default", - "type": "bool", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bool", - "type": "bool" - }, - "id": 213, - "name": "ElementaryTypeName", - "src": "2867:4:2" - } - ], - "id": 214, - "name": "VariableDeclaration", - "src": "2867:12:2" - } - ], - "id": 215, - "name": "ParameterList", - "src": "2866:14:2" - }, - { - "children": [ - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "&&", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "&&", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": ">=", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 153, - "type": "mapping(address => uint256)", - "value": "balances" - }, - "id": 216, - "name": "Identifier", - "src": "2891:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1038, - "type": "msg", - "value": "msg" - }, - "id": 217, - "name": "Identifier", - "src": "2900:3:2" - } - ], - "id": 218, - "name": "MemberAccess", - "src": "2900:10:2" - } - ], - "id": 219, - "name": "IndexAccess", - "src": "2891:20:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 211, - "type": "uint256", - "value": "_amount" - }, - "id": 220, - "name": "Identifier", - "src": "2915:7:2" - } - ], - "id": 221, - "name": "BinaryOperation", - "src": "2891:31:2" - }, - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": ">", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 211, - "type": "uint256", - "value": "_amount" - }, - "id": 222, - "name": "Identifier", - "src": "2926:7:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "30", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "number", - "type": "int_const 0", - "value": "0" - }, - "id": 223, - "name": "Literal", - "src": "2936:1:2" - } - ], - "id": 224, - "name": "BinaryOperation", - "src": "2926:11:2" - } - ], - "id": 225, - "name": "BinaryOperation", - "src": "2891:46:2" - }, - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": ">", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "+", - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 153, - "type": "mapping(address => uint256)", - "value": "balances" - }, - "id": 226, - "name": "Identifier", - "src": "2941:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 209, - "type": "address", - "value": "_to" - }, - "id": 227, - "name": "Identifier", - "src": "2950:3:2" - } - ], - "id": 228, - "name": "IndexAccess", - "src": "2941:13:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 211, - "type": "uint256", - "value": "_amount" - }, - "id": 229, - "name": "Identifier", - "src": "2957:7:2" - } - ], - "id": 230, - "name": "BinaryOperation", - "src": "2941:23:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 153, - "type": "mapping(address => uint256)", - "value": "balances" - }, - "id": 231, - "name": "Identifier", - "src": "2967:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 209, - "type": "address", - "value": "_to" - }, - "id": 232, - "name": "Identifier", - "src": "2976:3:2" - } - ], - "id": 233, - "name": "IndexAccess", - "src": "2967:13:2" - } - ], - "id": 234, - "name": "BinaryOperation", - "src": "2941:39:2" - } - ], - "id": 235, - "name": "BinaryOperation", - "src": "2891:89:2" - }, - { - "children": [ - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "-=", - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 153, - "type": "mapping(address => uint256)", - "value": "balances" - }, - "id": 236, - "name": "Identifier", - "src": "2990:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1038, - "type": "msg", - "value": "msg" - }, - "id": 237, - "name": "Identifier", - "src": "2999:3:2" - } - ], - "id": 238, - "name": "MemberAccess", - "src": "2999:10:2" - } - ], - "id": 239, - "name": "IndexAccess", - "src": "2990:20:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 211, - "type": "uint256", - "value": "_amount" - }, - "id": 240, - "name": "Identifier", - "src": "3014:7:2" - } - ], - "id": 241, - "name": "Assignment", - "src": "2990:31:2" - } - ], - "id": 242, - "name": "ExpressionStatement", - "src": "2990:31:2" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "+=", - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 153, - "type": "mapping(address => uint256)", - "value": "balances" - }, - "id": 243, - "name": "Identifier", - "src": "3029:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 209, - "type": "address", - "value": "_to" - }, - "id": 244, - "name": "Identifier", - "src": "3038:3:2" - } - ], - "id": 245, - "name": "IndexAccess", - "src": "3029:13:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 211, - "type": "uint256", - "value": "_amount" - }, - "id": 246, - "name": "Identifier", - "src": "3046:7:2" - } - ], - "id": 247, - "name": "Assignment", - "src": "3029:24:2" - } - ], - "id": 248, - "name": "ExpressionStatement", - "src": "3029:24:2" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "tuple()", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 124, - "type": "function (address,address,uint256)", - "value": "Transfer" - }, - "id": 249, - "name": "Identifier", - "src": "3061:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1038, - "type": "msg", - "value": "msg" - }, - "id": 250, - "name": "Identifier", - "src": "3070:3:2" - } - ], - "id": 251, - "name": "MemberAccess", - "src": "3070:10:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 209, - "type": "address", - "value": "_to" - }, - "id": 252, - "name": "Identifier", - "src": "3082:3:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 211, - "type": "uint256", - "value": "_amount" - }, - "id": 253, - "name": "Identifier", - "src": "3087:7:2" - } - ], - "id": 254, - "name": "FunctionCall", - "src": "3061:34:2" - } - ], - "id": 255, - "name": "ExpressionStatement", - "src": "3061:34:2" - }, - { - "attributes": { - "functionReturnParameters": 215 - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "hexvalue": "74727565", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "bool", - "type": "bool", - "value": "true" - }, - "id": 256, - "name": "Literal", - "src": "3110:4:2" - } - ], - "id": 257, - "name": "Return", - "src": "3103:11:2" - } - ], - "id": 258, - "name": "Block", - "src": "2982:139:2" - }, - { - "children": [ - { - "attributes": { - "functionReturnParameters": 215 - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "hexvalue": "66616c7365", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "bool", - "type": "bool", - "value": "false" - }, - "id": 259, - "name": "Literal", - "src": "3144:5:2" - } - ], - "id": 260, - "name": "Return", - "src": "3137:12:2" - } - ], - "id": 261, - "name": "Block", - "src": "3127:29:2" - } - ], - "id": 262, - "name": "IfStatement", - "src": "2887:269:2" - } - ], - "id": 263, - "name": "Block", - "src": "2881:279:2" - } - ], - "id": 264, - "name": "FunctionDefinition", - "src": "2810:350:2" - }, - { - "attributes": { - "constant": false, - "implemented": true, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "transferFrom", - "payable": false, - "scope": 383, - "stateMutability": "nonpayable", - "superFunction": 98, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "_from", - "scope": 338, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 265, - "name": "ElementaryTypeName", - "src": "3653:7:2" - } - ], - "id": 266, - "name": "VariableDeclaration", - "src": "3653:13:2" - }, - { - "attributes": { - "constant": false, - "name": "_to", - "scope": 338, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 267, - "name": "ElementaryTypeName", - "src": "3674:7:2" - } - ], - "id": 268, - "name": "VariableDeclaration", - "src": "3674:11:2" - }, - { - "attributes": { - "constant": false, - "name": "_amount", - "scope": 338, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 269, - "name": "ElementaryTypeName", - "src": "3693:7:2" - } - ], - "id": 270, - "name": "VariableDeclaration", - "src": "3693:15:2" - } - ], - "id": 271, - "name": "ParameterList", - "src": "3645:67:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "success", - "scope": 338, - "stateVariable": false, - "storageLocation": "default", - "type": "bool", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bool", - "type": "bool" - }, - "id": 272, - "name": "ElementaryTypeName", - "src": "3722:4:2" - } - ], - "id": 273, - "name": "VariableDeclaration", - "src": "3722:12:2" - } - ], - "id": 274, - "name": "ParameterList", - "src": "3721:14:2" - }, - { - "children": [ - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "&&", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "&&", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "&&", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": ">=", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 153, - "type": "mapping(address => uint256)", - "value": "balances" - }, - "id": 275, - "name": "Identifier", - "src": "3746:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 266, - "type": "address", - "value": "_from" - }, - "id": 276, - "name": "Identifier", - "src": "3755:5:2" - } - ], - "id": 277, - "name": "IndexAccess", - "src": "3746:15:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 270, - "type": "uint256", - "value": "_amount" - }, - "id": 278, - "name": "Identifier", - "src": "3765:7:2" - } - ], - "id": 279, - "name": "BinaryOperation", - "src": "3746:26:2" - }, - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": ">=", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "mapping(address => uint256)" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 159, - "type": "mapping(address => mapping(address => uint256))", - "value": "allowed" - }, - "id": 280, - "name": "Identifier", - "src": "3776:7:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 266, - "type": "address", - "value": "_from" - }, - "id": 281, - "name": "Identifier", - "src": "3784:5:2" - } - ], - "id": 282, - "name": "IndexAccess", - "src": "3776:14:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1038, - "type": "msg", - "value": "msg" - }, - "id": 283, - "name": "Identifier", - "src": "3791:3:2" - } - ], - "id": 284, - "name": "MemberAccess", - "src": "3791:10:2" - } - ], - "id": 285, - "name": "IndexAccess", - "src": "3776:26:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 270, - "type": "uint256", - "value": "_amount" - }, - "id": 286, - "name": "Identifier", - "src": "3806:7:2" - } - ], - "id": 287, - "name": "BinaryOperation", - "src": "3776:37:2" - } - ], - "id": 288, - "name": "BinaryOperation", - "src": "3746:67:2" - }, - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": ">", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 270, - "type": "uint256", - "value": "_amount" - }, - "id": 289, - "name": "Identifier", - "src": "3817:7:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "30", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "number", - "type": "int_const 0", - "value": "0" - }, - "id": 290, - "name": "Literal", - "src": "3827:1:2" - } - ], - "id": 291, - "name": "BinaryOperation", - "src": "3817:11:2" - } - ], - "id": 292, - "name": "BinaryOperation", - "src": "3746:82:2" - }, - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": ">", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "+", - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 153, - "type": "mapping(address => uint256)", - "value": "balances" - }, - "id": 293, - "name": "Identifier", - "src": "3832:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 268, - "type": "address", - "value": "_to" - }, - "id": 294, - "name": "Identifier", - "src": "3841:3:2" - } - ], - "id": 295, - "name": "IndexAccess", - "src": "3832:13:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 270, - "type": "uint256", - "value": "_amount" - }, - "id": 296, - "name": "Identifier", - "src": "3848:7:2" - } - ], - "id": 297, - "name": "BinaryOperation", - "src": "3832:23:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 153, - "type": "mapping(address => uint256)", - "value": "balances" - }, - "id": 298, - "name": "Identifier", - "src": "3858:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 268, - "type": "address", - "value": "_to" - }, - "id": 299, - "name": "Identifier", - "src": "3867:3:2" - } - ], - "id": 300, - "name": "IndexAccess", - "src": "3858:13:2" - } - ], - "id": 301, - "name": "BinaryOperation", - "src": "3832:39:2" - } - ], - "id": 302, - "name": "BinaryOperation", - "src": "3746:125:2" - }, - { - "children": [ - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "-=", - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 153, - "type": "mapping(address => uint256)", - "value": "balances" - }, - "id": 303, - "name": "Identifier", - "src": "3882:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 266, - "type": "address", - "value": "_from" - }, - "id": 304, - "name": "Identifier", - "src": "3891:5:2" - } - ], - "id": 305, - "name": "IndexAccess", - "src": "3882:15:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 270, - "type": "uint256", - "value": "_amount" - }, - "id": 306, - "name": "Identifier", - "src": "3901:7:2" - } - ], - "id": 307, - "name": "Assignment", - "src": "3882:26:2" - } - ], - "id": 308, - "name": "ExpressionStatement", - "src": "3882:26:2" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "-=", - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "mapping(address => uint256)" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 159, - "type": "mapping(address => mapping(address => uint256))", - "value": "allowed" - }, - "id": 309, - "name": "Identifier", - "src": "3917:7:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 266, - "type": "address", - "value": "_from" - }, - "id": 310, - "name": "Identifier", - "src": "3925:5:2" - } - ], - "id": 313, - "name": "IndexAccess", - "src": "3917:14:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1038, - "type": "msg", - "value": "msg" - }, - "id": 311, - "name": "Identifier", - "src": "3932:3:2" - } - ], - "id": 312, - "name": "MemberAccess", - "src": "3932:10:2" - } - ], - "id": 314, - "name": "IndexAccess", - "src": "3917:26:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 270, - "type": "uint256", - "value": "_amount" - }, - "id": 315, - "name": "Identifier", - "src": "3947:7:2" - } - ], - "id": 316, - "name": "Assignment", - "src": "3917:37:2" - } - ], - "id": 317, - "name": "ExpressionStatement", - "src": "3917:37:2" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "+=", - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 153, - "type": "mapping(address => uint256)", - "value": "balances" - }, - "id": 318, - "name": "Identifier", - "src": "3963:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 268, - "type": "address", - "value": "_to" - }, - "id": 319, - "name": "Identifier", - "src": "3972:3:2" - } - ], - "id": 320, - "name": "IndexAccess", - "src": "3963:13:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 270, - "type": "uint256", - "value": "_amount" - }, - "id": 321, - "name": "Identifier", - "src": "3980:7:2" - } - ], - "id": 322, - "name": "Assignment", - "src": "3963:24:2" - } - ], - "id": 323, - "name": "ExpressionStatement", - "src": "3963:24:2" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "tuple()", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 124, - "type": "function (address,address,uint256)", - "value": "Transfer" - }, - "id": 324, - "name": "Identifier", - "src": "3996:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 266, - "type": "address", - "value": "_from" - }, - "id": 325, - "name": "Identifier", - "src": "4005:5:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 268, - "type": "address", - "value": "_to" - }, - "id": 326, - "name": "Identifier", - "src": "4012:3:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 270, - "type": "uint256", - "value": "_amount" - }, - "id": 327, - "name": "Identifier", - "src": "4017:7:2" - } - ], - "id": 328, - "name": "FunctionCall", - "src": "3996:29:2" - } - ], - "id": 329, - "name": "ExpressionStatement", - "src": "3996:29:2" - }, - { - "attributes": { - "functionReturnParameters": 274 - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "hexvalue": "74727565", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "bool", - "type": "bool", - "value": "true" - }, - "id": 330, - "name": "Literal", - "src": "4041:4:2" - } - ], - "id": 331, - "name": "Return", - "src": "4034:11:2" - } - ], - "id": 332, - "name": "Block", - "src": "3873:179:2" - }, - { - "children": [ - { - "attributes": { - "functionReturnParameters": 274 - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "hexvalue": "66616c7365", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "bool", - "type": "bool", - "value": "false" - }, - "id": 333, - "name": "Literal", - "src": "4073:5:2" - } - ], - "id": 334, - "name": "Return", - "src": "4066:12:2" - } - ], - "id": 335, - "name": "Block", - "src": "4058:27:2" - } - ], - "id": 336, - "name": "IfStatement", - "src": "3742:343:2" - } - ], - "id": 337, - "name": "Block", - "src": "3736:352:2" - } - ], - "id": 338, - "name": "FunctionDefinition", - "src": "3624:464:2" - }, - { - "attributes": { - "constant": false, - "implemented": true, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "approve", - "payable": false, - "scope": 383, - "stateMutability": "nonpayable", - "superFunction": 107, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "_spender", - "scope": 366, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 339, - "name": "ElementaryTypeName", - "src": "4288:7:2" - } - ], - "id": 340, - "name": "VariableDeclaration", - "src": "4288:16:2" - }, - { - "attributes": { - "constant": false, - "name": "_amount", - "scope": 366, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 341, - "name": "ElementaryTypeName", - "src": "4306:7:2" - } - ], - "id": 342, - "name": "VariableDeclaration", - "src": "4306:15:2" - } - ], - "id": 343, - "name": "ParameterList", - "src": "4287:35:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "success", - "scope": 366, - "stateVariable": false, - "storageLocation": "default", - "type": "bool", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bool", - "type": "bool" - }, - "id": 344, - "name": "ElementaryTypeName", - "src": "4332:4:2" - } - ], - "id": 345, - "name": "VariableDeclaration", - "src": "4332:12:2" - } - ], - "id": 346, - "name": "ParameterList", - "src": "4331:14:2" - }, - { - "children": [ - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "=", - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "mapping(address => uint256)" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 159, - "type": "mapping(address => mapping(address => uint256))", - "value": "allowed" - }, - "id": 347, - "name": "Identifier", - "src": "4352:7:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1038, - "type": "msg", - "value": "msg" - }, - "id": 348, - "name": "Identifier", - "src": "4360:3:2" - } - ], - "id": 349, - "name": "MemberAccess", - "src": "4360:10:2" - } - ], - "id": 351, - "name": "IndexAccess", - "src": "4352:19:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 340, - "type": "address", - "value": "_spender" - }, - "id": 350, - "name": "Identifier", - "src": "4372:8:2" - } - ], - "id": 352, - "name": "IndexAccess", - "src": "4352:29:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 342, - "type": "uint256", - "value": "_amount" - }, - "id": 353, - "name": "Identifier", - "src": "4384:7:2" - } - ], - "id": 354, - "name": "Assignment", - "src": "4352:39:2" - } - ], - "id": 355, - "name": "ExpressionStatement", - "src": "4352:39:2" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "tuple()", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 132, - "type": "function (address,address,uint256)", - "value": "Approval" - }, - "id": 356, - "name": "Identifier", - "src": "4397:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1038, - "type": "msg", - "value": "msg" - }, - "id": 357, - "name": "Identifier", - "src": "4406:3:2" - } - ], - "id": 358, - "name": "MemberAccess", - "src": "4406:10:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 340, - "type": "address", - "value": "_spender" - }, - "id": 359, - "name": "Identifier", - "src": "4418:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 342, - "type": "uint256", - "value": "_amount" - }, - "id": 360, - "name": "Identifier", - "src": "4428:7:2" - } - ], - "id": 361, - "name": "FunctionCall", - "src": "4397:39:2" - } - ], - "id": 362, - "name": "ExpressionStatement", - "src": "4397:39:2" - }, - { - "attributes": { - "functionReturnParameters": 346 - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "hexvalue": "74727565", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "bool", - "type": "bool", - "value": "true" - }, - "id": 363, - "name": "Literal", - "src": "4449:4:2" - } - ], - "id": 364, - "name": "Return", - "src": "4442:11:2" - } - ], - "id": 365, - "name": "Block", - "src": "4346:112:2" - } - ], - "id": 366, - "name": "FunctionDefinition", - "src": "4271:187:2" - }, - { - "attributes": { - "constant": true, - "implemented": true, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "allowance", - "payable": false, - "scope": 383, - "stateMutability": "view", - "superFunction": 116, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "_owner", - "scope": 382, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 367, - "name": "ElementaryTypeName", - "src": "4481:7:2" - } - ], - "id": 368, - "name": "VariableDeclaration", - "src": "4481:14:2" - }, - { - "attributes": { - "constant": false, - "name": "_spender", - "scope": 382, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 369, - "name": "ElementaryTypeName", - "src": "4497:7:2" - } - ], - "id": 370, - "name": "VariableDeclaration", - "src": "4497:16:2" - } - ], - "id": 371, - "name": "ParameterList", - "src": "4480:34:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "remaining", - "scope": 382, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 372, - "name": "ElementaryTypeName", - "src": "4533:7:2" - } - ], - "id": 373, - "name": "VariableDeclaration", - "src": "4533:17:2" - } - ], - "id": 374, - "name": "ParameterList", - "src": "4532:19:2" - }, - { - "children": [ - { - "attributes": { - "functionReturnParameters": 374 - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "mapping(address => uint256)" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 159, - "type": "mapping(address => mapping(address => uint256))", - "value": "allowed" - }, - "id": 375, - "name": "Identifier", - "src": "4565:7:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 368, - "type": "address", - "value": "_owner" - }, - "id": 376, - "name": "Identifier", - "src": "4573:6:2" - } - ], - "id": 377, - "name": "IndexAccess", - "src": "4565:15:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 370, - "type": "address", - "value": "_spender" - }, - "id": 378, - "name": "Identifier", - "src": "4581:8:2" - } - ], - "id": 379, - "name": "IndexAccess", - "src": "4565:25:2" - } - ], - "id": 380, - "name": "Return", - "src": "4558:32:2" - } - ], - "id": 381, - "name": "Block", - "src": "4552:43:2" - } - ], - "id": 382, - "name": "FunctionDefinition", - "src": "4462:133:2" - } - ], - "id": 383, - "name": "ContractDefinition", - "src": "1723:2874:2" - } - ], - "id": 384, - "name": "SourceUnit", - "src": "0:4597:2" - }, - "compiler": { - "name": "solc", - "version": "0.4.18+commit.9cf6e910.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "1.0.1", - "updatedAt": "2017-11-14T17:11:41.234Z" -} \ No newline at end of file diff --git a/build/contracts/Forwarder.json b/build/contracts/Forwarder.json deleted file mode 100644 index f537087..0000000 --- a/build/contracts/Forwarder.json +++ /dev/null @@ -1,1862 +0,0 @@ -{ - "contractName": "Forwarder", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "parentAddress", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "tokenContractAddress", - "type": "address" - } - ], - "name": "flushTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "flush", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "from", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - }, - { - "indexed": false, - "name": "data", - "type": "bytes" - } - ], - "name": "ForwarderDeposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "tokenContractAddress", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "TokensFlushed", - "type": "event" - } - ], - "bytecode": "0x6060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506105568061005e6000396000f300606060405260043610610056576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062821de3146101555780633ef13367146101aa5780636b9f96ea146101e3575b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346000366040518083838082843782019150509250505060006040518083038185876187965a03f19250505015156100c557600080fd5b7f69b31548dea9b3b707b4dff357d326e3e9348b24e7a6080a218a6edeeec48f9b3334600036604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a1005b341561016057600080fd5b6101686101f8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101b557600080fd5b6101e1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061021d565b005b34156101ee57600080fd5b6101f66104b5565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561027d57600080fd5b8392503091508273ffffffffffffffffffffffffffffffffffffffff166370a08231836000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561032657600080fd5b6102c65a03f1151561033757600080fd5b5050506040518051905090506000811415610351576104af565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561041d57600080fd5b6102c65a03f1151561042e57600080fd5b50505060405180519050151561044357600080fd5b7f9401e4e79c19cbe2bd774cb70a94ba660e6718be1bac1298ab3b07f454a608218482604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b50505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff163160405160006040518083038185876187965a03f192505050151561052857600080fd5b5600a165627a7a72305820481f5b3456cf3fd8a7d5ad98e246bc195410a0cdad55b12c0e96e72b5220399c0029", - "deployedBytecode": "0x606060405260043610610056576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062821de3146101555780633ef13367146101aa5780636b9f96ea146101e3575b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346000366040518083838082843782019150509250505060006040518083038185876187965a03f19250505015156100c557600080fd5b7f69b31548dea9b3b707b4dff357d326e3e9348b24e7a6080a218a6edeeec48f9b3334600036604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a1005b341561016057600080fd5b6101686101f8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101b557600080fd5b6101e1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061021d565b005b34156101ee57600080fd5b6101f66104b5565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561027d57600080fd5b8392503091508273ffffffffffffffffffffffffffffffffffffffff166370a08231836000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561032657600080fd5b6102c65a03f1151561033757600080fd5b5050506040518051905090506000811415610351576104af565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561041d57600080fd5b6102c65a03f1151561042e57600080fd5b50505060405180519050151561044357600080fd5b7f9401e4e79c19cbe2bd774cb70a94ba660e6718be1bac1298ab3b07f454a608218482604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b50505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff163160405160006040518083038185876187965a03f192505050151561052857600080fd5b5600a165627a7a72305820481f5b3456cf3fd8a7d5ad98e246bc195410a0cdad55b12c0e96e72b5220399c0029", - "sourceMap": "128:1908:1:-;;;554:58;;;;;;;;597:10;581:13;;:26;;;;;;;;;;;;;;;;;;128:1908;;;;;;", - "deployedSourceMap": "128:1908:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;976:13;;;;;;;;;;;:18;;1001:9;1012:8;;976:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;975:46;971:63;;;1029:5;;;971:63;1099:51;1118:10;1130:9;1141:8;;1099:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;128:1908;223:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1347:436;;;;;;;;;;;;;;;;;;;;;;;;;;;;1948:86;;;;;;;;;;;;;;223:28;;;;;;;;;;;;;:::o;1347:436::-;1415:23;1483:20;1525;781:13;;;;;;;;;;;767:27;;:10;:27;;;;763:53;;;804:5;;;763:53;1456:20;1415:62;;1514:4;1483:36;;1548:8;:18;;;1567:16;1548:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1525:59;;1614:1;1594:16;:21;1590:48;;;1625:7;;1590:48;1648:8;:17;;;1666:13;;;;;;;;;;;1681:16;1648:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1647:51;1643:77;;;1708:5;;;1643:77;1725:53;1739:20;1761:16;1725:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;821:1;1347:436;;;;:::o;1948:86::-;1976:13;;;;;;;;;;;:18;;2001:4;:12;;;1976:40;;;;;;;;;;;;;;;;;;;1975:41;1971:58;;;2024:5;;;1971:58;1948:86::o", - "source": "pragma solidity ^0.4.18;\nimport \"./ERC20Interface.sol\";\n/**\n * Contract that will forward any incoming Ether to its creator\n */\ncontract Forwarder {\n // Address to which any funds sent to this contract will be forwarded\n address public parentAddress;\n event ForwarderDeposited(address from, uint value, bytes data);\n\n event TokensFlushed(\n address tokenContractAddress, // The contract address of the token\n uint value // Amount of token sent\n );\n\n /**\n * Create the contract, and set the destination address to that of the creator\n */\n function Forwarder() {\n parentAddress = msg.sender;\n }\n\n /**\n * Modifier that will execute internal code block only if the sender is a parent of the forwarder contract\n */\n modifier onlyParent {\n if (msg.sender != parentAddress) {\n throw;\n }\n _;\n }\n\n /**\n * Default function; Gets called when Ether is deposited, and forwards it to the destination address\n */\n function() payable {\n if (!parentAddress.call.value(msg.value)(msg.data))\n throw;\n // Fire off the deposited event if we can forward it \n ForwarderDeposited(msg.sender, msg.value, msg.data);\n }\n\n /**\n * Execute a token transfer of the full balance from the forwarder token to the main wallet contract\n * @param tokenContractAddress the address of the erc20 token contract\n */\n function flushTokens(address tokenContractAddress) onlyParent {\n ERC20Interface instance = ERC20Interface(tokenContractAddress);\n var forwarderAddress = address(this);\n var forwarderBalance = instance.balanceOf(forwarderAddress);\n if (forwarderBalance == 0) {\n return;\n }\n if (!instance.transfer(parentAddress, forwarderBalance)) {\n throw;\n }\n TokensFlushed(tokenContractAddress, forwarderBalance);\n }\n\n /**\n * It is possible that funds were sent to this address before the contract was deployed.\n * We can flush those funds to the destination address.\n */\n function flush() {\n if (!parentAddress.call.value(this.balance)())\n throw;\n }\n}\n", - "sourcePath": "/home/bitgotto/src/BitGo/eth-multisig-v2/contracts/Forwarder.sol", - "ast": { - "attributes": { - "absolutePath": "/home/bitgotto/src/BitGo/eth-multisig-v2/contracts/Forwarder.sol", - "exportedSymbols": { - "Forwarder": [ - 142 - ] - } - }, - "children": [ - { - "attributes": { - "literals": [ - "solidity", - "^", - "0.4", - ".18" - ] - }, - "id": 20, - "name": "PragmaDirective", - "src": "0:24:1" - }, - { - "attributes": { - "SourceUnit": 19, - "absolutePath": "/home/bitgotto/src/BitGo/eth-multisig-v2/contracts/ERC20Interface.sol", - "file": "./ERC20Interface.sol", - "scope": 143, - "symbolAliases": [ - null - ], - "unitAlias": "" - }, - "id": 21, - "name": "ImportDirective", - "src": "25:30:1" - }, - { - "attributes": { - "baseContracts": [ - null - ], - "contractDependencies": [ - null - ], - "contractKind": "contract", - "documentation": "Contract that will forward any incoming Ether to its creator", - "fullyImplemented": true, - "linearizedBaseContracts": [ - 142 - ], - "name": "Forwarder", - "scope": 143 - }, - "children": [ - { - "attributes": { - "constant": false, - "name": "parentAddress", - "scope": 142, - "stateVariable": true, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "public" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 22, - "name": "ElementaryTypeName", - "src": "223:7:1" - } - ], - "id": 23, - "name": "VariableDeclaration", - "src": "223:28:1" - }, - { - "attributes": { - "anonymous": false, - "name": "ForwarderDeposited" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "indexed": false, - "name": "from", - "scope": 31, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 24, - "name": "ElementaryTypeName", - "src": "280:7:1" - } - ], - "id": 25, - "name": "VariableDeclaration", - "src": "280:12:1" - }, - { - "attributes": { - "constant": false, - "indexed": false, - "name": "value", - "scope": 31, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint", - "type": "uint256" - }, - "id": 26, - "name": "ElementaryTypeName", - "src": "294:4:1" - } - ], - "id": 27, - "name": "VariableDeclaration", - "src": "294:10:1" - }, - { - "attributes": { - "constant": false, - "indexed": false, - "name": "data", - "scope": 31, - "stateVariable": false, - "storageLocation": "default", - "type": "bytes memory", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bytes", - "type": "bytes storage pointer" - }, - "id": 28, - "name": "ElementaryTypeName", - "src": "306:5:1" - } - ], - "id": 29, - "name": "VariableDeclaration", - "src": "306:10:1" - } - ], - "id": 30, - "name": "ParameterList", - "src": "279:38:1" - } - ], - "id": 31, - "name": "EventDefinition", - "src": "255:63:1" - }, - { - "attributes": { - "anonymous": false, - "name": "TokensFlushed" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "indexed": false, - "name": "tokenContractAddress", - "scope": 37, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 32, - "name": "ElementaryTypeName", - "src": "347:7:1" - } - ], - "id": 33, - "name": "VariableDeclaration", - "src": "347:28:1" - }, - { - "attributes": { - "constant": false, - "indexed": false, - "name": "value", - "scope": 37, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint", - "type": "uint256" - }, - "id": 34, - "name": "ElementaryTypeName", - "src": "418:4:1" - } - ], - "id": 35, - "name": "VariableDeclaration", - "src": "418:10:1" - } - ], - "id": 36, - "name": "ParameterList", - "src": "341:115:1" - } - ], - "id": 37, - "name": "EventDefinition", - "src": "322:135:1" - }, - { - "attributes": { - "constant": false, - "implemented": true, - "isConstructor": true, - "modifiers": [ - null - ], - "name": "Forwarder", - "payable": false, - "scope": 142, - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 38, - "name": "ParameterList", - "src": "572:2:1" - }, - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 39, - "name": "ParameterList", - "src": "575:0:1" - }, - { - "children": [ - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "=", - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 23, - "type": "address", - "value": "parentAddress" - }, - "id": 40, - "name": "Identifier", - "src": "581:13:1" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 673, - "type": "msg", - "value": "msg" - }, - "id": 41, - "name": "Identifier", - "src": "597:3:1" - } - ], - "id": 42, - "name": "MemberAccess", - "src": "597:10:1" - } - ], - "id": 43, - "name": "Assignment", - "src": "581:26:1" - } - ], - "id": 44, - "name": "ExpressionStatement", - "src": "581:26:1" - } - ], - "id": 45, - "name": "Block", - "src": "575:37:1" - } - ], - "id": 46, - "name": "FunctionDefinition", - "src": "554:58:1" - }, - { - "attributes": { - "name": "onlyParent", - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 47, - "name": "ParameterList", - "src": "757:0:1" - }, - { - "children": [ - { - "attributes": { - "falseBody": null - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "!=", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 673, - "type": "msg", - "value": "msg" - }, - "id": 48, - "name": "Identifier", - "src": "767:3:1" - } - ], - "id": 49, - "name": "MemberAccess", - "src": "767:10:1" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 23, - "type": "address", - "value": "parentAddress" - }, - "id": 50, - "name": "Identifier", - "src": "781:13:1" - } - ], - "id": 51, - "name": "BinaryOperation", - "src": "767:27:1" - }, - { - "children": [ - { - "children": [], - "id": 52, - "name": "Throw", - "src": "804:5:1" - } - ], - "id": 53, - "name": "Block", - "src": "796:20:1" - } - ], - "id": 54, - "name": "IfStatement", - "src": "763:53:1" - }, - { - "id": 55, - "name": "PlaceholderStatement", - "src": "821:1:1" - } - ], - "id": 56, - "name": "Block", - "src": "757:70:1" - } - ], - "id": 57, - "name": "ModifierDefinition", - "src": "737:90:1" - }, - { - "attributes": { - "constant": false, - "implemented": true, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "", - "payable": true, - "scope": 142, - "stateMutability": "payable", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 58, - "name": "ParameterList", - "src": "954:2:1" - }, - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 59, - "name": "ParameterList", - "src": "965:0:1" - }, - { - "children": [ - { - "attributes": { - "falseBody": null - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "!", - "prefix": true, - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "bool", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "function () payable returns (bool)", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "value", - "referencedDeclaration": null, - "type": "function (uint256) returns (function () payable returns (bool))" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "call", - "referencedDeclaration": null, - "type": "function () payable returns (bool)" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 23, - "type": "address", - "value": "parentAddress" - }, - "id": 60, - "name": "Identifier", - "src": "976:13:1" - } - ], - "id": 61, - "name": "MemberAccess", - "src": "976:18:1" - } - ], - "id": 62, - "name": "MemberAccess", - "src": "976:24:1" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "value", - "referencedDeclaration": null, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 673, - "type": "msg", - "value": "msg" - }, - "id": 63, - "name": "Identifier", - "src": "1001:3:1" - } - ], - "id": 64, - "name": "MemberAccess", - "src": "1001:9:1" - } - ], - "id": 65, - "name": "FunctionCall", - "src": "976:35:1" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "data", - "referencedDeclaration": null, - "type": "bytes calldata" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 673, - "type": "msg", - "value": "msg" - }, - "id": 66, - "name": "Identifier", - "src": "1012:3:1" - } - ], - "id": 67, - "name": "MemberAccess", - "src": "1012:8:1" - } - ], - "id": 68, - "name": "FunctionCall", - "src": "976:45:1" - } - ], - "id": 69, - "name": "UnaryOperation", - "src": "975:46:1" - }, - { - "children": [], - "id": 70, - "name": "Throw", - "src": "1029:5:1" - } - ], - "id": 71, - "name": "IfStatement", - "src": "971:63:1" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "tuple()", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 31, - "type": "function (address,uint256,bytes memory)", - "value": "ForwarderDeposited" - }, - "id": 72, - "name": "Identifier", - "src": "1099:18:1" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 673, - "type": "msg", - "value": "msg" - }, - "id": 73, - "name": "Identifier", - "src": "1118:3:1" - } - ], - "id": 74, - "name": "MemberAccess", - "src": "1118:10:1" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "value", - "referencedDeclaration": null, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 673, - "type": "msg", - "value": "msg" - }, - "id": 75, - "name": "Identifier", - "src": "1130:3:1" - } - ], - "id": 76, - "name": "MemberAccess", - "src": "1130:9:1" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "data", - "referencedDeclaration": null, - "type": "bytes calldata" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 673, - "type": "msg", - "value": "msg" - }, - "id": 77, - "name": "Identifier", - "src": "1141:3:1" - } - ], - "id": 78, - "name": "MemberAccess", - "src": "1141:8:1" - } - ], - "id": 79, - "name": "FunctionCall", - "src": "1099:51:1" - } - ], - "id": 80, - "name": "ExpressionStatement", - "src": "1099:51:1" - } - ], - "id": 81, - "name": "Block", - "src": "965:190:1" - } - ], - "id": 82, - "name": "FunctionDefinition", - "src": "946:209:1" - }, - { - "attributes": { - "constant": false, - "implemented": true, - "isConstructor": false, - "name": "flushTokens", - "payable": false, - "scope": 142, - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "tokenContractAddress", - "scope": 127, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 83, - "name": "ElementaryTypeName", - "src": "1368:7:1" - } - ], - "id": 84, - "name": "VariableDeclaration", - "src": "1368:28:1" - } - ], - "id": 85, - "name": "ParameterList", - "src": "1367:30:1" - }, - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 88, - "name": "ParameterList", - "src": "1409:0:1" - }, - { - "attributes": { - "arguments": [ - null - ] - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 57, - "type": "modifier ()", - "value": "onlyParent" - }, - "id": 86, - "name": "Identifier", - "src": "1398:10:1" - } - ], - "id": 87, - "name": "ModifierInvocation", - "src": "1398:10:1" - }, - { - "children": [ - { - "attributes": { - "assignments": [ - 90 - ] - }, - "children": [ - { - "attributes": { - "constant": false, - "name": "instance", - "scope": 127, - "stateVariable": false, - "storageLocation": "default", - "type": "contract ERC20Interface", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "contractScope": null, - "name": "ERC20Interface", - "referencedDeclaration": 18, - "type": "contract ERC20Interface" - }, - "id": 89, - "name": "UserDefinedTypeName", - "src": "1415:14:1" - } - ], - "id": 90, - "name": "VariableDeclaration", - "src": "1415:23:1" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "contract ERC20Interface", - "type_conversion": true - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 18, - "type": "type(contract ERC20Interface)", - "value": "ERC20Interface" - }, - "id": 91, - "name": "Identifier", - "src": "1441:14:1" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 84, - "type": "address", - "value": "tokenContractAddress" - }, - "id": 92, - "name": "Identifier", - "src": "1456:20:1" - } - ], - "id": 93, - "name": "FunctionCall", - "src": "1441:36:1" - } - ], - "id": 94, - "name": "VariableDeclarationStatement", - "src": "1415:62:1" - }, - { - "attributes": { - "assignments": [ - 95 - ] - }, - "children": [ - { - "attributes": { - "constant": false, - "name": "forwarderAddress", - "scope": 127, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "typeName": null, - "value": null, - "visibility": "internal" - }, - "children": [], - "id": 95, - "name": "VariableDeclaration", - "src": "1483:20:1" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "address", - "type_conversion": true - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Forwarder_$142", - "typeString": "contract Forwarder" - } - ], - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "type": "type(address)", - "value": "address" - }, - "id": 96, - "name": "ElementaryTypeNameExpression", - "src": "1506:7:1" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 686, - "type": "contract Forwarder", - "value": "this" - }, - "id": 97, - "name": "Identifier", - "src": "1514:4:1" - } - ], - "id": 98, - "name": "FunctionCall", - "src": "1506:13:1" - } - ], - "id": 99, - "name": "VariableDeclarationStatement", - "src": "1483:36:1" - }, - { - "attributes": { - "assignments": [ - 100 - ] - }, - "children": [ - { - "attributes": { - "constant": false, - "name": "forwarderBalance", - "scope": 127, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "typeName": null, - "value": null, - "visibility": "internal" - }, - "children": [], - "id": 100, - "name": "VariableDeclaration", - "src": "1525:20:1" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "uint256", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "balanceOf", - "referencedDeclaration": 17, - "type": "function (address) view external returns (uint256)" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 90, - "type": "contract ERC20Interface", - "value": "instance" - }, - "id": 101, - "name": "Identifier", - "src": "1548:8:1" - } - ], - "id": 102, - "name": "MemberAccess", - "src": "1548:18:1" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 95, - "type": "address", - "value": "forwarderAddress" - }, - "id": 103, - "name": "Identifier", - "src": "1567:16:1" - } - ], - "id": 104, - "name": "FunctionCall", - "src": "1548:36:1" - } - ], - "id": 105, - "name": "VariableDeclarationStatement", - "src": "1525:59:1" - }, - { - "attributes": { - "falseBody": null - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "==", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 100, - "type": "uint256", - "value": "forwarderBalance" - }, - "id": 106, - "name": "Identifier", - "src": "1594:16:1" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "30", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "number", - "type": "int_const 0", - "value": "0" - }, - "id": 107, - "name": "Literal", - "src": "1614:1:1" - } - ], - "id": 108, - "name": "BinaryOperation", - "src": "1594:21:1" - }, - { - "children": [ - { - "attributes": { - "expression": null, - "functionReturnParameters": 88 - }, - "id": 109, - "name": "Return", - "src": "1625:7:1" - } - ], - "id": 110, - "name": "Block", - "src": "1617:21:1" - } - ], - "id": 111, - "name": "IfStatement", - "src": "1590:48:1" - }, - { - "attributes": { - "falseBody": null - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "!", - "prefix": true, - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "bool", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "transfer", - "referencedDeclaration": 10, - "type": "function (address,uint256) external returns (bool)" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 90, - "type": "contract ERC20Interface", - "value": "instance" - }, - "id": 112, - "name": "Identifier", - "src": "1648:8:1" - } - ], - "id": 113, - "name": "MemberAccess", - "src": "1648:17:1" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 23, - "type": "address", - "value": "parentAddress" - }, - "id": 114, - "name": "Identifier", - "src": "1666:13:1" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 100, - "type": "uint256", - "value": "forwarderBalance" - }, - "id": 115, - "name": "Identifier", - "src": "1681:16:1" - } - ], - "id": 116, - "name": "FunctionCall", - "src": "1648:50:1" - } - ], - "id": 117, - "name": "UnaryOperation", - "src": "1647:51:1" - }, - { - "children": [ - { - "children": [], - "id": 118, - "name": "Throw", - "src": "1708:5:1" - } - ], - "id": 119, - "name": "Block", - "src": "1700:20:1" - } - ], - "id": 120, - "name": "IfStatement", - "src": "1643:77:1" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "tuple()", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 37, - "type": "function (address,uint256)", - "value": "TokensFlushed" - }, - "id": 121, - "name": "Identifier", - "src": "1725:13:1" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 84, - "type": "address", - "value": "tokenContractAddress" - }, - "id": 122, - "name": "Identifier", - "src": "1739:20:1" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 100, - "type": "uint256", - "value": "forwarderBalance" - }, - "id": 123, - "name": "Identifier", - "src": "1761:16:1" - } - ], - "id": 124, - "name": "FunctionCall", - "src": "1725:53:1" - } - ], - "id": 125, - "name": "ExpressionStatement", - "src": "1725:53:1" - } - ], - "id": 126, - "name": "Block", - "src": "1409:374:1" - } - ], - "id": 127, - "name": "FunctionDefinition", - "src": "1347:436:1" - }, - { - "attributes": { - "constant": false, - "implemented": true, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "flush", - "payable": false, - "scope": 142, - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 128, - "name": "ParameterList", - "src": "1962:2:1" - }, - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 129, - "name": "ParameterList", - "src": "1965:0:1" - }, - { - "children": [ - { - "attributes": { - "falseBody": null - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "!", - "prefix": true, - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "arguments": [ - null - ], - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "bool", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - null - ], - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "function () payable returns (bool)", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "value", - "referencedDeclaration": null, - "type": "function (uint256) returns (function () payable returns (bool))" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "call", - "referencedDeclaration": null, - "type": "function () payable returns (bool)" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 23, - "type": "address", - "value": "parentAddress" - }, - "id": 130, - "name": "Identifier", - "src": "1976:13:1" - } - ], - "id": 131, - "name": "MemberAccess", - "src": "1976:18:1" - } - ], - "id": 132, - "name": "MemberAccess", - "src": "1976:24:1" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "balance", - "referencedDeclaration": null, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 686, - "type": "contract Forwarder", - "value": "this" - }, - "id": 133, - "name": "Identifier", - "src": "2001:4:1" - } - ], - "id": 134, - "name": "MemberAccess", - "src": "2001:12:1" - } - ], - "id": 135, - "name": "FunctionCall", - "src": "1976:38:1" - } - ], - "id": 136, - "name": "FunctionCall", - "src": "1976:40:1" - } - ], - "id": 137, - "name": "UnaryOperation", - "src": "1975:41:1" - }, - { - "children": [], - "id": 138, - "name": "Throw", - "src": "2024:5:1" - } - ], - "id": 139, - "name": "IfStatement", - "src": "1971:58:1" - } - ], - "id": 140, - "name": "Block", - "src": "1965:69:1" - } - ], - "id": 141, - "name": "FunctionDefinition", - "src": "1948:86:1" - } - ], - "id": 142, - "name": "ContractDefinition", - "src": "128:1908:1" - } - ], - "id": 143, - "name": "SourceUnit", - "src": "0:2037:1" - }, - "compiler": { - "name": "solc", - "version": "0.4.18+commit.9cf6e910.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "1.0.1", - "updatedAt": "2017-11-15T15:21:22.266Z" -} \ No newline at end of file diff --git a/build/contracts/Migrations.json b/build/contracts/Migrations.json index 83734d5..d9d1ab5 100644 --- a/build/contracts/Migrations.json +++ b/build/contracts/Migrations.json @@ -12,7 +12,8 @@ "name": "upgrade", "outputs": [], "payable": false, - "type": "function" + "type": "function", + "stateMutability": "nonpayable" }, { "constant": true, @@ -25,7 +26,8 @@ } ], "payable": false, - "type": "function" + "type": "function", + "stateMutability": "view" }, { "constant": true, @@ -38,7 +40,8 @@ } ], "payable": false, - "type": "function" + "type": "function", + "stateMutability": "view" }, { "constant": false, @@ -51,15 +54,767 @@ "name": "setCompleted", "outputs": [], "payable": false, - "type": "function" + "type": "function", + "stateMutability": "nonpayable" }, { "inputs": [], "payable": false, - "type": "constructor" + "type": "constructor", + "stateMutability": "nonpayable" } ], - "bytecode": "0x6060604052341561000c57fe5b5b60008054600160a060020a03191633600160a060020a03161790555b5b6101a0806100396000396000f300606060405263ffffffff60e060020a6000350416630900f0108114610042578063445df0ac146100605780638da5cb5b14610082578063fdacd576146100ae575bfe5b341561004a57fe5b61005e600160a060020a03600435166100c3565b005b341561006857fe5b61007061013d565b60408051918252519081900360200190f35b341561008a57fe5b610092610143565b60408051600160a060020a039092168252519081900360200190f35b34156100b657fe5b61005e600435610152565b005b6000805433600160a060020a03908116911614156101375781905080600160a060020a031663fdacd5766001546040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b151561012557fe5b6102c65a03f1151561013357fe5b5050505b5b5b5050565b60015481565b600054600160a060020a031681565b60005433600160a060020a039081169116141561016f5760018190555b5b5b505600a165627a7a72305820ee4a9d3fed6d05759ad6774c182cd73618a002669ad3ab226b2e28762890f57b0029", + "bytecode": "0x6060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102db8061005e6000396000f300606060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630900f01014610067578063445df0ac146100a05780638da5cb5b146100c9578063fdacd5761461011e575b600080fd5b341561007257600080fd5b61009e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610141565b005b34156100ab57600080fd5b6100b3610224565b6040518082815260200191505060405180910390f35b34156100d457600080fd5b6100dc61022a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561012957600080fd5b61013f600480803590602001909190505061024f565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610220578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b151561020b57600080fd5b6102c65a03f1151561021c57600080fd5b5050505b5050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102ac57806001819055505b505600a165627a7a72305820f1f918db6c4f15349b8561ad3af6cb473442d0108012a07beb0f708c83ea88c90029", + "deployedBytecode": "0x606060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630900f01014610067578063445df0ac146100a05780638da5cb5b146100c9578063fdacd5761461011e575b600080fd5b341561007257600080fd5b61009e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610141565b005b34156100ab57600080fd5b6100b3610224565b6040518082815260200191505060405180910390f35b34156100d457600080fd5b6100dc61022a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561012957600080fd5b61013f600480803590602001909190505061024f565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610220578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b151561020b57600080fd5b6102c65a03f1151561021c57600080fd5b5050505b5050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102ac57806001819055505b505600a165627a7a72305820f1f918db6c4f15349b8561ad3af6cb473442d0108012a07beb0f708c83ea88c90029", + "sourceMap": "26:488:2:-;;;178:58;;;;;;;;221:10;213:5;;:18;;;;;;;;;;;;;;;;;;26:488;;;;;;", + "deployedSourceMap": "26:488:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;347:165;;;;;;;;;;;;;;;;;;;;;;;;;;;;74:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;50:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;240:103;;;;;;;;;;;;;;;;;;;;;;;;;;347:165;409:19;161:5;;;;;;;;;;;147:19;;:10;:19;;;143:26;;;442:11;409:45;;460:8;:21;;;482:24;;460:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;143:26;347:165;;:::o;74:36::-;;;;:::o;50:20::-;;;;;;;;;;;;;:::o;240:103::-;161:5;;;;;;;;;;;147:19;;:10;:19;;;143:26;;;329:9;302:24;:36;;;;143:26;240:103;:::o", + "source": "pragma solidity ^0.4.17;\n\ncontract Migrations {\n address public owner;\n uint public last_completed_migration;\n\n modifier restricted() {\n if (msg.sender == owner) _;\n }\n\n function Migrations() public {\n owner = msg.sender;\n }\n\n function setCompleted(uint completed) public restricted {\n last_completed_migration = completed;\n }\n\n function upgrade(address new_address) public restricted {\n Migrations upgraded = Migrations(new_address);\n upgraded.setCompleted(last_completed_migration);\n }\n}\n", + "sourcePath": "/home/bitgotto/src/BitGo/eth-multisig-v2/contracts/Migrations.sol", + "ast": { + "attributes": { + "absolutePath": "/home/bitgotto/src/BitGo/eth-multisig-v2/contracts/Migrations.sol", + "exportedSymbols": { + "Migrations": [ + 199 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".17" + ] + }, + "id": 144, + "name": "PragmaDirective", + "src": "0:24:2" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + null + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 199 + ], + "name": "Migrations", + "scope": 200 + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "owner", + "scope": 199, + "stateVariable": true, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 145, + "name": "ElementaryTypeName", + "src": "50:7:2" + } + ], + "id": 146, + "name": "VariableDeclaration", + "src": "50:20:2" + }, + { + "attributes": { + "constant": false, + "name": "last_completed_migration", + "scope": 199, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 147, + "name": "ElementaryTypeName", + "src": "74:4:2" + } + ], + "id": 148, + "name": "VariableDeclaration", + "src": "74:36:2" + }, + { + "attributes": { + "name": "restricted", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 149, + "name": "ParameterList", + "src": "134:2:2" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 730, + "type": "msg", + "value": "msg" + }, + "id": 150, + "name": "Identifier", + "src": "147:3:2" + } + ], + "id": 151, + "name": "MemberAccess", + "src": "147:10:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 146, + "type": "address", + "value": "owner" + }, + "id": 152, + "name": "Identifier", + "src": "161:5:2" + } + ], + "id": 153, + "name": "BinaryOperation", + "src": "147:19:2" + }, + { + "id": 154, + "name": "PlaceholderStatement", + "src": "168:1:2" + } + ], + "id": 155, + "name": "IfStatement", + "src": "143:26:2" + } + ], + "id": 156, + "name": "Block", + "src": "137:37:2" + } + ], + "id": 157, + "name": "ModifierDefinition", + "src": "115:59:2" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "Migrations", + "payable": false, + "scope": 199, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 158, + "name": "ParameterList", + "src": "197:2:2" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 159, + "name": "ParameterList", + "src": "207:0:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 146, + "type": "address", + "value": "owner" + }, + "id": 160, + "name": "Identifier", + "src": "213:5:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 730, + "type": "msg", + "value": "msg" + }, + "id": 161, + "name": "Identifier", + "src": "221:3:2" + } + ], + "id": 162, + "name": "MemberAccess", + "src": "221:10:2" + } + ], + "id": 163, + "name": "Assignment", + "src": "213:18:2" + } + ], + "id": 164, + "name": "ExpressionStatement", + "src": "213:18:2" + } + ], + "id": 165, + "name": "Block", + "src": "207:29:2" + } + ], + "id": 166, + "name": "FunctionDefinition", + "src": "178:58:2" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "setCompleted", + "payable": false, + "scope": 199, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "completed", + "scope": 178, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 167, + "name": "ElementaryTypeName", + "src": "262:4:2" + } + ], + "id": 168, + "name": "VariableDeclaration", + "src": "262:14:2" + } + ], + "id": 169, + "name": "ParameterList", + "src": "261:16:2" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 172, + "name": "ParameterList", + "src": "296:0:2" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 157, + "type": "modifier ()", + "value": "restricted" + }, + "id": 170, + "name": "Identifier", + "src": "285:10:2" + } + ], + "id": 171, + "name": "ModifierInvocation", + "src": "285:10:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 148, + "type": "uint256", + "value": "last_completed_migration" + }, + "id": 173, + "name": "Identifier", + "src": "302:24:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 168, + "type": "uint256", + "value": "completed" + }, + "id": 174, + "name": "Identifier", + "src": "329:9:2" + } + ], + "id": 175, + "name": "Assignment", + "src": "302:36:2" + } + ], + "id": 176, + "name": "ExpressionStatement", + "src": "302:36:2" + } + ], + "id": 177, + "name": "Block", + "src": "296:47:2" + } + ], + "id": 178, + "name": "FunctionDefinition", + "src": "240:103:2" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "upgrade", + "payable": false, + "scope": 199, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "new_address", + "scope": 198, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 179, + "name": "ElementaryTypeName", + "src": "364:7:2" + } + ], + "id": 180, + "name": "VariableDeclaration", + "src": "364:19:2" + } + ], + "id": 181, + "name": "ParameterList", + "src": "363:21:2" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 184, + "name": "ParameterList", + "src": "403:0:2" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 157, + "type": "modifier ()", + "value": "restricted" + }, + "id": 182, + "name": "Identifier", + "src": "392:10:2" + } + ], + "id": 183, + "name": "ModifierInvocation", + "src": "392:10:2" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 186 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "upgraded", + "scope": 198, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Migrations", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Migrations", + "referencedDeclaration": 199, + "type": "contract Migrations" + }, + "id": 185, + "name": "UserDefinedTypeName", + "src": "409:10:2" + } + ], + "id": 186, + "name": "VariableDeclaration", + "src": "409:19:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Migrations", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 199, + "type": "type(contract Migrations)", + "value": "Migrations" + }, + "id": 187, + "name": "Identifier", + "src": "431:10:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 180, + "type": "address", + "value": "new_address" + }, + "id": 188, + "name": "Identifier", + "src": "442:11:2" + } + ], + "id": 189, + "name": "FunctionCall", + "src": "431:23:2" + } + ], + "id": 190, + "name": "VariableDeclarationStatement", + "src": "409:45:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "setCompleted", + "referencedDeclaration": 178, + "type": "function (uint256) external" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 186, + "type": "contract Migrations", + "value": "upgraded" + }, + "id": 191, + "name": "Identifier", + "src": "460:8:2" + } + ], + "id": 193, + "name": "MemberAccess", + "src": "460:21:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 148, + "type": "uint256", + "value": "last_completed_migration" + }, + "id": 194, + "name": "Identifier", + "src": "482:24:2" + } + ], + "id": 195, + "name": "FunctionCall", + "src": "460:47:2" + } + ], + "id": 196, + "name": "ExpressionStatement", + "src": "460:47:2" + } + ], + "id": 197, + "name": "Block", + "src": "403:109:2" + } + ], + "id": 198, + "name": "FunctionDefinition", + "src": "347:165:2" + } + ], + "id": 199, + "name": "ContractDefinition", + "src": "26:488:2" + } + ], + "id": 200, + "name": "SourceUnit", + "src": "0:515:2" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, "networks": { "1510348425972": { "events": {}, @@ -68,5 +823,5 @@ } }, "schemaVersion": "1.0.1", - "updatedAt": "2017-11-10T21:17:18.651Z" + "updatedAt": "2017-11-16T11:22:20.466Z" } \ No newline at end of file diff --git a/build/contracts/WalletSimple.json b/build/contracts/WalletSimple.json deleted file mode 100644 index 543331c..0000000 --- a/build/contracts/WalletSimple.json +++ /dev/null @@ -1,7627 +0,0 @@ -{ - "contractName": "WalletSimple", - "abi": [ - { - "constant": false, - "inputs": [ - { - "name": "toAddress", - "type": "address" - }, - { - "name": "value", - "type": "uint256" - }, - { - "name": "tokenContractAddress", - "type": "address" - }, - { - "name": "expireTime", - "type": "uint256" - }, - { - "name": "sequenceId", - "type": "uint256" - }, - { - "name": "signature", - "type": "bytes" - } - ], - "name": "sendMultiSigToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "uint256" - } - ], - "name": "signers", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "forwarderAddress", - "type": "address" - }, - { - "name": "tokenContractAddress", - "type": "address" - } - ], - "name": "flushForwarderTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "toAddress", - "type": "address" - }, - { - "name": "value", - "type": "uint256" - }, - { - "name": "data", - "type": "bytes" - }, - { - "name": "expireTime", - "type": "uint256" - }, - { - "name": "sequenceId", - "type": "uint256" - }, - { - "name": "signature", - "type": "bytes" - } - ], - "name": "sendMultiSig", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "signer", - "type": "address" - }, - { - "name": "signature", - "type": "bytes" - } - ], - "name": "isSigner", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "signer", - "type": "address" - } - ], - "name": "getNextSequenceId", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "sequenceId", - "type": "uint256" - } - ], - "name": "createForwarder", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "toAddress", - "type": "address" - }, - { - "name": "operationHash", - "type": "bytes32" - }, - { - "name": "signature", - "type": "bytes" - }, - { - "name": "expireTime", - "type": "uint256" - }, - { - "name": "sequenceId", - "type": "uint256" - } - ], - "name": "safeMode", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "activateSafeMode", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "allowedSigners", - "type": "address[]" - } - ], - "name": "createForwarder", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "constant": true, - "inputs": [], - "name": "safeMode", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [ - { - "indexed": false, - "name": "from", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - }, - { - "indexed": false, - "name": "data", - "type": "bytes" - } - ], - "name": "Deposited", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "event", - "anonymous": false - }, - { - "inputs": [ - { - "name": "msgSender", - "type": "address", - "indexed": false - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "event", - "anonymous": false, - "name": "SafeModeActivated" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "event", - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "msgSender", - "type": "address" - }, - { - "indexed": false, - "name": "otherSigner", - "type": "address" - }, - { - "indexed": false, - "name": "operation", - "type": "bytes32" - }, - { - "indexed": false, - "name": "toAddress", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - }, - { - "indexed": false, - "name": "data", - "type": "bytes" - } - ], - "name": "Transacted" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "msgSender", - "type": "address" - }, - { - "indexed": false, - "name": "otherSigner", - "type": "address" - }, - { - "indexed": false, - "name": "operation", - "type": "bytes32" - }, - { - "indexed": false, - "name": "toAddress", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - }, - { - "indexed": false, - "name": "tokenContractAddress", - "type": "address" - } - ], - "name": "TokenTransacted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "msgSender", - "type": "address" - } - ], - "name": "SafeModeActivated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "msgSender", - "type": "address" - }, - { - "indexed": false, - "name": "otherSigner", - "type": "address" - }, - { - "indexed": false, - "name": "operation", - "type": "bytes32" - }, - { - "indexed": false, - "name": "toAddress", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - }, - { - "indexed": false, - "name": "data", - "type": "bytes" - } - ], - "name": "Transacted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "msgSender", - "type": "address" - }, - { - "indexed": false, - "name": "otherSigner", - "type": "address" - }, - { - "indexed": false, - "name": "operation", - "type": "bytes32" - }, - { - "indexed": false, - "name": "toAddress", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - }, - { - "indexed": false, - "name": "tokenContractAddress", - "type": "address" - } - ], - "name": "TokenTransacted", - "type": "event" - } - ], - "bytecode": "0x60606040526000600160006101000a81548160ff021916908315150217905550341561002a57600080fd5b6040516116fe3803806116fe833981016040528080518201919050506003815114151561005657600080fd5b806000908051906020019061006c929190610073565b5050610140565b8280548282559060005260206000209081019282156100ec579160200282015b828111156100eb5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190610093565b5b5090506100f991906100fd565b5090565b61013d91905b8082111561013957600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101610103565b5090565b90565b6115af8061014f6000396000f300606060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630dcd7a6c146101335780632079fb9a146101e95780632da034091461024c57806339125215146102a45780637df73e271461037e578063a0b7967b146103cf578063a68a76cc146103f8578063abe3219c1461044d578063fc0f392d1461047a575b6000341115610131577f6e89d517057028190560dd200cf6bf792842861353d1173761dfa362e1c133f03334600036604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a15b005b341561013e57600080fd5b6101e7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061048f565b005b34156101f457600080fd5b61020a6004808035906020019091905050610783565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561025757600080fd5b6102a2600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506107c2565b005b34156102af57600080fd5b61037c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061088e565b005b341561038957600080fd5b6103b5600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b8d565b604051808215151515815260200191505060405180910390f35b34156103da57600080fd5b6103e2610c31565b6040518082815260200191505060405180910390f35b341561040357600080fd5b61040b610c8b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561045857600080fd5b610460610cc4565b604051808215151515815260200191505060405180910390f35b341561048557600080fd5b61048d610cd7565b005b600080600061049d33610b8d565b15156104a857600080fd5b888888888860405180807f45524332300000000000000000000000000000000000000000000000000000008152506005018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401838152602001828152602001955050505050506040518091039020925061058b8984868989610d6a565b91508690508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8a8a6000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561063b57600080fd5b6102c65a03f1151561064c57600080fd5b50505060405180519050151561066157600080fd5b7ff3574a20a6defd7fc26917e8013cdd578db5eaa4d9a3eb54f2bb0983ad8ab40d3383858c8c8c604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001965050505050505060405180910390a1505050505050505050565b60008181548110151561079257fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006107cd33610b8d565b15156107d857600080fd5b8290508073ffffffffffffffffffffffffffffffffffffffff16633ef13367836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b151561087557600080fd5b6102c65a03f1151561088657600080fd5b505050505050565b60008061089a33610b8d565b15156108a557600080fd5b878787878760405180807f45544845520000000000000000000000000000000000000000000000000000008152506005018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140185815260200184805190602001908083835b60208310151561094e5780518252602082019150602081019050602083039250610929565b6001836020036101000a038019825116818451168082178552505050505050905001838152602001828152602001955050505050506040518091039020915061099a8883858888610d6a565b90508773ffffffffffffffffffffffffffffffffffffffff16878760405180828051906020019080838360005b838110156109e25780820151818401526020810190506109c7565b50505050905090810190601f168015610a0f5780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f1925050501515610a3357600080fd5b7f59bed9ab5d78073465dd642a9e3e76dfdb7d53bcae9d09df7d0b8f5234d5a8063382848b8b8b604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b44578082015181840152602081019050610b29565b50505050905090810190601f168015610b715780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a15050505050505050565b600080600090505b600080549050811015610c26578273ffffffffffffffffffffffffffffffffffffffff16600082815481101515610bc857fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610c195760019150610c2b565b8080600101915050610b95565b600091505b50919050565b6000806000809150600090505b600a811015610c805781600282600a81101515610c5757fe5b01541115610c7357600281600a81101515610c6e57fe5b015491505b8080600101915050610c3e565b600182019250505090565b6000610c9633610b8d565b1515610ca157600080fd5b610ca9610fbf565b604051809103906000f0801515610cbf57600080fd5b905090565b600160009054906101000a900460ff1681565b610ce033610b8d565b1515610ceb57600080fd5b60018060006101000a81548160ff0219169083151502179055507f0909e8f76a4fd3e970f2eaef56c0ee6dfaf8b87c5b8d3f56ffce78e825a9115733604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b600080610d778686610e15565b9050600160009054906101000a900460ff168015610d9b5750610d9987610b8d565b155b15610da557600080fd5b42841015610db257600080fd5b610dbb83610ee8565b610dc481610b8d565b1515610dcf57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e0857600080fd5b8091505095945050505050565b60008060008060418551141515610e2b57600080fd5b602085015192506040850151915060ff6041860151169050601b8160ff161015610e5657601b810190505b600186828585604051600081526020016040526000604051602001526040518085600019166000191681526020018460ff1660ff16815260200183600019166000191681526020018260001916600019168152602001945050505050602060405160208103908084039060008661646e5a03f11515610ed457600080fd5b505060206040510351935050505092915050565b600080610ef433610b8d565b1515610eff57600080fd5b60009150600090505b600a811015610f675782600282600a81101515610f2157fe5b01541415610f2e57600080fd5b600282600a81101515610f3d57fe5b0154600282600a81101515610f4e57fe5b01541015610f5a578091505b8080600101915050610f08565b600282600a81101515610f7657fe5b0154831015610f8457600080fd5b612710600283600a81101515610f9657fe5b015401831115610fa557600080fd5b82600283600a81101515610fb557fe5b0181905550505050565b6040516105b480610fd08339019056006060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506105568061005e6000396000f300606060405260043610610056576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062821de3146101555780633ef13367146101aa5780636b9f96ea146101e3575b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346000366040518083838082843782019150509250505060006040518083038185876187965a03f19250505015156100c557600080fd5b7f69b31548dea9b3b707b4dff357d326e3e9348b24e7a6080a218a6edeeec48f9b3334600036604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a1005b341561016057600080fd5b6101686101f8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101b557600080fd5b6101e1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061021d565b005b34156101ee57600080fd5b6101f66104b5565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561027d57600080fd5b8392503091508273ffffffffffffffffffffffffffffffffffffffff166370a08231836000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561032657600080fd5b6102c65a03f1151561033757600080fd5b5050506040518051905090506000811415610351576104af565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561041d57600080fd5b6102c65a03f1151561042e57600080fd5b50505060405180519050151561044357600080fd5b7f9401e4e79c19cbe2bd774cb70a94ba660e6718be1bac1298ab3b07f454a608218482604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b50505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff163160405160006040518083038185876187965a03f192505050151561052857600080fd5b5600a165627a7a72305820481f5b3456cf3fd8a7d5ad98e246bc195410a0cdad55b12c0e96e72b5220399c0029a165627a7a723058204b555ef8dfc4c9567c8c5e82b27d2d0c4c3dca3174fb5bf6fa352075daee74520029", - "deployedBytecode": "0x606060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630dcd7a6c146101335780632079fb9a146101e95780632da034091461024c57806339125215146102a45780637df73e271461037e578063a0b7967b146103cf578063a68a76cc146103f8578063abe3219c1461044d578063fc0f392d1461047a575b6000341115610131577f6e89d517057028190560dd200cf6bf792842861353d1173761dfa362e1c133f03334600036604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a15b005b341561013e57600080fd5b6101e7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061048f565b005b34156101f457600080fd5b61020a6004808035906020019091905050610783565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561025757600080fd5b6102a2600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506107c2565b005b34156102af57600080fd5b61037c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061088e565b005b341561038957600080fd5b6103b5600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b8d565b604051808215151515815260200191505060405180910390f35b34156103da57600080fd5b6103e2610c31565b6040518082815260200191505060405180910390f35b341561040357600080fd5b61040b610c8b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561045857600080fd5b610460610cc4565b604051808215151515815260200191505060405180910390f35b341561048557600080fd5b61048d610cd7565b005b600080600061049d33610b8d565b15156104a857600080fd5b888888888860405180807f45524332300000000000000000000000000000000000000000000000000000008152506005018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401838152602001828152602001955050505050506040518091039020925061058b8984868989610d6a565b91508690508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8a8a6000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561063b57600080fd5b6102c65a03f1151561064c57600080fd5b50505060405180519050151561066157600080fd5b7ff3574a20a6defd7fc26917e8013cdd578db5eaa4d9a3eb54f2bb0983ad8ab40d3383858c8c8c604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001965050505050505060405180910390a1505050505050505050565b60008181548110151561079257fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006107cd33610b8d565b15156107d857600080fd5b8290508073ffffffffffffffffffffffffffffffffffffffff16633ef13367836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b151561087557600080fd5b6102c65a03f1151561088657600080fd5b505050505050565b60008061089a33610b8d565b15156108a557600080fd5b878787878760405180807f45544845520000000000000000000000000000000000000000000000000000008152506005018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140185815260200184805190602001908083835b60208310151561094e5780518252602082019150602081019050602083039250610929565b6001836020036101000a038019825116818451168082178552505050505050905001838152602001828152602001955050505050506040518091039020915061099a8883858888610d6a565b90508773ffffffffffffffffffffffffffffffffffffffff16878760405180828051906020019080838360005b838110156109e25780820151818401526020810190506109c7565b50505050905090810190601f168015610a0f5780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f1925050501515610a3357600080fd5b7f59bed9ab5d78073465dd642a9e3e76dfdb7d53bcae9d09df7d0b8f5234d5a8063382848b8b8b604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b44578082015181840152602081019050610b29565b50505050905090810190601f168015610b715780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a15050505050505050565b600080600090505b600080549050811015610c26578273ffffffffffffffffffffffffffffffffffffffff16600082815481101515610bc857fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610c195760019150610c2b565b8080600101915050610b95565b600091505b50919050565b6000806000809150600090505b600a811015610c805781600282600a81101515610c5757fe5b01541115610c7357600281600a81101515610c6e57fe5b015491505b8080600101915050610c3e565b600182019250505090565b6000610c9633610b8d565b1515610ca157600080fd5b610ca9610fbf565b604051809103906000f0801515610cbf57600080fd5b905090565b600160009054906101000a900460ff1681565b610ce033610b8d565b1515610ceb57600080fd5b60018060006101000a81548160ff0219169083151502179055507f0909e8f76a4fd3e970f2eaef56c0ee6dfaf8b87c5b8d3f56ffce78e825a9115733604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b600080610d778686610e15565b9050600160009054906101000a900460ff168015610d9b5750610d9987610b8d565b155b15610da557600080fd5b42841015610db257600080fd5b610dbb83610ee8565b610dc481610b8d565b1515610dcf57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e0857600080fd5b8091505095945050505050565b60008060008060418551141515610e2b57600080fd5b602085015192506040850151915060ff6041860151169050601b8160ff161015610e5657601b810190505b600186828585604051600081526020016040526000604051602001526040518085600019166000191681526020018460ff1660ff16815260200183600019166000191681526020018260001916600019168152602001945050505050602060405160208103908084039060008661646e5a03f11515610ed457600080fd5b505060206040510351935050505092915050565b600080610ef433610b8d565b1515610eff57600080fd5b60009150600090505b600a811015610f675782600282600a81101515610f2157fe5b01541415610f2e57600080fd5b600282600a81101515610f3d57fe5b0154600282600a81101515610f4e57fe5b01541015610f5a578091505b8080600101915050610f08565b600282600a81101515610f7657fe5b0154831015610f8457600080fd5b612710600283600a81101515610f9657fe5b015401831115610fa557600080fd5b82600283600a81101515610fb557fe5b0181905550505050565b6040516105b480610fd08339019056006060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506105568061005e6000396000f300606060405260043610610056576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062821de3146101555780633ef13367146101aa5780636b9f96ea146101e3575b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346000366040518083838082843782019150509250505060006040518083038185876187965a03f19250505015156100c557600080fd5b7f69b31548dea9b3b707b4dff357d326e3e9348b24e7a6080a218a6edeeec48f9b3334600036604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a1005b341561016057600080fd5b6101686101f8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101b557600080fd5b6101e1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061021d565b005b34156101ee57600080fd5b6101f66104b5565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561027d57600080fd5b8392503091508273ffffffffffffffffffffffffffffffffffffffff166370a08231836000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561032657600080fd5b6102c65a03f1151561033757600080fd5b5050506040518051905090506000811415610351576104af565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561041d57600080fd5b6102c65a03f1151561042e57600080fd5b50505060405180519050151561044357600080fd5b7f9401e4e79c19cbe2bd774cb70a94ba660e6718be1bac1298ab3b07f454a608218482604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b50505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff163160405160006040518083038185876187965a03f192505050151561052857600080fd5b5600a165627a7a72305820481f5b3456cf3fd8a7d5ad98e246bc195410a0cdad55b12c0e96e72b5220399c0029a165627a7a723058204b555ef8dfc4c9567c8c5e82b27d2d0c4c3dca3174fb5bf6fa352075daee74520029", - "sourceMap": "330:11247:2:-;;;1607:5;1584:28;;;;;;;;;;;;;;;;;;;;2353:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2436:1;2411:14;:21;:26;;2407:87;;;2482:5;;;2407:87;2509:14;2499:7;:24;;;;;;;;;;;;:::i;:::-;;2353:175;330:11247;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "330:11247:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2658:1;2646:9;:13;2642:132;;;2725:42;2735:10;2747:9;2758:8;;2725:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2642:132;330:11247;5387:636;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1495:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6346:210;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3900:577;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8557:242;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11285:290;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2933:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1584:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8284:100;;;;;;;;;;;;;;5387:636;5574:17;5682:15;5786:23;1925:20;1934:10;1925:8;:20::i;:::-;1924:21;1920:47;;;1955:5;;;1920:47;5608:9;5619:5;5626:20;5648:10;5660;5594:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5574:97;;5700:75;5715:9;5726:13;5741:9;5752:10;5764;5700:14;:75::i;:::-;5682:93;;5827:20;5786:62;;5859:8;:17;;;5877:9;5888:5;5859:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5858:36;5854:64;;;5906:5;;;5854:64;5923:95;5939:10;5951:11;5964:13;5979:9;5990:5;5997:20;5923:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5387:636;;;;;;;;;:::o;1495:24::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6346:210::-;6453:19;1925:20;1934:10;1925:8;:20::i;:::-;1924:21;1920:47;;;1955:5;;;1920:47;6485:16;6453:49;;6508:9;:21;;;6530:20;6508:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6346:210;;;:::o;3900:577::-;4064:17;4156:15;1925:20;1934:10;1925:8;:20::i;:::-;1924:21;1920:47;;;1955:5;;;1920:47;4098:9;4109:5;4116:4;4122:10;4134;4084:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4064:81:2;;4174:75;4189:9;4200:13;4215:9;4226:10;4238;4174:14;:75::i;:::-;4156:93;;4299:9;:14;;4320:5;4327:4;4299:33;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4297:36:2;4293:100;;;4381:5;;;4293:100;4398:74;4409:10;4421:11;4434:13;4449:9;4460:5;4467:4;4398:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3900:577:2;;;;;;;;:::o;8557:242::-;8600:4;8670:6;8679:1;8670:10;;8665:112;8686:7;:14;;;;8682:1;:18;8665:112;;;8733:6;8719:20;;:7;8727:1;8719:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;:20;;;8715:56;;;8758:4;8751:11;;;;8715:56;8702:3;;;;;;;8665:112;;;8789:5;8782:12;;8557:242;;;;;:::o;11285:290::-;11323:4;11335:22;11372:6;11360:1;11335:26;;11381:1;11372:10;;11367:170;1735:2;11384:1;:27;11367:170;;;11453:17;11430;11448:1;11430:20;;;;;;;;;;;:40;11426:105;;;11502:17;11520:1;11502:20;;;;;;;;;;;11482:40;;11426:105;11413:3;;;;;;;11367:170;;;11569:1;11549:17;:21;11542:28;;11285:290;;;:::o;2933:89::-;2980:7;1925:20;1934:10;1925:8;:20::i;:::-;1924:21;1920:47;;;1955:5;;;1920:47;3002:15;;:::i;:::-;;;;;;;;;;;;;;;;;;2995:22;;2933:89;:::o;1584:28::-;;;;;;;;;;;;;:::o;8284:100::-;1925:20;1934:10;1925:8;:20::i;:::-;1924:21;1920:47;;;1955:5;;;1920:47;8340:4;8329:8;;:15;;;;;;;;;;;;;;;;;;8350:29;8368:10;8350:29;;;;;;;;;;;;;;;;;;;;;;8284:100::o;7187:963::-;7321:7;7337:15;7355:53;7383:13;7398:9;7355:27;:53::i;:::-;7337:71;;7507:8;;;;;;;;;;;:32;;;;;7520:19;7529:9;7520:8;:19::i;:::-;7519:20;7507:32;7503:132;;;7623:5;;;7503:132;7708:15;7695:10;:28;7691:83;;;7762:5;;;7691:83;7860:31;7880:10;7860:19;:31::i;:::-;7903:21;7912:11;7903:8;:21::i;:::-;7902:22;7898:127;;;8013:5;;;7898:127;8049:10;8034:25;;:11;:25;;;8030:91;;;8109:5;;;8030:91;8134:11;8127:18;;7187:963;;;;;;;;:::o;9133:621::-;9227:7;9390:9;9405;9420:7;9266:2;9246:9;:16;:22;;9242:48;;;9278:5;;;9242:48;9476:2;9465:9;9461:3;9455:5;9450:30;;9513:2;9502:9;9498:3;9492:5;9487:30;;9560:3;9554:2;9543:9;9539:3;9533:5;9529:3;9524:40;;9583:2;9579:1;:6;;;9575:129;;;9600:2;9595:7;;;;9575:129;9716:33;9726:13;9741:1;9744;9747;9716:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9709:40;;9133:621;;;;;;;:::o;10113:1001::-;10248:21;10284:6;1925:20;1934:10;1925:8;:20::i;:::-;1924:21;1920:47;;;1955:5;;;1920:47;10272:1;10248:25;;10293:1;10284:10;;10279:299;1735:2;10296:1;:27;10279:299;;;10366:10;10342:17;10360:1;10342:20;;;;;;;;;;;:34;10338:124;;;10448:5;;;10338:124;10496:17;10514:16;10496:35;;;;;;;;;;;10473:17;10491:1;10473:20;;;;;;;;;;;:58;10469:103;;;10562:1;10543:20;;10469:103;10325:3;;;;;;;10279:299;;;10600:17;10618:16;10600:35;;;;;;;;;;;10587:10;:48;10583:219;;;10790:5;;;10583:219;10863:5;10825:17;10843:16;10825:35;;;;;;;;;;;:43;10811:10;:58;10807:249;;;11044:5;;;10807:249;11099:10;11061:17;11079:16;11061:35;;;;;;;;;;:48;;;;10113:1001;;;:::o;330:11247::-;;;;;;;;;;:::o", - "source": "pragma solidity ^0.4.18;\nimport \"./Forwarder.sol\";\nimport \"./ERC20Interface.sol\";\n/**\n * Basic multi-signer wallet designed for use in a co-signing environment where 2 signatures are required to move funds.\n * Typically used in a 2-of-3 signing configuration. Uses ecrecover to allow for 2 signatures in a single transaction.\n */\ncontract WalletSimple {\n // Events\n event Deposited(address from, uint value, bytes data);\n event SafeModeActivated(address msgSender);\n event Transacted(\n address msgSender, // Address of the sender of the message initiating the transaction\n address otherSigner, // Address of the signer (second signature) used to initiate the transaction\n bytes32 operation, // Operation hash (sha3 of toAddress, value, data, expireTime, sequenceId)\n address toAddress, // The address the transaction was sent to\n uint value, // Amount of Wei sent to the address\n bytes data // Data sent when invoking the transaction\n );\n event TokenTransacted(\n address msgSender, // Address of the sender of the message initiating the transaction\n address otherSigner, // Address of the signer (second signature) used to initiate the transaction\n bytes32 operation, // Operation hash (sha3 of toAddress, value, tokenContractAddress, expireTime, sequenceId)\n address toAddress, // The address the transaction was sent to\n uint value, // Amount of token sent\n address tokenContractAddress // The contract address of the token\n );\n\n // Public fields\n address[] public signers; // The addresses that can co-sign transactions on the wallet\n bool public safeMode = false; // When active, wallet may only send to signer addresses\n\n // Internal fields\n uint constant SEQUENCE_ID_WINDOW_SIZE = 10;\n uint[10] recentSequenceIds;\n\n /**\n * Modifier that will execute internal code block only if the sender is an authorized signer on this wallet\n */\n modifier onlysigner {\n if (!isSigner(msg.sender)) {\n throw;\n }\n _;\n }\n\n /**\n * Set up a simple multi-sig wallet by specifying the signers allowed to be used on this wallet.\n * 2 signers will be required to send a transaction from this wallet.\n * Note: The sender is NOT automatically added to the list of signers.\n * Signers CANNOT be changed once they are set\n *\n * @param allowedSigners An array of signers on the wallet\n */\n function WalletSimple(address[] allowedSigners) {\n if (allowedSigners.length != 3) {\n // Invalid number of signers\n throw;\n }\n signers = allowedSigners;\n }\n\n /**\n * Gets called when a transaction is received without calling a method\n */\n function() payable {\n if (msg.value > 0) {\n // Fire deposited event if we are receiving funds\n Deposited(msg.sender, msg.value, msg.data);\n }\n }\n\n /**\n * Create a new contract (and also address) that forwards funds to this contract\n * returns address of newly created forwarder address\n */\n function createForwarder() onlysigner returns (address) {\n return new Forwarder();\n }\n\n /**\n * Execute a multi-signature transaction from this wallet using 2 signers: one from msg.sender and the other from ecrecover.\n * The signature is a signed form (using eth.sign) of tightly packed toAddress, value, data, expireTime and sequenceId\n * Sequence IDs are numbers starting from 1. They are used to prevent replay attacks and may not be repeated.\n *\n * @param toAddress the destination address to send an outgoing transaction\n * @param value the amount in Wei to be sent\n * @param data the data to send to the toAddress when invoking the transaction\n * @param expireTime the number of seconds since 1970 for which this transaction is valid\n * @param sequenceId the unique sequence id obtainable from getNextSequenceId\n * @param signature the result of eth.sign on the operationHash sha3(toAddress, value, data, expireTime, sequenceId)\n */\n function sendMultiSig(address toAddress, uint value, bytes data, uint expireTime, uint sequenceId, bytes signature) onlysigner {\n // Verify the other signer\n var operationHash = sha3(\"ETHER\", toAddress, value, data, expireTime, sequenceId);\n \n var otherSigner = verifyMultiSig(toAddress, operationHash, signature, expireTime, sequenceId);\n\n // Success, send the transaction\n if (!(toAddress.call.value(value)(data))) {\n // Failed executing transaction\n throw;\n }\n Transacted(msg.sender, otherSigner, operationHash, toAddress, value, data);\n }\n \n /**\n * Execute a multi-signature token transfer from this wallet using 2 signers: one from msg.sender and the other from ecrecover.\n * The signature is a signed form (using eth.sign) of tightly packed toAddress, value, tokenContractAddress, expireTime and sequenceId\n * Sequence IDs are numbers starting from 1. They are used to prevent replay attacks and may not be repeated.\n *\n * @param toAddress the destination address to send an outgoing transaction\n * @param value the amount in tokens to be sent\n * @param tokenContractAddress the address of the erc20 token contract\n * @param expireTime the number of seconds since 1970 for which this transaction is valid\n * @param sequenceId the unique sequence id obtainable from getNextSequenceId\n * @param signature the result of eth.sign on the operationHash sha3(toAddress, value, tokenContractAddress, expireTime, sequenceId)\n */\n function sendMultiSigToken(address toAddress, uint value, address tokenContractAddress, uint expireTime, uint sequenceId, bytes signature) onlysigner {\n // Verify the other signer\n var operationHash = sha3(\"ERC20\", toAddress, value, tokenContractAddress, expireTime, sequenceId);\n \n var otherSigner = verifyMultiSig(toAddress, operationHash, signature, expireTime, sequenceId);\n \n ERC20Interface instance = ERC20Interface(tokenContractAddress);\n if (!instance.transfer(toAddress, value)) {\n throw;\n }\n TokenTransacted(msg.sender, otherSigner, operationHash, toAddress, value, tokenContractAddress);\n }\n\n /**\n * Execute a token flush from one of the forwarder addresses. This transfer needs only a single signature and can be done by any signer\n *\n * @param forwarderAddress the address of the forwarder address to flush the tokens from\n * @param tokenContractAddress the address of the erc20 token contract\n */\n function flushForwarderTokens(address forwarderAddress, address tokenContractAddress) onlysigner { \n Forwarder forwarder = Forwarder(forwarderAddress);\n forwarder.flushTokens(tokenContractAddress);\n } \n \n /**\n * Do common multisig verification for both eth sends and erc20token transfers\n *\n * @param toAddress the destination address to send an outgoing transaction\n * @param operationHash the sha3 of the toAddress, value, data/tokenContractAddress and expireTime\n * @param signature the tightly packed signature of r, s, and v as an array of 65 bytes (returned by eth.sign)\n * @param expireTime the number of seconds since 1970 for which this transaction is valid\n * @param sequenceId the unique sequence id obtainable from getNextSequenceId\n * returns address of the address to send tokens or eth to\n */\n function verifyMultiSig(address toAddress, bytes32 operationHash, bytes signature, uint expireTime, uint sequenceId) private returns (address) {\n\n var otherSigner = recoverAddressFromSignature(operationHash, signature);\n\n // Verify if we are in safe mode. In safe mode, the wallet can only send to signers\n if (safeMode && !isSigner(toAddress)) {\n // We are in safe mode and the toAddress is not a signer. Disallow!\n throw;\n }\n // Verify that the transaction has not expired\n if (expireTime < block.timestamp) {\n // Transaction expired\n throw;\n }\n\n // Try to insert the sequence ID. Will throw if the sequence id was invalid\n tryInsertSequenceId(sequenceId);\n\n if (!isSigner(otherSigner)) {\n // Other signer not on this wallet or operation does not match arguments\n throw;\n }\n if (otherSigner == msg.sender) {\n // Cannot approve own transaction\n throw;\n }\n\n return otherSigner;\n }\n\n /**\n * Irrevocably puts contract into safe mode. When in this mode, transactions may only be sent to signing addresses.\n */\n function activateSafeMode() onlysigner {\n safeMode = true;\n SafeModeActivated(msg.sender);\n }\n\n /**\n * Determine if an address is a signer on this wallet\n * @param signer address to check\n * returns boolean indicating whether address is signer or not\n */\n function isSigner(address signer) returns (bool) {\n // Iterate through all signers on the wallet and\n for (uint i = 0; i < signers.length; i++) {\n if (signers[i] == signer) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Gets the second signer's address using ecrecover\n * @param operationHash the sha3 of the toAddress, value, data/tokenContractAddress and expireTime\n * @param signature the tightly packed signature of r, s, and v as an array of 65 bytes (returned by eth.sign)\n * returns address recovered from the signature\n */\n function recoverAddressFromSignature(bytes32 operationHash, bytes signature) private returns (address) {\n if (signature.length != 65) {\n throw;\n }\n // We need to unpack the signature, which is given as an array of 65 bytes (from eth.sign)\n bytes32 r;\n bytes32 s;\n uint8 v;\n assembly {\n r := mload(add(signature, 32))\n s := mload(add(signature, 64))\n v := and(mload(add(signature, 65)), 255)\n }\n if (v < 27) {\n v += 27; // Ethereum versions are 27 or 28 as opposed to 0 or 1 which is submitted by some signing libs\n }\n return ecrecover(operationHash, v, r, s);\n }\n\n /**\n * Verify that the sequence id has not been used before and inserts it. Throws if the sequence ID was not accepted.\n * We collect a window of up to 10 recent sequence ids, and allow any sequence id that is not in the window and\n * greater than the minimum element in the window.\n * @param sequenceId to insert into array of stored ids\n */\n function tryInsertSequenceId(uint sequenceId) onlysigner private {\n // Keep a pointer to the lowest value element in the window\n uint lowestValueIndex = 0;\n for (uint i = 0; i < SEQUENCE_ID_WINDOW_SIZE; i++) {\n if (recentSequenceIds[i] == sequenceId) {\n // This sequence ID has been used before. Disallow!\n throw;\n }\n if (recentSequenceIds[i] < recentSequenceIds[lowestValueIndex]) {\n lowestValueIndex = i;\n }\n }\n if (sequenceId < recentSequenceIds[lowestValueIndex]) {\n // The sequence ID being used is lower than the lowest value in the window\n // so we cannot accept it as it may have been used before\n throw;\n }\n if (sequenceId > (recentSequenceIds[lowestValueIndex] + 10000)) {\n // Block sequence IDs which are much higher than the lowest value\n // This prevents people blocking the contract by using very large sequence IDs quickly\n throw;\n }\n recentSequenceIds[lowestValueIndex] = sequenceId;\n }\n\n /**\n * Gets the next available sequence ID for signing when using executeAndConfirm\n * returns the sequenceId one higher than the highest currently stored\n */\n function getNextSequenceId() returns (uint) {\n uint highestSequenceId = 0;\n for (uint i = 0; i < SEQUENCE_ID_WINDOW_SIZE; i++) {\n if (recentSequenceIds[i] > highestSequenceId) {\n highestSequenceId = recentSequenceIds[i];\n }\n }\n return highestSequenceId + 1;\n }\n}\n", - "sourcePath": "/home/bitgotto/src/BitGo/eth-multisig-v2/contracts/WalletSimple.sol", - "ast": { - "attributes": { - "absolutePath": "/home/bitgotto/src/BitGo/eth-multisig-v2/contracts/WalletSimple.sol", - "exportedSymbols": { - "WalletSimple": [ - 661 - ] - } - }, - "children": [ - { - "attributes": { - "literals": [ - "solidity", - "^", - "0.4", - ".18" - ] - }, - "id": 144, - "name": "PragmaDirective", - "src": "0:24:2" - }, - { - "attributes": { - "SourceUnit": 143, - "absolutePath": "/home/bitgotto/src/BitGo/eth-multisig-v2/contracts/Forwarder.sol", - "file": "./Forwarder.sol", - "scope": 662, - "symbolAliases": [ - null - ], - "unitAlias": "" - }, - "id": 145, - "name": "ImportDirective", - "src": "25:25:2" - }, - { - "attributes": { - "SourceUnit": 19, - "absolutePath": "/home/bitgotto/src/BitGo/eth-multisig-v2/contracts/ERC20Interface.sol", - "file": "./ERC20Interface.sol", - "scope": 662, - "symbolAliases": [ - null - ], - "unitAlias": "" - }, - "id": 146, - "name": "ImportDirective", - "src": "51:30:2" - }, - { - "attributes": { - "baseContracts": [ - null - ], - "contractDependencies": [ - 142 - ], - "contractKind": "contract", - "documentation": "Basic multi-signer wallet designed for use in a co-signing environment where 2 signatures are required to move funds.\nTypically used in a 2-of-3 signing configuration. Uses ecrecover to allow for 2 signatures in a single transaction.", - "fullyImplemented": true, - "linearizedBaseContracts": [ - 661 - ], - "name": "WalletSimple", - "scope": 662 - }, - "children": [ - { - "attributes": { - "anonymous": false, - "name": "Deposited" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "indexed": false, - "name": "from", - "scope": 154, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 147, - "name": "ElementaryTypeName", - "src": "384:7:2" - } - ], - "id": 148, - "name": "VariableDeclaration", - "src": "384:12:2" - }, - { - "attributes": { - "constant": false, - "indexed": false, - "name": "value", - "scope": 154, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint", - "type": "uint256" - }, - "id": 149, - "name": "ElementaryTypeName", - "src": "398:4:2" - } - ], - "id": 150, - "name": "VariableDeclaration", - "src": "398:10:2" - }, - { - "attributes": { - "constant": false, - "indexed": false, - "name": "data", - "scope": 154, - "stateVariable": false, - "storageLocation": "default", - "type": "bytes memory", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bytes", - "type": "bytes storage pointer" - }, - "id": 151, - "name": "ElementaryTypeName", - "src": "410:5:2" - } - ], - "id": 152, - "name": "VariableDeclaration", - "src": "410:10:2" - } - ], - "id": 153, - "name": "ParameterList", - "src": "383:38:2" - } - ], - "id": 154, - "name": "EventDefinition", - "src": "368:54:2" - }, - { - "attributes": { - "anonymous": false, - "name": "SafeModeActivated" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "indexed": false, - "name": "msgSender", - "scope": 158, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 155, - "name": "ElementaryTypeName", - "src": "449:7:2" - } - ], - "id": 156, - "name": "VariableDeclaration", - "src": "449:17:2" - } - ], - "id": 157, - "name": "ParameterList", - "src": "448:19:2" - } - ], - "id": 158, - "name": "EventDefinition", - "src": "425:43:2" - }, - { - "attributes": { - "anonymous": false, - "name": "Transacted" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "indexed": false, - "name": "msgSender", - "scope": 172, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 159, - "name": "ElementaryTypeName", - "src": "493:7:2" - } - ], - "id": 160, - "name": "VariableDeclaration", - "src": "493:17:2" - }, - { - "attributes": { - "constant": false, - "indexed": false, - "name": "otherSigner", - "scope": 172, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 161, - "name": "ElementaryTypeName", - "src": "583:7:2" - } - ], - "id": 162, - "name": "VariableDeclaration", - "src": "583:19:2" - }, - { - "attributes": { - "constant": false, - "indexed": false, - "name": "operation", - "scope": 172, - "stateVariable": false, - "storageLocation": "default", - "type": "bytes32", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bytes32", - "type": "bytes32" - }, - "id": 163, - "name": "ElementaryTypeName", - "src": "685:7:2" - } - ], - "id": 164, - "name": "VariableDeclaration", - "src": "685:17:2" - }, - { - "attributes": { - "constant": false, - "indexed": false, - "name": "toAddress", - "scope": 172, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 165, - "name": "ElementaryTypeName", - "src": "783:7:2" - } - ], - "id": 166, - "name": "VariableDeclaration", - "src": "783:17:2" - }, - { - "attributes": { - "constant": false, - "indexed": false, - "name": "value", - "scope": 172, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint", - "type": "uint256" - }, - "id": 167, - "name": "ElementaryTypeName", - "src": "849:4:2" - } - ], - "id": 168, - "name": "VariableDeclaration", - "src": "849:10:2" - }, - { - "attributes": { - "constant": false, - "indexed": false, - "name": "data", - "scope": 172, - "stateVariable": false, - "storageLocation": "default", - "type": "bytes memory", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bytes", - "type": "bytes storage pointer" - }, - "id": 169, - "name": "ElementaryTypeName", - "src": "902:5:2" - } - ], - "id": 170, - "name": "VariableDeclaration", - "src": "902:10:2" - } - ], - "id": 171, - "name": "ParameterList", - "src": "487:472:2" - } - ], - "id": 172, - "name": "EventDefinition", - "src": "471:489:2" - }, - { - "attributes": { - "anonymous": false, - "name": "TokenTransacted" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "indexed": false, - "name": "msgSender", - "scope": 186, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 173, - "name": "ElementaryTypeName", - "src": "990:7:2" - } - ], - "id": 174, - "name": "VariableDeclaration", - "src": "990:17:2" - }, - { - "attributes": { - "constant": false, - "indexed": false, - "name": "otherSigner", - "scope": 186, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 175, - "name": "ElementaryTypeName", - "src": "1080:7:2" - } - ], - "id": 176, - "name": "VariableDeclaration", - "src": "1080:19:2" - }, - { - "attributes": { - "constant": false, - "indexed": false, - "name": "operation", - "scope": 186, - "stateVariable": false, - "storageLocation": "default", - "type": "bytes32", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bytes32", - "type": "bytes32" - }, - "id": 177, - "name": "ElementaryTypeName", - "src": "1182:7:2" - } - ], - "id": 178, - "name": "VariableDeclaration", - "src": "1182:17:2" - }, - { - "attributes": { - "constant": false, - "indexed": false, - "name": "toAddress", - "scope": 186, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 179, - "name": "ElementaryTypeName", - "src": "1296:7:2" - } - ], - "id": 180, - "name": "VariableDeclaration", - "src": "1296:17:2" - }, - { - "attributes": { - "constant": false, - "indexed": false, - "name": "value", - "scope": 186, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint", - "type": "uint256" - }, - "id": 181, - "name": "ElementaryTypeName", - "src": "1362:4:2" - } - ], - "id": 182, - "name": "VariableDeclaration", - "src": "1362:10:2" - }, - { - "attributes": { - "constant": false, - "indexed": false, - "name": "tokenContractAddress", - "scope": 186, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 183, - "name": "ElementaryTypeName", - "src": "1402:7:2" - } - ], - "id": 184, - "name": "VariableDeclaration", - "src": "1402:28:2" - } - ], - "id": 185, - "name": "ParameterList", - "src": "984:487:2" - } - ], - "id": 186, - "name": "EventDefinition", - "src": "963:509:2" - }, - { - "attributes": { - "constant": false, - "name": "signers", - "scope": 661, - "stateVariable": true, - "storageLocation": "default", - "type": "address[] storage ref", - "value": null, - "visibility": "public" - }, - "children": [ - { - "attributes": { - "length": null, - "type": "address[] storage pointer" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 187, - "name": "ElementaryTypeName", - "src": "1495:7:2" - } - ], - "id": 188, - "name": "ArrayTypeName", - "src": "1495:9:2" - } - ], - "id": 189, - "name": "VariableDeclaration", - "src": "1495:24:2" - }, - { - "attributes": { - "constant": false, - "name": "safeMode", - "scope": 661, - "stateVariable": true, - "storageLocation": "default", - "type": "bool", - "visibility": "public" - }, - "children": [ - { - "attributes": { - "name": "bool", - "type": "bool" - }, - "id": 190, - "name": "ElementaryTypeName", - "src": "1584:4:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "66616c7365", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "bool", - "type": "bool", - "value": "false" - }, - "id": 191, - "name": "Literal", - "src": "1607:5:2" - } - ], - "id": 192, - "name": "VariableDeclaration", - "src": "1584:28:2" - }, - { - "attributes": { - "constant": true, - "name": "SEQUENCE_ID_WINDOW_SIZE", - "scope": 661, - "stateVariable": true, - "storageLocation": "default", - "type": "uint256", - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint", - "type": "uint256" - }, - "id": 193, - "name": "ElementaryTypeName", - "src": "1695:4:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "3130", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "number", - "type": "int_const 10", - "value": "10" - }, - "id": 194, - "name": "Literal", - "src": "1735:2:2" - } - ], - "id": 195, - "name": "VariableDeclaration", - "src": "1695:42:2" - }, - { - "attributes": { - "constant": false, - "name": "recentSequenceIds", - "scope": 661, - "stateVariable": true, - "storageLocation": "default", - "type": "uint256[10] storage ref", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "type": "uint256[10] storage pointer" - }, - "children": [ - { - "attributes": { - "name": "uint", - "type": "uint256" - }, - "id": 196, - "name": "ElementaryTypeName", - "src": "1741:4:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "3130", - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "subdenomination": null, - "token": "number", - "type": "int_const 10", - "value": "10" - }, - "id": 197, - "name": "Literal", - "src": "1746:2:2" - } - ], - "id": 198, - "name": "ArrayTypeName", - "src": "1741:8:2" - } - ], - "id": 199, - "name": "VariableDeclaration", - "src": "1741:26:2" - }, - { - "attributes": { - "name": "onlysigner", - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 200, - "name": "ParameterList", - "src": "1914:0:2" - }, - { - "children": [ - { - "attributes": { - "falseBody": null - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "!", - "prefix": true, - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "bool", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 508, - "type": "function (address) returns (bool)", - "value": "isSigner" - }, - "id": 201, - "name": "Identifier", - "src": "1925:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 673, - "type": "msg", - "value": "msg" - }, - "id": 202, - "name": "Identifier", - "src": "1934:3:2" - } - ], - "id": 203, - "name": "MemberAccess", - "src": "1934:10:2" - } - ], - "id": 204, - "name": "FunctionCall", - "src": "1925:20:2" - } - ], - "id": 205, - "name": "UnaryOperation", - "src": "1924:21:2" - }, - { - "children": [ - { - "children": [], - "id": 206, - "name": "Throw", - "src": "1955:5:2" - } - ], - "id": 207, - "name": "Block", - "src": "1947:20:2" - } - ], - "id": 208, - "name": "IfStatement", - "src": "1920:47:2" - }, - { - "id": 209, - "name": "PlaceholderStatement", - "src": "1972:1:2" - } - ], - "id": 210, - "name": "Block", - "src": "1914:64:2" - } - ], - "id": 211, - "name": "ModifierDefinition", - "src": "1894:84:2" - }, - { - "attributes": { - "constant": false, - "implemented": true, - "isConstructor": true, - "modifiers": [ - null - ], - "name": "WalletSimple", - "payable": false, - "scope": 661, - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "allowedSigners", - "scope": 229, - "stateVariable": false, - "storageLocation": "default", - "type": "address[] memory", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "length": null, - "type": "address[] storage pointer" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 212, - "name": "ElementaryTypeName", - "src": "2375:7:2" - } - ], - "id": 213, - "name": "ArrayTypeName", - "src": "2375:9:2" - } - ], - "id": 214, - "name": "VariableDeclaration", - "src": "2375:24:2" - } - ], - "id": 215, - "name": "ParameterList", - "src": "2374:26:2" - }, - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 216, - "name": "ParameterList", - "src": "2401:0:2" - }, - { - "children": [ - { - "attributes": { - "falseBody": null - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "!=", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "length", - "referencedDeclaration": null, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 214, - "type": "address[] memory", - "value": "allowedSigners" - }, - "id": 217, - "name": "Identifier", - "src": "2411:14:2" - } - ], - "id": 218, - "name": "MemberAccess", - "src": "2411:21:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "33", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "number", - "type": "int_const 3", - "value": "3" - }, - "id": 219, - "name": "Literal", - "src": "2436:1:2" - } - ], - "id": 220, - "name": "BinaryOperation", - "src": "2411:26:2" - }, - { - "children": [ - { - "children": [], - "id": 221, - "name": "Throw", - "src": "2482:5:2" - } - ], - "id": 222, - "name": "Block", - "src": "2439:55:2" - } - ], - "id": 223, - "name": "IfStatement", - "src": "2407:87:2" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "=", - "type": "address[] storage ref" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 189, - "type": "address[] storage ref", - "value": "signers" - }, - "id": 224, - "name": "Identifier", - "src": "2499:7:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 214, - "type": "address[] memory", - "value": "allowedSigners" - }, - "id": 225, - "name": "Identifier", - "src": "2509:14:2" - } - ], - "id": 226, - "name": "Assignment", - "src": "2499:24:2" - } - ], - "id": 227, - "name": "ExpressionStatement", - "src": "2499:24:2" - } - ], - "id": 228, - "name": "Block", - "src": "2401:127:2" - } - ], - "id": 229, - "name": "FunctionDefinition", - "src": "2353:175:2" - }, - { - "attributes": { - "constant": false, - "implemented": true, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "", - "payable": true, - "scope": 661, - "stateMutability": "payable", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 230, - "name": "ParameterList", - "src": "2625:2:2" - }, - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 231, - "name": "ParameterList", - "src": "2636:0:2" - }, - { - "children": [ - { - "attributes": { - "falseBody": null - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": ">", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "value", - "referencedDeclaration": null, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 673, - "type": "msg", - "value": "msg" - }, - "id": 232, - "name": "Identifier", - "src": "2646:3:2" - } - ], - "id": 233, - "name": "MemberAccess", - "src": "2646:9:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "30", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "number", - "type": "int_const 0", - "value": "0" - }, - "id": 234, - "name": "Literal", - "src": "2658:1:2" - } - ], - "id": 235, - "name": "BinaryOperation", - "src": "2646:13:2" - }, - { - "children": [ - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "tuple()", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 154, - "type": "function (address,uint256,bytes memory)", - "value": "Deposited" - }, - "id": 236, - "name": "Identifier", - "src": "2725:9:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 673, - "type": "msg", - "value": "msg" - }, - "id": 237, - "name": "Identifier", - "src": "2735:3:2" - } - ], - "id": 238, - "name": "MemberAccess", - "src": "2735:10:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "value", - "referencedDeclaration": null, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 673, - "type": "msg", - "value": "msg" - }, - "id": 239, - "name": "Identifier", - "src": "2747:3:2" - } - ], - "id": 240, - "name": "MemberAccess", - "src": "2747:9:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "data", - "referencedDeclaration": null, - "type": "bytes calldata" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 673, - "type": "msg", - "value": "msg" - }, - "id": 241, - "name": "Identifier", - "src": "2758:3:2" - } - ], - "id": 242, - "name": "MemberAccess", - "src": "2758:8:2" - } - ], - "id": 243, - "name": "FunctionCall", - "src": "2725:42:2" - } - ], - "id": 244, - "name": "ExpressionStatement", - "src": "2725:42:2" - } - ], - "id": 245, - "name": "Block", - "src": "2661:113:2" - } - ], - "id": 246, - "name": "IfStatement", - "src": "2642:132:2" - } - ], - "id": 247, - "name": "Block", - "src": "2636:142:2" - } - ], - "id": 248, - "name": "FunctionDefinition", - "src": "2617:161:2" - }, - { - "attributes": { - "constant": false, - "implemented": true, - "isConstructor": false, - "name": "createForwarder", - "payable": false, - "scope": 661, - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 249, - "name": "ParameterList", - "src": "2957:2:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "", - "scope": 260, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 252, - "name": "ElementaryTypeName", - "src": "2980:7:2" - } - ], - "id": 253, - "name": "VariableDeclaration", - "src": "2980:7:2" - } - ], - "id": 254, - "name": "ParameterList", - "src": "2979:9:2" - }, - { - "attributes": { - "arguments": [ - null - ] - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 211, - "type": "modifier ()", - "value": "onlysigner" - }, - "id": 250, - "name": "Identifier", - "src": "2960:10:2" - } - ], - "id": 251, - "name": "ModifierInvocation", - "src": "2960:10:2" - }, - { - "children": [ - { - "attributes": { - "functionReturnParameters": 254 - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "arguments": [ - null - ], - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "contract Forwarder", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - null - ], - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "type": "function () returns (contract Forwarder)" - }, - "children": [ - { - "attributes": { - "contractScope": null, - "name": "Forwarder", - "referencedDeclaration": 142, - "type": "contract Forwarder" - }, - "id": 255, - "name": "UserDefinedTypeName", - "src": "3006:9:2" - } - ], - "id": 256, - "name": "NewExpression", - "src": "3002:13:2" - } - ], - "id": 257, - "name": "FunctionCall", - "src": "3002:15:2" - } - ], - "id": 258, - "name": "Return", - "src": "2995:22:2" - } - ], - "id": 259, - "name": "Block", - "src": "2989:33:2" - } - ], - "id": 260, - "name": "FunctionDefinition", - "src": "2933:89:2" - }, - { - "attributes": { - "constant": false, - "implemented": true, - "isConstructor": false, - "name": "sendMultiSig", - "payable": false, - "scope": 661, - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "toAddress", - "scope": 319, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 261, - "name": "ElementaryTypeName", - "src": "3922:7:2" - } - ], - "id": 262, - "name": "VariableDeclaration", - "src": "3922:17:2" - }, - { - "attributes": { - "constant": false, - "name": "value", - "scope": 319, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint", - "type": "uint256" - }, - "id": 263, - "name": "ElementaryTypeName", - "src": "3941:4:2" - } - ], - "id": 264, - "name": "VariableDeclaration", - "src": "3941:10:2" - }, - { - "attributes": { - "constant": false, - "name": "data", - "scope": 319, - "stateVariable": false, - "storageLocation": "default", - "type": "bytes memory", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bytes", - "type": "bytes storage pointer" - }, - "id": 265, - "name": "ElementaryTypeName", - "src": "3953:5:2" - } - ], - "id": 266, - "name": "VariableDeclaration", - "src": "3953:10:2" - }, - { - "attributes": { - "constant": false, - "name": "expireTime", - "scope": 319, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint", - "type": "uint256" - }, - "id": 267, - "name": "ElementaryTypeName", - "src": "3965:4:2" - } - ], - "id": 268, - "name": "VariableDeclaration", - "src": "3965:15:2" - }, - { - "attributes": { - "constant": false, - "name": "sequenceId", - "scope": 319, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint", - "type": "uint256" - }, - "id": 269, - "name": "ElementaryTypeName", - "src": "3982:4:2" - } - ], - "id": 270, - "name": "VariableDeclaration", - "src": "3982:15:2" - }, - { - "attributes": { - "constant": false, - "name": "signature", - "scope": 319, - "stateVariable": false, - "storageLocation": "default", - "type": "bytes memory", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bytes", - "type": "bytes storage pointer" - }, - "id": 271, - "name": "ElementaryTypeName", - "src": "3999:5:2" - } - ], - "id": 272, - "name": "VariableDeclaration", - "src": "3999:15:2" - } - ], - "id": 273, - "name": "ParameterList", - "src": "3921:94:2" - }, - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 276, - "name": "ParameterList", - "src": "4027:0:2" - }, - { - "attributes": { - "arguments": [ - null - ] - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 211, - "type": "modifier ()", - "value": "onlysigner" - }, - "id": 274, - "name": "Identifier", - "src": "4016:10:2" - } - ], - "id": 275, - "name": "ModifierInvocation", - "src": "4016:10:2" - }, - { - "children": [ - { - "attributes": { - "assignments": [ - 277 - ] - }, - "children": [ - { - "attributes": { - "constant": false, - "name": "operationHash", - "scope": 319, - "stateVariable": false, - "storageLocation": "default", - "type": "bytes32", - "typeName": null, - "value": null, - "visibility": "internal" - }, - "children": [], - "id": 277, - "name": "VariableDeclaration", - "src": "4064:17:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "bytes32", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_10516e70ec8c5048d00c1cd49852831bc8997d009e9f6718ca31f63fc81f1f25", - "typeString": "literal_string \"ETHER\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 681, - "type": "function () pure returns (bytes32)", - "value": "sha3" - }, - "id": 278, - "name": "Identifier", - "src": "4084:4:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "4554484552", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "string", - "type": "literal_string \"ETHER\"", - "value": "ETHER" - }, - "id": 279, - "name": "Literal", - "src": "4089:7:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 262, - "type": "address", - "value": "toAddress" - }, - "id": 280, - "name": "Identifier", - "src": "4098:9:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 264, - "type": "uint256", - "value": "value" - }, - "id": 281, - "name": "Identifier", - "src": "4109:5:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 266, - "type": "bytes memory", - "value": "data" - }, - "id": 282, - "name": "Identifier", - "src": "4116:4:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 268, - "type": "uint256", - "value": "expireTime" - }, - "id": 283, - "name": "Identifier", - "src": "4122:10:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 270, - "type": "uint256", - "value": "sequenceId" - }, - "id": 284, - "name": "Identifier", - "src": "4134:10:2" - } - ], - "id": 285, - "name": "FunctionCall", - "src": "4084:61:2" - } - ], - "id": 286, - "name": "VariableDeclarationStatement", - "src": "4064:81:2" - }, - { - "attributes": { - "assignments": [ - 287 - ] - }, - "children": [ - { - "attributes": { - "constant": false, - "name": "otherSigner", - "scope": 319, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "typeName": null, - "value": null, - "visibility": "internal" - }, - "children": [], - "id": 287, - "name": "VariableDeclaration", - "src": "4156:15:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "address", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 461, - "type": "function (address,bytes32,bytes memory,uint256,uint256) returns (address)", - "value": "verifyMultiSig" - }, - "id": 288, - "name": "Identifier", - "src": "4174:14:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 262, - "type": "address", - "value": "toAddress" - }, - "id": 289, - "name": "Identifier", - "src": "4189:9:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 277, - "type": "bytes32", - "value": "operationHash" - }, - "id": 290, - "name": "Identifier", - "src": "4200:13:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 272, - "type": "bytes memory", - "value": "signature" - }, - "id": 291, - "name": "Identifier", - "src": "4215:9:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 268, - "type": "uint256", - "value": "expireTime" - }, - "id": 292, - "name": "Identifier", - "src": "4226:10:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 270, - "type": "uint256", - "value": "sequenceId" - }, - "id": 293, - "name": "Identifier", - "src": "4238:10:2" - } - ], - "id": 294, - "name": "FunctionCall", - "src": "4174:75:2" - } - ], - "id": 295, - "name": "VariableDeclarationStatement", - "src": "4156:93:2" - }, - { - "attributes": { - "falseBody": null - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "!", - "prefix": true, - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "bool", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "function () payable returns (bool)", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "value", - "referencedDeclaration": null, - "type": "function (uint256) returns (function () payable returns (bool))" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "call", - "referencedDeclaration": null, - "type": "function () payable returns (bool)" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 262, - "type": "address", - "value": "toAddress" - }, - "id": 296, - "name": "Identifier", - "src": "4299:9:2" - } - ], - "id": 297, - "name": "MemberAccess", - "src": "4299:14:2" - } - ], - "id": 298, - "name": "MemberAccess", - "src": "4299:20:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 264, - "type": "uint256", - "value": "value" - }, - "id": 299, - "name": "Identifier", - "src": "4320:5:2" - } - ], - "id": 300, - "name": "FunctionCall", - "src": "4299:27:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 266, - "type": "bytes memory", - "value": "data" - }, - "id": 301, - "name": "Identifier", - "src": "4327:4:2" - } - ], - "id": 302, - "name": "FunctionCall", - "src": "4299:33:2" - } - ], - "id": 303, - "name": "TupleExpression", - "src": "4298:35:2" - } - ], - "id": 304, - "name": "UnaryOperation", - "src": "4297:36:2" - }, - { - "children": [ - { - "children": [], - "id": 305, - "name": "Throw", - "src": "4381:5:2" - } - ], - "id": 306, - "name": "Block", - "src": "4335:58:2" - } - ], - "id": 307, - "name": "IfStatement", - "src": "4293:100:2" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "tuple()", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 172, - "type": "function (address,address,bytes32,address,uint256,bytes memory)", - "value": "Transacted" - }, - "id": 308, - "name": "Identifier", - "src": "4398:10:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 673, - "type": "msg", - "value": "msg" - }, - "id": 309, - "name": "Identifier", - "src": "4409:3:2" - } - ], - "id": 310, - "name": "MemberAccess", - "src": "4409:10:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 287, - "type": "address", - "value": "otherSigner" - }, - "id": 311, - "name": "Identifier", - "src": "4421:11:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 277, - "type": "bytes32", - "value": "operationHash" - }, - "id": 312, - "name": "Identifier", - "src": "4434:13:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 262, - "type": "address", - "value": "toAddress" - }, - "id": 313, - "name": "Identifier", - "src": "4449:9:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 264, - "type": "uint256", - "value": "value" - }, - "id": 314, - "name": "Identifier", - "src": "4460:5:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 266, - "type": "bytes memory", - "value": "data" - }, - "id": 315, - "name": "Identifier", - "src": "4467:4:2" - } - ], - "id": 316, - "name": "FunctionCall", - "src": "4398:74:2" - } - ], - "id": 317, - "name": "ExpressionStatement", - "src": "4398:74:2" - } - ], - "id": 318, - "name": "Block", - "src": "4027:450:2" - } - ], - "id": 319, - "name": "FunctionDefinition", - "src": "3900:577:2" - }, - { - "attributes": { - "constant": false, - "implemented": true, - "isConstructor": false, - "name": "sendMultiSigToken", - "payable": false, - "scope": 661, - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "toAddress", - "scope": 381, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 320, - "name": "ElementaryTypeName", - "src": "5414:7:2" - } - ], - "id": 321, - "name": "VariableDeclaration", - "src": "5414:17:2" - }, - { - "attributes": { - "constant": false, - "name": "value", - "scope": 381, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint", - "type": "uint256" - }, - "id": 322, - "name": "ElementaryTypeName", - "src": "5433:4:2" - } - ], - "id": 323, - "name": "VariableDeclaration", - "src": "5433:10:2" - }, - { - "attributes": { - "constant": false, - "name": "tokenContractAddress", - "scope": 381, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 324, - "name": "ElementaryTypeName", - "src": "5445:7:2" - } - ], - "id": 325, - "name": "VariableDeclaration", - "src": "5445:28:2" - }, - { - "attributes": { - "constant": false, - "name": "expireTime", - "scope": 381, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint", - "type": "uint256" - }, - "id": 326, - "name": "ElementaryTypeName", - "src": "5475:4:2" - } - ], - "id": 327, - "name": "VariableDeclaration", - "src": "5475:15:2" - }, - { - "attributes": { - "constant": false, - "name": "sequenceId", - "scope": 381, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint", - "type": "uint256" - }, - "id": 328, - "name": "ElementaryTypeName", - "src": "5492:4:2" - } - ], - "id": 329, - "name": "VariableDeclaration", - "src": "5492:15:2" - }, - { - "attributes": { - "constant": false, - "name": "signature", - "scope": 381, - "stateVariable": false, - "storageLocation": "default", - "type": "bytes memory", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bytes", - "type": "bytes storage pointer" - }, - "id": 330, - "name": "ElementaryTypeName", - "src": "5509:5:2" - } - ], - "id": 331, - "name": "VariableDeclaration", - "src": "5509:15:2" - } - ], - "id": 332, - "name": "ParameterList", - "src": "5413:112:2" - }, - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 335, - "name": "ParameterList", - "src": "5537:0:2" - }, - { - "attributes": { - "arguments": [ - null - ] - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 211, - "type": "modifier ()", - "value": "onlysigner" - }, - "id": 333, - "name": "Identifier", - "src": "5526:10:2" - } - ], - "id": 334, - "name": "ModifierInvocation", - "src": "5526:10:2" - }, - { - "children": [ - { - "attributes": { - "assignments": [ - 336 - ] - }, - "children": [ - { - "attributes": { - "constant": false, - "name": "operationHash", - "scope": 381, - "stateVariable": false, - "storageLocation": "default", - "type": "bytes32", - "typeName": null, - "value": null, - "visibility": "internal" - }, - "children": [], - "id": 336, - "name": "VariableDeclaration", - "src": "5574:17:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "bytes32", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_8ae85d849167ff996c04040c44924fd364217285e4cad818292c7ac37c0a345b", - "typeString": "literal_string \"ERC20\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 681, - "type": "function () pure returns (bytes32)", - "value": "sha3" - }, - "id": 337, - "name": "Identifier", - "src": "5594:4:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "4552433230", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "string", - "type": "literal_string \"ERC20\"", - "value": "ERC20" - }, - "id": 338, - "name": "Literal", - "src": "5599:7:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 321, - "type": "address", - "value": "toAddress" - }, - "id": 339, - "name": "Identifier", - "src": "5608:9:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 323, - "type": "uint256", - "value": "value" - }, - "id": 340, - "name": "Identifier", - "src": "5619:5:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 325, - "type": "address", - "value": "tokenContractAddress" - }, - "id": 341, - "name": "Identifier", - "src": "5626:20:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 327, - "type": "uint256", - "value": "expireTime" - }, - "id": 342, - "name": "Identifier", - "src": "5648:10:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 329, - "type": "uint256", - "value": "sequenceId" - }, - "id": 343, - "name": "Identifier", - "src": "5660:10:2" - } - ], - "id": 344, - "name": "FunctionCall", - "src": "5594:77:2" - } - ], - "id": 345, - "name": "VariableDeclarationStatement", - "src": "5574:97:2" - }, - { - "attributes": { - "assignments": [ - 346 - ] - }, - "children": [ - { - "attributes": { - "constant": false, - "name": "otherSigner", - "scope": 381, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "typeName": null, - "value": null, - "visibility": "internal" - }, - "children": [], - "id": 346, - "name": "VariableDeclaration", - "src": "5682:15:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "address", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 461, - "type": "function (address,bytes32,bytes memory,uint256,uint256) returns (address)", - "value": "verifyMultiSig" - }, - "id": 347, - "name": "Identifier", - "src": "5700:14:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 321, - "type": "address", - "value": "toAddress" - }, - "id": 348, - "name": "Identifier", - "src": "5715:9:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 336, - "type": "bytes32", - "value": "operationHash" - }, - "id": 349, - "name": "Identifier", - "src": "5726:13:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 331, - "type": "bytes memory", - "value": "signature" - }, - "id": 350, - "name": "Identifier", - "src": "5741:9:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 327, - "type": "uint256", - "value": "expireTime" - }, - "id": 351, - "name": "Identifier", - "src": "5752:10:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 329, - "type": "uint256", - "value": "sequenceId" - }, - "id": 352, - "name": "Identifier", - "src": "5764:10:2" - } - ], - "id": 353, - "name": "FunctionCall", - "src": "5700:75:2" - } - ], - "id": 354, - "name": "VariableDeclarationStatement", - "src": "5682:93:2" - }, - { - "attributes": { - "assignments": [ - 356 - ] - }, - "children": [ - { - "attributes": { - "constant": false, - "name": "instance", - "scope": 381, - "stateVariable": false, - "storageLocation": "default", - "type": "contract ERC20Interface", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "contractScope": null, - "name": "ERC20Interface", - "referencedDeclaration": 18, - "type": "contract ERC20Interface" - }, - "id": 355, - "name": "UserDefinedTypeName", - "src": "5786:14:2" - } - ], - "id": 356, - "name": "VariableDeclaration", - "src": "5786:23:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "contract ERC20Interface", - "type_conversion": true - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 18, - "type": "type(contract ERC20Interface)", - "value": "ERC20Interface" - }, - "id": 357, - "name": "Identifier", - "src": "5812:14:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 325, - "type": "address", - "value": "tokenContractAddress" - }, - "id": 358, - "name": "Identifier", - "src": "5827:20:2" - } - ], - "id": 359, - "name": "FunctionCall", - "src": "5812:36:2" - } - ], - "id": 360, - "name": "VariableDeclarationStatement", - "src": "5786:62:2" - }, - { - "attributes": { - "falseBody": null - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "!", - "prefix": true, - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "bool", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "transfer", - "referencedDeclaration": 10, - "type": "function (address,uint256) external returns (bool)" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 356, - "type": "contract ERC20Interface", - "value": "instance" - }, - "id": 361, - "name": "Identifier", - "src": "5859:8:2" - } - ], - "id": 362, - "name": "MemberAccess", - "src": "5859:17:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 321, - "type": "address", - "value": "toAddress" - }, - "id": 363, - "name": "Identifier", - "src": "5877:9:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 323, - "type": "uint256", - "value": "value" - }, - "id": 364, - "name": "Identifier", - "src": "5888:5:2" - } - ], - "id": 365, - "name": "FunctionCall", - "src": "5859:35:2" - } - ], - "id": 366, - "name": "UnaryOperation", - "src": "5858:36:2" - }, - { - "children": [ - { - "children": [], - "id": 367, - "name": "Throw", - "src": "5906:5:2" - } - ], - "id": 368, - "name": "Block", - "src": "5896:22:2" - } - ], - "id": 369, - "name": "IfStatement", - "src": "5854:64:2" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "tuple()", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 186, - "type": "function (address,address,bytes32,address,uint256,address)", - "value": "TokenTransacted" - }, - "id": 370, - "name": "Identifier", - "src": "5923:15:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 673, - "type": "msg", - "value": "msg" - }, - "id": 371, - "name": "Identifier", - "src": "5939:3:2" - } - ], - "id": 372, - "name": "MemberAccess", - "src": "5939:10:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 346, - "type": "address", - "value": "otherSigner" - }, - "id": 373, - "name": "Identifier", - "src": "5951:11:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 336, - "type": "bytes32", - "value": "operationHash" - }, - "id": 374, - "name": "Identifier", - "src": "5964:13:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 321, - "type": "address", - "value": "toAddress" - }, - "id": 375, - "name": "Identifier", - "src": "5979:9:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 323, - "type": "uint256", - "value": "value" - }, - "id": 376, - "name": "Identifier", - "src": "5990:5:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 325, - "type": "address", - "value": "tokenContractAddress" - }, - "id": 377, - "name": "Identifier", - "src": "5997:20:2" - } - ], - "id": 378, - "name": "FunctionCall", - "src": "5923:95:2" - } - ], - "id": 379, - "name": "ExpressionStatement", - "src": "5923:95:2" - } - ], - "id": 380, - "name": "Block", - "src": "5537:486:2" - } - ], - "id": 381, - "name": "FunctionDefinition", - "src": "5387:636:2" - }, - { - "attributes": { - "constant": false, - "implemented": true, - "isConstructor": false, - "name": "flushForwarderTokens", - "payable": false, - "scope": 661, - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "forwarderAddress", - "scope": 403, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 382, - "name": "ElementaryTypeName", - "src": "6376:7:2" - } - ], - "id": 383, - "name": "VariableDeclaration", - "src": "6376:24:2" - }, - { - "attributes": { - "constant": false, - "name": "tokenContractAddress", - "scope": 403, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 384, - "name": "ElementaryTypeName", - "src": "6402:7:2" - } - ], - "id": 385, - "name": "VariableDeclaration", - "src": "6402:28:2" - } - ], - "id": 386, - "name": "ParameterList", - "src": "6375:56:2" - }, - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 389, - "name": "ParameterList", - "src": "6443:0:2" - }, - { - "attributes": { - "arguments": [ - null - ] - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 211, - "type": "modifier ()", - "value": "onlysigner" - }, - "id": 387, - "name": "Identifier", - "src": "6432:10:2" - } - ], - "id": 388, - "name": "ModifierInvocation", - "src": "6432:10:2" - }, - { - "children": [ - { - "attributes": { - "assignments": [ - 391 - ] - }, - "children": [ - { - "attributes": { - "constant": false, - "name": "forwarder", - "scope": 403, - "stateVariable": false, - "storageLocation": "default", - "type": "contract Forwarder", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "contractScope": null, - "name": "Forwarder", - "referencedDeclaration": 142, - "type": "contract Forwarder" - }, - "id": 390, - "name": "UserDefinedTypeName", - "src": "6453:9:2" - } - ], - "id": 391, - "name": "VariableDeclaration", - "src": "6453:19:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "contract Forwarder", - "type_conversion": true - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 142, - "type": "type(contract Forwarder)", - "value": "Forwarder" - }, - "id": 392, - "name": "Identifier", - "src": "6475:9:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 383, - "type": "address", - "value": "forwarderAddress" - }, - "id": 393, - "name": "Identifier", - "src": "6485:16:2" - } - ], - "id": 394, - "name": "FunctionCall", - "src": "6475:27:2" - } - ], - "id": 395, - "name": "VariableDeclarationStatement", - "src": "6453:49:2" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "tuple()", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "flushTokens", - "referencedDeclaration": 127, - "type": "function (address) external" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 391, - "type": "contract Forwarder", - "value": "forwarder" - }, - "id": 396, - "name": "Identifier", - "src": "6508:9:2" - } - ], - "id": 398, - "name": "MemberAccess", - "src": "6508:21:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 385, - "type": "address", - "value": "tokenContractAddress" - }, - "id": 399, - "name": "Identifier", - "src": "6530:20:2" - } - ], - "id": 400, - "name": "FunctionCall", - "src": "6508:43:2" - } - ], - "id": 401, - "name": "ExpressionStatement", - "src": "6508:43:2" - } - ], - "id": 402, - "name": "Block", - "src": "6443:113:2" - } - ], - "id": 403, - "name": "FunctionDefinition", - "src": "6346:210:2" - }, - { - "attributes": { - "constant": false, - "implemented": true, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "verifyMultiSig", - "payable": false, - "scope": 661, - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "toAddress", - "scope": 461, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 404, - "name": "ElementaryTypeName", - "src": "7211:7:2" - } - ], - "id": 405, - "name": "VariableDeclaration", - "src": "7211:17:2" - }, - { - "attributes": { - "constant": false, - "name": "operationHash", - "scope": 461, - "stateVariable": false, - "storageLocation": "default", - "type": "bytes32", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bytes32", - "type": "bytes32" - }, - "id": 406, - "name": "ElementaryTypeName", - "src": "7230:7:2" - } - ], - "id": 407, - "name": "VariableDeclaration", - "src": "7230:21:2" - }, - { - "attributes": { - "constant": false, - "name": "signature", - "scope": 461, - "stateVariable": false, - "storageLocation": "default", - "type": "bytes memory", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bytes", - "type": "bytes storage pointer" - }, - "id": 408, - "name": "ElementaryTypeName", - "src": "7253:5:2" - } - ], - "id": 409, - "name": "VariableDeclaration", - "src": "7253:15:2" - }, - { - "attributes": { - "constant": false, - "name": "expireTime", - "scope": 461, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint", - "type": "uint256" - }, - "id": 410, - "name": "ElementaryTypeName", - "src": "7270:4:2" - } - ], - "id": 411, - "name": "VariableDeclaration", - "src": "7270:15:2" - }, - { - "attributes": { - "constant": false, - "name": "sequenceId", - "scope": 461, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint", - "type": "uint256" - }, - "id": 412, - "name": "ElementaryTypeName", - "src": "7287:4:2" - } - ], - "id": 413, - "name": "VariableDeclaration", - "src": "7287:15:2" - } - ], - "id": 414, - "name": "ParameterList", - "src": "7210:93:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "", - "scope": 461, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 415, - "name": "ElementaryTypeName", - "src": "7321:7:2" - } - ], - "id": 416, - "name": "VariableDeclaration", - "src": "7321:7:2" - } - ], - "id": 417, - "name": "ParameterList", - "src": "7320:9:2" - }, - { - "children": [ - { - "attributes": { - "assignments": [ - 418 - ] - }, - "children": [ - { - "attributes": { - "constant": false, - "name": "otherSigner", - "scope": 461, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "typeName": null, - "value": null, - "visibility": "internal" - }, - "children": [], - "id": 418, - "name": "VariableDeclaration", - "src": "7337:15:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "address", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 551, - "type": "function (bytes32,bytes memory) returns (address)", - "value": "recoverAddressFromSignature" - }, - "id": 419, - "name": "Identifier", - "src": "7355:27:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 407, - "type": "bytes32", - "value": "operationHash" - }, - "id": 420, - "name": "Identifier", - "src": "7383:13:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 409, - "type": "bytes memory", - "value": "signature" - }, - "id": 421, - "name": "Identifier", - "src": "7398:9:2" - } - ], - "id": 422, - "name": "FunctionCall", - "src": "7355:53:2" - } - ], - "id": 423, - "name": "VariableDeclarationStatement", - "src": "7337:71:2" - }, - { - "attributes": { - "falseBody": null - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "&&", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 192, - "type": "bool", - "value": "safeMode" - }, - "id": 424, - "name": "Identifier", - "src": "7507:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "!", - "prefix": true, - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "bool", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 508, - "type": "function (address) returns (bool)", - "value": "isSigner" - }, - "id": 425, - "name": "Identifier", - "src": "7520:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 405, - "type": "address", - "value": "toAddress" - }, - "id": 426, - "name": "Identifier", - "src": "7529:9:2" - } - ], - "id": 427, - "name": "FunctionCall", - "src": "7520:19:2" - } - ], - "id": 428, - "name": "UnaryOperation", - "src": "7519:20:2" - } - ], - "id": 429, - "name": "BinaryOperation", - "src": "7507:32:2" - }, - { - "children": [ - { - "children": [], - "id": 430, - "name": "Throw", - "src": "7623:5:2" - } - ], - "id": 431, - "name": "Block", - "src": "7541:94:2" - } - ], - "id": 432, - "name": "IfStatement", - "src": "7503:132:2" - }, - { - "attributes": { - "falseBody": null - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "<", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 411, - "type": "uint256", - "value": "expireTime" - }, - "id": 433, - "name": "Identifier", - "src": "7695:10:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "timestamp", - "referencedDeclaration": null, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 665, - "type": "block", - "value": "block" - }, - "id": 434, - "name": "Identifier", - "src": "7708:5:2" - } - ], - "id": 435, - "name": "MemberAccess", - "src": "7708:15:2" - } - ], - "id": 436, - "name": "BinaryOperation", - "src": "7695:28:2" - }, - { - "children": [ - { - "children": [], - "id": 437, - "name": "Throw", - "src": "7762:5:2" - } - ], - "id": 438, - "name": "Block", - "src": "7725:49:2" - } - ], - "id": 439, - "name": "IfStatement", - "src": "7691:83:2" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "tuple()", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 621, - "type": "function (uint256)", - "value": "tryInsertSequenceId" - }, - "id": 440, - "name": "Identifier", - "src": "7860:19:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 413, - "type": "uint256", - "value": "sequenceId" - }, - "id": 441, - "name": "Identifier", - "src": "7880:10:2" - } - ], - "id": 442, - "name": "FunctionCall", - "src": "7860:31:2" - } - ], - "id": 443, - "name": "ExpressionStatement", - "src": "7860:31:2" - }, - { - "attributes": { - "falseBody": null - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "!", - "prefix": true, - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "bool", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 508, - "type": "function (address) returns (bool)", - "value": "isSigner" - }, - "id": 444, - "name": "Identifier", - "src": "7903:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 418, - "type": "address", - "value": "otherSigner" - }, - "id": 445, - "name": "Identifier", - "src": "7912:11:2" - } - ], - "id": 446, - "name": "FunctionCall", - "src": "7903:21:2" - } - ], - "id": 447, - "name": "UnaryOperation", - "src": "7902:22:2" - }, - { - "children": [ - { - "children": [], - "id": 448, - "name": "Throw", - "src": "8013:5:2" - } - ], - "id": 449, - "name": "Block", - "src": "7926:99:2" - } - ], - "id": 450, - "name": "IfStatement", - "src": "7898:127:2" - }, - { - "attributes": { - "falseBody": null - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "==", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 418, - "type": "address", - "value": "otherSigner" - }, - "id": 451, - "name": "Identifier", - "src": "8034:11:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 673, - "type": "msg", - "value": "msg" - }, - "id": 452, - "name": "Identifier", - "src": "8049:3:2" - } - ], - "id": 453, - "name": "MemberAccess", - "src": "8049:10:2" - } - ], - "id": 454, - "name": "BinaryOperation", - "src": "8034:25:2" - }, - { - "children": [ - { - "children": [], - "id": 455, - "name": "Throw", - "src": "8109:5:2" - } - ], - "id": 456, - "name": "Block", - "src": "8061:60:2" - } - ], - "id": 457, - "name": "IfStatement", - "src": "8030:91:2" - }, - { - "attributes": { - "functionReturnParameters": 417 - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 418, - "type": "address", - "value": "otherSigner" - }, - "id": 458, - "name": "Identifier", - "src": "8134:11:2" - } - ], - "id": 459, - "name": "Return", - "src": "8127:18:2" - } - ], - "id": 460, - "name": "Block", - "src": "7330:820:2" - } - ], - "id": 461, - "name": "FunctionDefinition", - "src": "7187:963:2" - }, - { - "attributes": { - "constant": false, - "implemented": true, - "isConstructor": false, - "name": "activateSafeMode", - "payable": false, - "scope": 661, - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 462, - "name": "ParameterList", - "src": "8309:2:2" - }, - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 465, - "name": "ParameterList", - "src": "8323:0:2" - }, - { - "attributes": { - "arguments": [ - null - ] - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 211, - "type": "modifier ()", - "value": "onlysigner" - }, - "id": 463, - "name": "Identifier", - "src": "8312:10:2" - } - ], - "id": 464, - "name": "ModifierInvocation", - "src": "8312:10:2" - }, - { - "children": [ - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "=", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 192, - "type": "bool", - "value": "safeMode" - }, - "id": 466, - "name": "Identifier", - "src": "8329:8:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "74727565", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "bool", - "type": "bool", - "value": "true" - }, - "id": 467, - "name": "Literal", - "src": "8340:4:2" - } - ], - "id": 468, - "name": "Assignment", - "src": "8329:15:2" - } - ], - "id": 469, - "name": "ExpressionStatement", - "src": "8329:15:2" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "tuple()", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 158, - "type": "function (address)", - "value": "SafeModeActivated" - }, - "id": 470, - "name": "Identifier", - "src": "8350:17:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 673, - "type": "msg", - "value": "msg" - }, - "id": 471, - "name": "Identifier", - "src": "8368:3:2" - } - ], - "id": 472, - "name": "MemberAccess", - "src": "8368:10:2" - } - ], - "id": 473, - "name": "FunctionCall", - "src": "8350:29:2" - } - ], - "id": 474, - "name": "ExpressionStatement", - "src": "8350:29:2" - } - ], - "id": 475, - "name": "Block", - "src": "8323:61:2" - } - ], - "id": 476, - "name": "FunctionDefinition", - "src": "8284:100:2" - }, - { - "attributes": { - "constant": false, - "implemented": true, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "isSigner", - "payable": false, - "scope": 661, - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "signer", - "scope": 508, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 477, - "name": "ElementaryTypeName", - "src": "8575:7:2" - } - ], - "id": 478, - "name": "VariableDeclaration", - "src": "8575:14:2" - } - ], - "id": 479, - "name": "ParameterList", - "src": "8574:16:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "", - "scope": 508, - "stateVariable": false, - "storageLocation": "default", - "type": "bool", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bool", - "type": "bool" - }, - "id": 480, - "name": "ElementaryTypeName", - "src": "8600:4:2" - } - ], - "id": 481, - "name": "VariableDeclaration", - "src": "8600:4:2" - } - ], - "id": 482, - "name": "ParameterList", - "src": "8599:6:2" - }, - { - "children": [ - { - "children": [ - { - "attributes": { - "assignments": [ - 484 - ] - }, - "children": [ - { - "attributes": { - "constant": false, - "name": "i", - "scope": 508, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint", - "type": "uint256" - }, - "id": 483, - "name": "ElementaryTypeName", - "src": "8670:4:2" - } - ], - "id": 484, - "name": "VariableDeclaration", - "src": "8670:6:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "30", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "number", - "type": "int_const 0", - "value": "0" - }, - "id": 485, - "name": "Literal", - "src": "8679:1:2" - } - ], - "id": 486, - "name": "VariableDeclarationStatement", - "src": "8670:10:2" - }, - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "<", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 484, - "type": "uint256", - "value": "i" - }, - "id": 487, - "name": "Identifier", - "src": "8682:1:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "member_name": "length", - "referencedDeclaration": null, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 189, - "type": "address[] storage ref", - "value": "signers" - }, - "id": 488, - "name": "Identifier", - "src": "8686:7:2" - } - ], - "id": 489, - "name": "MemberAccess", - "src": "8686:14:2" - } - ], - "id": 490, - "name": "BinaryOperation", - "src": "8682:18:2" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "++", - "prefix": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 484, - "type": "uint256", - "value": "i" - }, - "id": 491, - "name": "Identifier", - "src": "8702:1:2" - } - ], - "id": 492, - "name": "UnaryOperation", - "src": "8702:3:2" - } - ], - "id": 493, - "name": "ExpressionStatement", - "src": "8702:3:2" - }, - { - "children": [ - { - "attributes": { - "falseBody": null - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "==", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 189, - "type": "address[] storage ref", - "value": "signers" - }, - "id": 494, - "name": "Identifier", - "src": "8719:7:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 484, - "type": "uint256", - "value": "i" - }, - "id": 495, - "name": "Identifier", - "src": "8727:1:2" - } - ], - "id": 496, - "name": "IndexAccess", - "src": "8719:10:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 478, - "type": "address", - "value": "signer" - }, - "id": 497, - "name": "Identifier", - "src": "8733:6:2" - } - ], - "id": 498, - "name": "BinaryOperation", - "src": "8719:20:2" - }, - { - "children": [ - { - "attributes": { - "functionReturnParameters": 482 - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "hexvalue": "74727565", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "bool", - "type": "bool", - "value": "true" - }, - "id": 499, - "name": "Literal", - "src": "8758:4:2" - } - ], - "id": 500, - "name": "Return", - "src": "8751:11:2" - } - ], - "id": 501, - "name": "Block", - "src": "8741:30:2" - } - ], - "id": 502, - "name": "IfStatement", - "src": "8715:56:2" - } - ], - "id": 503, - "name": "Block", - "src": "8707:70:2" - } - ], - "id": 504, - "name": "ForStatement", - "src": "8665:112:2" - }, - { - "attributes": { - "functionReturnParameters": 482 - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "hexvalue": "66616c7365", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "bool", - "type": "bool", - "value": "false" - }, - "id": 505, - "name": "Literal", - "src": "8789:5:2" - } - ], - "id": 506, - "name": "Return", - "src": "8782:12:2" - } - ], - "id": 507, - "name": "Block", - "src": "8606:193:2" - } - ], - "id": 508, - "name": "FunctionDefinition", - "src": "8557:242:2" - }, - { - "attributes": { - "constant": false, - "implemented": true, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "recoverAddressFromSignature", - "payable": false, - "scope": 661, - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "operationHash", - "scope": 551, - "stateVariable": false, - "storageLocation": "default", - "type": "bytes32", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bytes32", - "type": "bytes32" - }, - "id": 509, - "name": "ElementaryTypeName", - "src": "9170:7:2" - } - ], - "id": 510, - "name": "VariableDeclaration", - "src": "9170:21:2" - }, - { - "attributes": { - "constant": false, - "name": "signature", - "scope": 551, - "stateVariable": false, - "storageLocation": "default", - "type": "bytes memory", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bytes", - "type": "bytes storage pointer" - }, - "id": 511, - "name": "ElementaryTypeName", - "src": "9193:5:2" - } - ], - "id": 512, - "name": "VariableDeclaration", - "src": "9193:15:2" - } - ], - "id": 513, - "name": "ParameterList", - "src": "9169:40:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "", - "scope": 551, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "type": "address" - }, - "id": 514, - "name": "ElementaryTypeName", - "src": "9227:7:2" - } - ], - "id": 515, - "name": "VariableDeclaration", - "src": "9227:7:2" - } - ], - "id": 516, - "name": "ParameterList", - "src": "9226:9:2" - }, - { - "children": [ - { - "attributes": { - "falseBody": null - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "!=", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "length", - "referencedDeclaration": null, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 512, - "type": "bytes memory", - "value": "signature" - }, - "id": 517, - "name": "Identifier", - "src": "9246:9:2" - } - ], - "id": 518, - "name": "MemberAccess", - "src": "9246:16:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "3635", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "number", - "type": "int_const 65", - "value": "65" - }, - "id": 519, - "name": "Literal", - "src": "9266:2:2" - } - ], - "id": 520, - "name": "BinaryOperation", - "src": "9246:22:2" - }, - { - "children": [ - { - "children": [], - "id": 521, - "name": "Throw", - "src": "9278:5:2" - } - ], - "id": 522, - "name": "Block", - "src": "9270:20:2" - } - ], - "id": 523, - "name": "IfStatement", - "src": "9242:48:2" - }, - { - "attributes": { - "assignments": [ - null - ], - "initialValue": null - }, - "children": [ - { - "attributes": { - "constant": false, - "name": "r", - "scope": 551, - "stateVariable": false, - "storageLocation": "default", - "type": "bytes32", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bytes32", - "type": "bytes32" - }, - "id": 524, - "name": "ElementaryTypeName", - "src": "9390:7:2" - } - ], - "id": 525, - "name": "VariableDeclaration", - "src": "9390:9:2" - } - ], - "id": 526, - "name": "VariableDeclarationStatement", - "src": "9390:9:2" - }, - { - "attributes": { - "assignments": [ - null - ], - "initialValue": null - }, - "children": [ - { - "attributes": { - "constant": false, - "name": "s", - "scope": 551, - "stateVariable": false, - "storageLocation": "default", - "type": "bytes32", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "bytes32", - "type": "bytes32" - }, - "id": 527, - "name": "ElementaryTypeName", - "src": "9405:7:2" - } - ], - "id": 528, - "name": "VariableDeclaration", - "src": "9405:9:2" - } - ], - "id": 529, - "name": "VariableDeclarationStatement", - "src": "9405:9:2" - }, - { - "attributes": { - "assignments": [ - null - ], - "initialValue": null - }, - "children": [ - { - "attributes": { - "constant": false, - "name": "v", - "scope": 551, - "stateVariable": false, - "storageLocation": "default", - "type": "uint8", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint8", - "type": "uint8" - }, - "id": 530, - "name": "ElementaryTypeName", - "src": "9420:5:2" - } - ], - "id": 531, - "name": "VariableDeclaration", - "src": "9420:7:2" - } - ], - "id": 532, - "name": "VariableDeclarationStatement", - "src": "9420:7:2" - }, - { - "attributes": { - "externalReferences": [ - { - "r": { - "declaration": 525, - "isOffset": false, - "isSlot": false, - "src": "9450:1:2", - "valueSize": 1 - } - }, - { - "signature": { - "declaration": 512, - "isOffset": false, - "isSlot": false, - "src": "9465:9:2", - "valueSize": 1 - } - }, - { - "s": { - "declaration": 528, - "isOffset": false, - "isSlot": false, - "src": "9487:1:2", - "valueSize": 1 - } - }, - { - "v": { - "declaration": 531, - "isOffset": false, - "isSlot": false, - "src": "9524:1:2", - "valueSize": 1 - } - }, - { - "signature": { - "declaration": 512, - "isOffset": false, - "isSlot": false, - "src": "9502:9:2", - "valueSize": 1 - } - }, - { - "signature": { - "declaration": 512, - "isOffset": false, - "isSlot": false, - "src": "9543:9:2", - "valueSize": 1 - } - } - ], - "operations": "{\n r := mload(add(signature, 32))\n s := mload(add(signature, 64))\n v := and(mload(add(signature, 65)), 255)\n}" - }, - "children": [], - "id": 533, - "name": "InlineAssembly", - "src": "9433:144:2" - }, - { - "attributes": { - "falseBody": null - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "<", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 531, - "type": "uint8", - "value": "v" - }, - "id": 534, - "name": "Identifier", - "src": "9579:1:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "3237", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "number", - "type": "int_const 27", - "value": "27" - }, - "id": 535, - "name": "Literal", - "src": "9583:2:2" - } - ], - "id": 536, - "name": "BinaryOperation", - "src": "9579:6:2" - }, - { - "children": [ - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "+=", - "type": "uint8" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 531, - "type": "uint8", - "value": "v" - }, - "id": 537, - "name": "Identifier", - "src": "9595:1:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "3237", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "number", - "type": "int_const 27", - "value": "27" - }, - "id": 538, - "name": "Literal", - "src": "9600:2:2" - } - ], - "id": 539, - "name": "Assignment", - "src": "9595:7:2" - } - ], - "id": 540, - "name": "ExpressionStatement", - "src": "9595:7:2" - } - ], - "id": 541, - "name": "Block", - "src": "9587:117:2" - } - ], - "id": 542, - "name": "IfStatement", - "src": "9575:129:2" - }, - { - "attributes": { - "functionReturnParameters": 516 - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "address", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 666, - "type": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)", - "value": "ecrecover" - }, - "id": 543, - "name": "Identifier", - "src": "9716:9:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 510, - "type": "bytes32", - "value": "operationHash" - }, - "id": 544, - "name": "Identifier", - "src": "9726:13:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 531, - "type": "uint8", - "value": "v" - }, - "id": 545, - "name": "Identifier", - "src": "9741:1:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 525, - "type": "bytes32", - "value": "r" - }, - "id": 546, - "name": "Identifier", - "src": "9744:1:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 528, - "type": "bytes32", - "value": "s" - }, - "id": 547, - "name": "Identifier", - "src": "9747:1:2" - } - ], - "id": 548, - "name": "FunctionCall", - "src": "9716:33:2" - } - ], - "id": 549, - "name": "Return", - "src": "9709:40:2" - } - ], - "id": 550, - "name": "Block", - "src": "9236:518:2" - } - ], - "id": 551, - "name": "FunctionDefinition", - "src": "9133:621:2" - }, - { - "attributes": { - "constant": false, - "implemented": true, - "isConstructor": false, - "name": "tryInsertSequenceId", - "payable": false, - "scope": 661, - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "sequenceId", - "scope": 621, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint", - "type": "uint256" - }, - "id": 552, - "name": "ElementaryTypeName", - "src": "10142:4:2" - } - ], - "id": 553, - "name": "VariableDeclaration", - "src": "10142:15:2" - } - ], - "id": 554, - "name": "ParameterList", - "src": "10141:17:2" - }, - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 557, - "name": "ParameterList", - "src": "10178:0:2" - }, - { - "attributes": { - "arguments": [ - null - ] - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 211, - "type": "modifier ()", - "value": "onlysigner" - }, - "id": 555, - "name": "Identifier", - "src": "10159:10:2" - } - ], - "id": 556, - "name": "ModifierInvocation", - "src": "10159:10:2" - }, - { - "children": [ - { - "attributes": { - "assignments": [ - 559 - ] - }, - "children": [ - { - "attributes": { - "constant": false, - "name": "lowestValueIndex", - "scope": 621, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint", - "type": "uint256" - }, - "id": 558, - "name": "ElementaryTypeName", - "src": "10248:4:2" - } - ], - "id": 559, - "name": "VariableDeclaration", - "src": "10248:21:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "30", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "number", - "type": "int_const 0", - "value": "0" - }, - "id": 560, - "name": "Literal", - "src": "10272:1:2" - } - ], - "id": 561, - "name": "VariableDeclarationStatement", - "src": "10248:25:2" - }, - { - "children": [ - { - "attributes": { - "assignments": [ - 563 - ] - }, - "children": [ - { - "attributes": { - "constant": false, - "name": "i", - "scope": 621, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint", - "type": "uint256" - }, - "id": 562, - "name": "ElementaryTypeName", - "src": "10284:4:2" - } - ], - "id": 563, - "name": "VariableDeclaration", - "src": "10284:6:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "30", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "number", - "type": "int_const 0", - "value": "0" - }, - "id": 564, - "name": "Literal", - "src": "10293:1:2" - } - ], - "id": 565, - "name": "VariableDeclarationStatement", - "src": "10284:10:2" - }, - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "<", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 563, - "type": "uint256", - "value": "i" - }, - "id": 566, - "name": "Identifier", - "src": "10296:1:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 195, - "type": "uint256", - "value": "SEQUENCE_ID_WINDOW_SIZE" - }, - "id": 567, - "name": "Identifier", - "src": "10300:23:2" - } - ], - "id": 568, - "name": "BinaryOperation", - "src": "10296:27:2" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "++", - "prefix": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 563, - "type": "uint256", - "value": "i" - }, - "id": 569, - "name": "Identifier", - "src": "10325:1:2" - } - ], - "id": 570, - "name": "UnaryOperation", - "src": "10325:3:2" - } - ], - "id": 571, - "name": "ExpressionStatement", - "src": "10325:3:2" - }, - { - "children": [ - { - "attributes": { - "falseBody": null - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "==", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 199, - "type": "uint256[10] storage ref", - "value": "recentSequenceIds" - }, - "id": 572, - "name": "Identifier", - "src": "10342:17:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 563, - "type": "uint256", - "value": "i" - }, - "id": 573, - "name": "Identifier", - "src": "10360:1:2" - } - ], - "id": 574, - "name": "IndexAccess", - "src": "10342:20:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 553, - "type": "uint256", - "value": "sequenceId" - }, - "id": 575, - "name": "Identifier", - "src": "10366:10:2" - } - ], - "id": 576, - "name": "BinaryOperation", - "src": "10342:34:2" - }, - { - "children": [ - { - "children": [], - "id": 577, - "name": "Throw", - "src": "10448:5:2" - } - ], - "id": 578, - "name": "Block", - "src": "10378:84:2" - } - ], - "id": 579, - "name": "IfStatement", - "src": "10338:124:2" - }, - { - "attributes": { - "falseBody": null - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "<", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 199, - "type": "uint256[10] storage ref", - "value": "recentSequenceIds" - }, - "id": 580, - "name": "Identifier", - "src": "10473:17:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 563, - "type": "uint256", - "value": "i" - }, - "id": 581, - "name": "Identifier", - "src": "10491:1:2" - } - ], - "id": 582, - "name": "IndexAccess", - "src": "10473:20:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 199, - "type": "uint256[10] storage ref", - "value": "recentSequenceIds" - }, - "id": 583, - "name": "Identifier", - "src": "10496:17:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 559, - "type": "uint256", - "value": "lowestValueIndex" - }, - "id": 584, - "name": "Identifier", - "src": "10514:16:2" - } - ], - "id": 585, - "name": "IndexAccess", - "src": "10496:35:2" - } - ], - "id": 586, - "name": "BinaryOperation", - "src": "10473:58:2" - }, - { - "children": [ - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "=", - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 559, - "type": "uint256", - "value": "lowestValueIndex" - }, - "id": 587, - "name": "Identifier", - "src": "10543:16:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 563, - "type": "uint256", - "value": "i" - }, - "id": 588, - "name": "Identifier", - "src": "10562:1:2" - } - ], - "id": 589, - "name": "Assignment", - "src": "10543:20:2" - } - ], - "id": 590, - "name": "ExpressionStatement", - "src": "10543:20:2" - } - ], - "id": 591, - "name": "Block", - "src": "10533:39:2" - } - ], - "id": 592, - "name": "IfStatement", - "src": "10469:103:2" - } - ], - "id": 593, - "name": "Block", - "src": "10330:248:2" - } - ], - "id": 594, - "name": "ForStatement", - "src": "10279:299:2" - }, - { - "attributes": { - "falseBody": null - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "<", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 553, - "type": "uint256", - "value": "sequenceId" - }, - "id": 595, - "name": "Identifier", - "src": "10587:10:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 199, - "type": "uint256[10] storage ref", - "value": "recentSequenceIds" - }, - "id": 596, - "name": "Identifier", - "src": "10600:17:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 559, - "type": "uint256", - "value": "lowestValueIndex" - }, - "id": 597, - "name": "Identifier", - "src": "10618:16:2" - } - ], - "id": 598, - "name": "IndexAccess", - "src": "10600:35:2" - } - ], - "id": 599, - "name": "BinaryOperation", - "src": "10587:48:2" - }, - { - "children": [ - { - "children": [], - "id": 600, - "name": "Throw", - "src": "10790:5:2" - } - ], - "id": 601, - "name": "Block", - "src": "10637:165:2" - } - ], - "id": 602, - "name": "IfStatement", - "src": "10583:219:2" - }, - { - "attributes": { - "falseBody": null - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": ">", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 553, - "type": "uint256", - "value": "sequenceId" - }, - "id": 603, - "name": "Identifier", - "src": "10811:10:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "+", - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 199, - "type": "uint256[10] storage ref", - "value": "recentSequenceIds" - }, - "id": 604, - "name": "Identifier", - "src": "10825:17:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 559, - "type": "uint256", - "value": "lowestValueIndex" - }, - "id": 605, - "name": "Identifier", - "src": "10843:16:2" - } - ], - "id": 606, - "name": "IndexAccess", - "src": "10825:35:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "3130303030", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "number", - "type": "int_const 10000", - "value": "10000" - }, - "id": 607, - "name": "Literal", - "src": "10863:5:2" - } - ], - "id": 608, - "name": "BinaryOperation", - "src": "10825:43:2" - } - ], - "id": 609, - "name": "TupleExpression", - "src": "10824:45:2" - } - ], - "id": 610, - "name": "BinaryOperation", - "src": "10811:58:2" - }, - { - "children": [ - { - "children": [], - "id": 611, - "name": "Throw", - "src": "11044:5:2" - } - ], - "id": 612, - "name": "Block", - "src": "10871:185:2" - } - ], - "id": 613, - "name": "IfStatement", - "src": "10807:249:2" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "=", - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 199, - "type": "uint256[10] storage ref", - "value": "recentSequenceIds" - }, - "id": 614, - "name": "Identifier", - "src": "11061:17:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 559, - "type": "uint256", - "value": "lowestValueIndex" - }, - "id": 615, - "name": "Identifier", - "src": "11079:16:2" - } - ], - "id": 616, - "name": "IndexAccess", - "src": "11061:35:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 553, - "type": "uint256", - "value": "sequenceId" - }, - "id": 617, - "name": "Identifier", - "src": "11099:10:2" - } - ], - "id": 618, - "name": "Assignment", - "src": "11061:48:2" - } - ], - "id": 619, - "name": "ExpressionStatement", - "src": "11061:48:2" - } - ], - "id": 620, - "name": "Block", - "src": "10178:936:2" - } - ], - "id": 621, - "name": "FunctionDefinition", - "src": "10113:1001:2" - }, - { - "attributes": { - "constant": false, - "implemented": true, - "isConstructor": false, - "modifiers": [ - null - ], - "name": "getNextSequenceId", - "payable": false, - "scope": 661, - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 622, - "name": "ParameterList", - "src": "11311:2:2" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "", - "scope": 660, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint", - "type": "uint256" - }, - "id": 623, - "name": "ElementaryTypeName", - "src": "11323:4:2" - } - ], - "id": 624, - "name": "VariableDeclaration", - "src": "11323:4:2" - } - ], - "id": 625, - "name": "ParameterList", - "src": "11322:6:2" - }, - { - "children": [ - { - "attributes": { - "assignments": [ - 627 - ] - }, - "children": [ - { - "attributes": { - "constant": false, - "name": "highestSequenceId", - "scope": 660, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint", - "type": "uint256" - }, - "id": 626, - "name": "ElementaryTypeName", - "src": "11335:4:2" - } - ], - "id": 627, - "name": "VariableDeclaration", - "src": "11335:22:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "30", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "number", - "type": "int_const 0", - "value": "0" - }, - "id": 628, - "name": "Literal", - "src": "11360:1:2" - } - ], - "id": 629, - "name": "VariableDeclarationStatement", - "src": "11335:26:2" - }, - { - "children": [ - { - "attributes": { - "assignments": [ - 631 - ] - }, - "children": [ - { - "attributes": { - "constant": false, - "name": "i", - "scope": 660, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint", - "type": "uint256" - }, - "id": 630, - "name": "ElementaryTypeName", - "src": "11372:4:2" - } - ], - "id": 631, - "name": "VariableDeclaration", - "src": "11372:6:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "30", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "number", - "type": "int_const 0", - "value": "0" - }, - "id": 632, - "name": "Literal", - "src": "11381:1:2" - } - ], - "id": 633, - "name": "VariableDeclarationStatement", - "src": "11372:10:2" - }, - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "<", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 631, - "type": "uint256", - "value": "i" - }, - "id": 634, - "name": "Identifier", - "src": "11384:1:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 195, - "type": "uint256", - "value": "SEQUENCE_ID_WINDOW_SIZE" - }, - "id": 635, - "name": "Identifier", - "src": "11388:23:2" - } - ], - "id": 636, - "name": "BinaryOperation", - "src": "11384:27:2" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "++", - "prefix": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 631, - "type": "uint256", - "value": "i" - }, - "id": 637, - "name": "Identifier", - "src": "11413:1:2" - } - ], - "id": 638, - "name": "UnaryOperation", - "src": "11413:3:2" - } - ], - "id": 639, - "name": "ExpressionStatement", - "src": "11413:3:2" - }, - { - "children": [ - { - "attributes": { - "falseBody": null - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": ">", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 199, - "type": "uint256[10] storage ref", - "value": "recentSequenceIds" - }, - "id": 640, - "name": "Identifier", - "src": "11430:17:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 631, - "type": "uint256", - "value": "i" - }, - "id": 641, - "name": "Identifier", - "src": "11448:1:2" - } - ], - "id": 642, - "name": "IndexAccess", - "src": "11430:20:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 627, - "type": "uint256", - "value": "highestSequenceId" - }, - "id": 643, - "name": "Identifier", - "src": "11453:17:2" - } - ], - "id": 644, - "name": "BinaryOperation", - "src": "11430:40:2" - }, - { - "children": [ - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "=", - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 627, - "type": "uint256", - "value": "highestSequenceId" - }, - "id": 645, - "name": "Identifier", - "src": "11482:17:2" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 199, - "type": "uint256[10] storage ref", - "value": "recentSequenceIds" - }, - "id": 646, - "name": "Identifier", - "src": "11502:17:2" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 631, - "type": "uint256", - "value": "i" - }, - "id": 647, - "name": "Identifier", - "src": "11520:1:2" - } - ], - "id": 648, - "name": "IndexAccess", - "src": "11502:20:2" - } - ], - "id": 649, - "name": "Assignment", - "src": "11482:40:2" - } - ], - "id": 650, - "name": "ExpressionStatement", - "src": "11482:40:2" - } - ], - "id": 651, - "name": "Block", - "src": "11472:59:2" - } - ], - "id": 652, - "name": "IfStatement", - "src": "11426:105:2" - } - ], - "id": 653, - "name": "Block", - "src": "11418:119:2" - } - ], - "id": 654, - "name": "ForStatement", - "src": "11367:170:2" - }, - { - "attributes": { - "functionReturnParameters": 625 - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "+", - "type": "uint256" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 627, - "type": "uint256", - "value": "highestSequenceId" - }, - "id": 655, - "name": "Identifier", - "src": "11549:17:2" - }, - { - "attributes": { - "argumentTypes": null, - "hexvalue": "31", - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "subdenomination": null, - "token": "number", - "type": "int_const 1", - "value": "1" - }, - "id": 656, - "name": "Literal", - "src": "11569:1:2" - } - ], - "id": 657, - "name": "BinaryOperation", - "src": "11549:21:2" - } - ], - "id": 658, - "name": "Return", - "src": "11542:28:2" - } - ], - "id": 659, - "name": "Block", - "src": "11329:246:2" - } - ], - "id": 660, - "name": "FunctionDefinition", - "src": "11285:290:2" - } - ], - "id": 661, - "name": "ContractDefinition", - "src": "330:11247:2" - } - ], - "id": 662, - "name": "SourceUnit", - "src": "0:11578:2" - }, - "compiler": { - "name": "solc", - "version": "0.4.18+commit.9cf6e910.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "1.0.1", - "updatedAt": "2017-11-15T15:21:22.275Z" -} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index c96811c..248bfb7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -796,11 +796,11 @@ } }, "browserify-zlib": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", - "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "requires": { - "pako": "0.2.9" + "pako": "1.0.6" } }, "buffer": { @@ -1282,9 +1282,9 @@ } }, "ethereumjs-testrpc": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ethereumjs-testrpc/-/ethereumjs-testrpc-6.0.1.tgz", - "integrity": "sha1-CdoVoUox2jhPsQwIwPqaxXasgTc=", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/ethereumjs-testrpc/-/ethereumjs-testrpc-6.0.3.tgz", + "integrity": "sha512-lAxxsxDKK69Wuwqym2K49VpXtBvLEsXr1sryNG4AkvL5DomMdeCBbu3D87UEevKenLHBiT8GTjARwN6Yj039gA==", "requires": { "webpack": "3.8.1" } @@ -1476,9 +1476,9 @@ "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=" }, "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", "requires": { "fs.realpath": "1.0.0", "inflight": "1.0.6", @@ -1590,9 +1590,9 @@ "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==" }, "https-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", - "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" }, "ieee754": { "version": "1.1.8", @@ -2133,19 +2133,6 @@ "ms": "2.0.0" } }, - "glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", - "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, "supports-color": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", @@ -2175,20 +2162,20 @@ } }, "node-libs-browser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.0.0.tgz", - "integrity": "sha1-o6WeyXAkmFtG6Vg3lkb5bEthZkY=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", + "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", "requires": { "assert": "1.4.1", - "browserify-zlib": "0.1.4", + "browserify-zlib": "0.2.0", "buffer": "4.9.1", "console-browserify": "1.1.0", "constants-browserify": "1.0.0", "crypto-browserify": "3.12.0", "domain-browser": "1.1.7", "events": "1.1.1", - "https-browserify": "0.0.1", - "os-browserify": "0.2.1", + "https-browserify": "1.0.0", + "os-browserify": "0.3.0", "path-browserify": "0.0.0", "process": "0.11.10", "punycode": "1.4.1", @@ -2196,19 +2183,12 @@ "readable-stream": "2.3.3", "stream-browserify": "2.0.1", "stream-http": "2.7.2", - "string_decoder": "0.10.31", + "string_decoder": "1.0.3", "timers-browserify": "2.0.4", "tty-browserify": "0.0.0", "url": "0.11.0", "util": "0.10.3", "vm-browserify": "0.0.4" - }, - "dependencies": { - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } } }, "noop-logger": { @@ -2287,9 +2267,9 @@ "integrity": "sha1-DxMEcVhM0zURxew4yNWSE/msXiA=" }, "os-browserify": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz", - "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=" + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" }, "os-homedir": { "version": "1.0.2", @@ -2328,9 +2308,9 @@ } }, "pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", + "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==" }, "parse-asn1": { "version": "5.1.0", @@ -2729,7 +2709,7 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "requires": { - "glob": "7.1.2" + "glob": "7.1.1" } }, "ripemd160": { @@ -2868,6 +2848,41 @@ "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" }, + "solc": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.18.tgz", + "integrity": "sha512-Kq+O3PNF9Pfq7fB+lDYAuoqRdghLmZyfngsg0h1Hj38NKAeVHeGPOGeZasn5KqdPeCzbMFvaGyTySxzGv6aXCg==", + "requires": { + "fs-extra": "0.30.0", + "memorystream": "0.3.1", + "require-from-string": "1.2.1", + "semver": "5.4.1", + "yargs": "4.8.1" + }, + "dependencies": { + "yargs": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", + "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", + "requires": { + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "lodash.assign": "4.2.0", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "window-size": "0.2.0", + "y18n": "3.2.1", + "yargs-parser": "2.4.1" + } + } + } + }, "source-list-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", @@ -3050,41 +3065,6 @@ "mocha": "3.5.3", "original-require": "1.0.1", "solc": "0.4.18" - }, - "dependencies": { - "solc": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.18.tgz", - "integrity": "sha512-Kq+O3PNF9Pfq7fB+lDYAuoqRdghLmZyfngsg0h1Hj38NKAeVHeGPOGeZasn5KqdPeCzbMFvaGyTySxzGv6aXCg==", - "requires": { - "fs-extra": "0.30.0", - "memorystream": "0.3.1", - "require-from-string": "1.2.1", - "semver": "5.4.1", - "yargs": "4.8.1" - } - }, - "yargs": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", - "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", - "requires": { - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "lodash.assign": "4.2.0", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "window-size": "0.2.0", - "y18n": "3.2.1", - "yargs-parser": "2.4.1" - } - } } }, "truffle-config": { @@ -3316,7 +3296,7 @@ "loader-utils": "1.1.0", "memory-fs": "0.4.1", "mkdirp": "0.5.1", - "node-libs-browser": "2.0.0", + "node-libs-browser": "2.1.0", "source-map": "0.5.7", "supports-color": "4.5.0", "tapable": "0.2.8", diff --git a/package.json b/package.json index e617e25..02e330e 100644 --- a/package.json +++ b/package.json @@ -23,14 +23,13 @@ "bn": "^1.0.1", "bn.js": "^4.11.3", "ethereumjs-abi": "^0.6.4", - "ethereumjs-testrpc": "^6.0.1", + "ethereumjs-testrpc": "^6.0.3", "ethereumjs-util": "^5.1.2", "lodash": "^4.12.0", - "q": "^1.4.1", + "q": "^1.5.1", "should": "^8.3.1", - "truffle-expect": "^0.0.3", - "truffle-config": "^1.0.0", - "truffle": "^3.3.2", - "web3": "^0.16.0" + "truffle": "^4.0.1", + "truffle-config": "^1.0.3", + "truffle-expect": "^0.0.3" } }