github.com/shyftnetwork/go-empyrean@v1.8.3-0.20191127201940-fbfca9338f04/shyft-config/shyft-cli/web3/transfer-through-master/build/contracts/Transfers.json (about)

     1  {
     2    "contractName": "Transfers",
     3    "abi": [
     4      {
     5        "constant": true,
     6        "inputs": [
     7          {
     8            "name": "",
     9            "type": "address"
    10          }
    11        ],
    12        "name": "balance",
    13        "outputs": [
    14          {
    15            "name": "",
    16            "type": "uint256"
    17          }
    18        ],
    19        "payable": false,
    20        "stateMutability": "view",
    21        "type": "function"
    22      },
    23      {
    24        "inputs": [],
    25        "payable": false,
    26        "stateMutability": "nonpayable",
    27        "type": "constructor"
    28      },
    29      {
    30        "constant": false,
    31        "inputs": [
    32          {
    33            "name": "_addr",
    34            "type": "address"
    35          },
    36          {
    37            "name": "_value",
    38            "type": "uint256"
    39          }
    40        ],
    41        "name": "transfer",
    42        "outputs": [],
    43        "payable": false,
    44        "stateMutability": "nonpayable",
    45        "type": "function"
    46      },
    47      {
    48        "constant": false,
    49        "inputs": [],
    50        "name": "myBalance",
    51        "outputs": [
    52          {
    53            "name": "",
    54            "type": "uint256"
    55          }
    56        ],
    57        "payable": false,
    58        "stateMutability": "nonpayable",
    59        "type": "function"
    60      },
    61      {
    62        "constant": false,
    63        "inputs": [],
    64        "name": "deposit",
    65        "outputs": [
    66          {
    67            "name": "",
    68            "type": "uint256"
    69          }
    70        ],
    71        "payable": true,
    72        "stateMutability": "payable",
    73        "type": "function"
    74      },
    75      {
    76        "constant": false,
    77        "inputs": [
    78          {
    79            "name": "_addr",
    80            "type": "address"
    81          },
    82          {
    83            "name": "_value",
    84            "type": "uint256"
    85          }
    86        ],
    87        "name": "withdraw",
    88        "outputs": [],
    89        "payable": false,
    90        "stateMutability": "nonpayable",
    91        "type": "function"
    92      },
    93      {
    94        "constant": false,
    95        "inputs": [
    96          {
    97            "name": "_addrs",
    98            "type": "address[]"
    99          },
   100          {
   101            "name": "_value",
   102            "type": "uint256"
   103          }
   104        ],
   105        "name": "withdrawMulti",
   106        "outputs": [],
   107        "payable": false,
   108        "stateMutability": "nonpayable",
   109        "type": "function"
   110      }
   111    ],
   112    "bytecode": "0x608060405234801561001057600080fd5b506100196100de565b604051809103906000f080158015610035573d6000803e3d6000fd5b50600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506100ee565b60405161010c806107a683390190565b6106a9806100fd6000396000f300608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680636b557a221461007d578063a9059cbb146100ed578063c9116b691461013a578063d0e30db014610165578063e3d670d714610183578063f3fef3a3146101da575b600080fd5b34801561008957600080fd5b506100eb6004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050610227565b005b3480156100f957600080fd5b50610138600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610349565b005b34801561014657600080fd5b5061014f6104a9565b6040518082815260200191505060405180910390f35b61016d6104ef565b6040518082815260200191505060405180910390f35b34801561018f57600080fd5b506101c4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610581565b6040518082815260200191505060405180910390f35b3480156101e657600080fd5b50610225600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610599565b005b600080835191508183026000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561027d57600080fd5b8183026000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600090505b818110156103435783818151811015156102e657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015610335573d6000803e3d6000fd5b5080806001019150506102d0565b50505050565b6000816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561039857600080fd5b60405180807f7472616e73666572286164647265737329000000000000000000000000000000815250601101905060405180910390209050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682827c0100000000000000000000000000000000000000000000000000000000900490856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060006040518083038185885af1935050505050505050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b6000346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b60006020528060005260406000206000915090505481565b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156105e657600080fd5b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610678573d6000803e3d6000fd5b5050505600a165627a7a7230582027616dd850da56277f5d26180076ffb86aebf0570602984d6f78e48a0c8598e60029608060405234801561001057600080fd5b5060ed8061001f6000396000f300608060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631a695230146044575b600080fd5b6076600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506078565b005b8073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f1935050505015801560bd573d6000803e3d6000fd5b50505600a165627a7a72305820ae0994c7eb91cd4004c210b54de7b64d29752b9044707f7362e662dcd6d19ee40029",
   113    "deployedBytecode": "0x608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680636b557a221461007d578063a9059cbb146100ed578063c9116b691461013a578063d0e30db014610165578063e3d670d714610183578063f3fef3a3146101da575b600080fd5b34801561008957600080fd5b506100eb6004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050610227565b005b3480156100f957600080fd5b50610138600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610349565b005b34801561014657600080fd5b5061014f6104a9565b6040518082815260200191505060405180910390f35b61016d6104ef565b6040518082815260200191505060405180910390f35b34801561018f57600080fd5b506101c4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610581565b6040518082815260200191505060405180910390f35b3480156101e657600080fd5b50610225600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610599565b005b600080835191508183026000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561027d57600080fd5b8183026000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600090505b818110156103435783818151811015156102e657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015610335573d6000803e3d6000fd5b5080806001019150506102d0565b50505050565b6000816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561039857600080fd5b60405180807f7472616e73666572286164647265737329000000000000000000000000000000815250601101905060405180910390209050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682827c0100000000000000000000000000000000000000000000000000000000900490856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060006040518083038185885af1935050505050505050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b6000346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b60006020528060005260406000206000915090505481565b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156105e657600080fd5b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610678573d6000803e3d6000fd5b5050505600a165627a7a7230582027616dd850da56277f5d26180076ffb86aebf0570602984d6f78e48a0c8598e60029",
   114    "sourceMap": "54:986:1:-;;;152:79;8:9:-1;5:2;;;30:1;27;20:12;5:2;152:79:1;188:16;;:::i;:::-;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;188:16:1;184:1;;:20;;;;;;;;;;;;;;;;;;225:1;;;;;;;;;;;208:6;;:19;;;;;;;;;;;;;;;;;;54:986;;;;;;;;;;;;:::o;:::-;;;;;;;",
   115    "deployedSourceMap": "54:986:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;797:241;;8:9:-1;5:2;;;30:1;27;20:12;5:2;797:241:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;234:197;;8:9:-1;5:2;;;30:1;27;20:12;5:2;234:197:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;434:77;;8:9:-1;5:2;;;30:1;27;20:12;5:2;434:77:1;;;;;;;;;;;;;;;;;;;;;;;514:119;;;;;;;;;;;;;;;;;;;;;;;76:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;76:40:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;636:158;;8:9:-1;5:2;;;30:1;27;20:12;5:2;636:158:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;797:241;862:6;976;871;:13;862:22;;928:1;919:6;:10;896:7;:19;904:10;896:19;;;;;;;;;;;;;;;;:33;;888:42;;;;;;;;966:1;957:6;:10;934:7;:19;942:10;934:19;;;;;;;;;;;;;;;;:33;;;;;;;;;;;985:1;976:10;;971:64;992:1;988;:5;971:64;;;1004:6;1011:1;1004:9;;;;;;;;;;;;;;;;;;:18;;:26;1023:6;1004:26;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1004:26:1;995:3;;;;;;;971:64;;;797:241;;;;:::o;234:197::-;333:10;322:6;299:7;:19;307:10;299:19;;;;;;;;;;;;;;;;:29;;291:38;;;;;;;;353:30;;;;;;;;;;;;;;;;;;;333:51;;388:6;;;;;;;;;;;:11;;406:6;414:3;388:37;;;;419:5;388:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;234:197;;;:::o;434:77::-;471:4;488:7;:19;496:10;488:19;;;;;;;;;;;;;;;;481:26;;434:77;:::o;514:119::-;557:4;590:9;567:7;:19;575:10;567:19;;;;;;;;;;;;;;;;:32;;;;;;;;;;;610:7;:19;618:10;610:19;;;;;;;;;;;;;;;;603:26;;514:119;:::o;76:40::-;;;;;;;;;;;;;;;;;:::o;636:158::-;724:6;701:7;:19;709:10;701:19;;;;;;;;;;;;;;;;:29;;693:38;;;;;;;;758:6;735:7;:19;743:10;735:19;;;;;;;;;;;;;;;;:29;;;;;;;;;;;768:5;:14;;:22;783:6;768:22;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;768:22:1;636:158;;:::o",
   116    "source": "pragma solidity ^0.4.19;\n\nimport \"./Transfers2.sol\";\n\ncontract Transfers {\n\tmapping (address => uint) public balance;\n\tTransfers2 t;\n\taddress t_addr;\n\n\tfunction Transfers() public {\n\t\tt = new Transfers2();\n\t\tt_addr = address(t);\n\t}\n\n\tfunction transfer(address _addr, uint _value) public {\n\t\trequire(balance[msg.sender] >= _value);\n\t\tbytes4 sig = bytes4(keccak256(\"transfer(address)\"));\n\t\tt_addr.call.value(_value)(sig, _addr);\t\t\n\t}\n\n\tfunction myBalance() public returns (uint) {\n\t\treturn balance[msg.sender];\n\t}\n\n\tfunction deposit() public payable returns (uint) {\n\t\tbalance[msg.sender] += msg.value;\n\t\treturn balance[msg.sender];\n\t}\n\n\tfunction withdraw(address _addr, uint _value) public {\n\t\trequire(balance[msg.sender] >= _value);\n\t\tbalance[msg.sender] -= _value;\n\t\t_addr.transfer(_value);\n\t}\n\n\tfunction withdrawMulti(address[] _addrs, uint _value) public {\n\t\tuint l = _addrs.length;\n\t\trequire(balance[msg.sender] >= _value * l);\n\t\tbalance[msg.sender] -= _value * l;\n\t\tfor (uint i = 0; i < l; i++){\n\t\t\t_addrs[i].transfer(_value);\n\t\t}\n\t}\n}",
   117    "sourcePath": "/Users/dustinbrickwood/go/src/github.com/ShyftNetwork/go-empyrean/shyft-cli/web3/transfer-through-master/contracts/Transfers.sol",
   118    "ast": {
   119      "absolutePath": "/Users/dustinbrickwood/go/src/github.com/ShyftNetwork/go-empyrean/shyft-cli/web3/transfer-through-master/contracts/Transfers.sol",
   120      "exportedSymbols": {
   121        "Transfers": [
   122          233
   123        ]
   124      },
   125      "id": 234,
   126      "nodeType": "SourceUnit",
   127      "nodes": [
   128        {
   129          "id": 58,
   130          "literals": [
   131            "solidity",
   132            "^",
   133            "0.4",
   134            ".19"
   135          ],
   136          "nodeType": "PragmaDirective",
   137          "src": "0:24:1"
   138        },
   139        {
   140          "absolutePath": "/Users/dustinbrickwood/go/src/github.com/ShyftNetwork/go-empyrean/shyft-cli/web3/transfer-through-master/contracts/Transfers2.sol",
   141          "file": "./Transfers2.sol",
   142          "id": 59,
   143          "nodeType": "ImportDirective",
   144          "scope": 234,
   145          "sourceUnit": 250,
   146          "src": "26:26:1",
   147          "symbolAliases": [],
   148          "unitAlias": ""
   149        },
   150        {
   151          "baseContracts": [],
   152          "contractDependencies": [
   153            249
   154          ],
   155          "contractKind": "contract",
   156          "documentation": null,
   157          "fullyImplemented": true,
   158          "id": 233,
   159          "linearizedBaseContracts": [
   160            233
   161          ],
   162          "name": "Transfers",
   163          "nodeType": "ContractDefinition",
   164          "nodes": [
   165            {
   166              "constant": false,
   167              "id": 63,
   168              "name": "balance",
   169              "nodeType": "VariableDeclaration",
   170              "scope": 233,
   171              "src": "76:40:1",
   172              "stateVariable": true,
   173              "storageLocation": "default",
   174              "typeDescriptions": {
   175                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
   176                "typeString": "mapping(address => uint256)"
   177              },
   178              "typeName": {
   179                "id": 62,
   180                "keyType": {
   181                  "id": 60,
   182                  "name": "address",
   183                  "nodeType": "ElementaryTypeName",
   184                  "src": "85:7:1",
   185                  "typeDescriptions": {
   186                    "typeIdentifier": "t_address",
   187                    "typeString": "address"
   188                  }
   189                },
   190                "nodeType": "Mapping",
   191                "src": "76:25:1",
   192                "typeDescriptions": {
   193                  "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
   194                  "typeString": "mapping(address => uint256)"
   195                },
   196                "valueType": {
   197                  "id": 61,
   198                  "name": "uint",
   199                  "nodeType": "ElementaryTypeName",
   200                  "src": "96:4:1",
   201                  "typeDescriptions": {
   202                    "typeIdentifier": "t_uint256",
   203                    "typeString": "uint256"
   204                  }
   205                }
   206              },
   207              "value": null,
   208              "visibility": "public"
   209            },
   210            {
   211              "constant": false,
   212              "id": 65,
   213              "name": "t",
   214              "nodeType": "VariableDeclaration",
   215              "scope": 233,
   216              "src": "119:12:1",
   217              "stateVariable": true,
   218              "storageLocation": "default",
   219              "typeDescriptions": {
   220                "typeIdentifier": "t_contract$_Transfers2_$249",
   221                "typeString": "contract Transfers2"
   222              },
   223              "typeName": {
   224                "contractScope": null,
   225                "id": 64,
   226                "name": "Transfers2",
   227                "nodeType": "UserDefinedTypeName",
   228                "referencedDeclaration": 249,
   229                "src": "119:10:1",
   230                "typeDescriptions": {
   231                  "typeIdentifier": "t_contract$_Transfers2_$249",
   232                  "typeString": "contract Transfers2"
   233                }
   234              },
   235              "value": null,
   236              "visibility": "internal"
   237            },
   238            {
   239              "constant": false,
   240              "id": 67,
   241              "name": "t_addr",
   242              "nodeType": "VariableDeclaration",
   243              "scope": 233,
   244              "src": "134:14:1",
   245              "stateVariable": true,
   246              "storageLocation": "default",
   247              "typeDescriptions": {
   248                "typeIdentifier": "t_address",
   249                "typeString": "address"
   250              },
   251              "typeName": {
   252                "id": 66,
   253                "name": "address",
   254                "nodeType": "ElementaryTypeName",
   255                "src": "134:7:1",
   256                "typeDescriptions": {
   257                  "typeIdentifier": "t_address",
   258                  "typeString": "address"
   259                }
   260              },
   261              "value": null,
   262              "visibility": "internal"
   263            },
   264            {
   265              "body": {
   266                "id": 82,
   267                "nodeType": "Block",
   268                "src": "180:51:1",
   269                "statements": [
   270                  {
   271                    "expression": {
   272                      "argumentTypes": null,
   273                      "id": 74,
   274                      "isConstant": false,
   275                      "isLValue": false,
   276                      "isPure": false,
   277                      "lValueRequested": false,
   278                      "leftHandSide": {
   279                        "argumentTypes": null,
   280                        "id": 70,
   281                        "name": "t",
   282                        "nodeType": "Identifier",
   283                        "overloadedDeclarations": [],
   284                        "referencedDeclaration": 65,
   285                        "src": "184:1:1",
   286                        "typeDescriptions": {
   287                          "typeIdentifier": "t_contract$_Transfers2_$249",
   288                          "typeString": "contract Transfers2"
   289                        }
   290                      },
   291                      "nodeType": "Assignment",
   292                      "operator": "=",
   293                      "rightHandSide": {
   294                        "argumentTypes": null,
   295                        "arguments": [],
   296                        "expression": {
   297                          "argumentTypes": [],
   298                          "id": 72,
   299                          "isConstant": false,
   300                          "isLValue": false,
   301                          "isPure": false,
   302                          "lValueRequested": false,
   303                          "nodeType": "NewExpression",
   304                          "src": "188:14:1",
   305                          "typeDescriptions": {
   306                            "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_Transfers2_$249_$",
   307                            "typeString": "function () returns (contract Transfers2)"
   308                          },
   309                          "typeName": {
   310                            "contractScope": null,
   311                            "id": 71,
   312                            "name": "Transfers2",
   313                            "nodeType": "UserDefinedTypeName",
   314                            "referencedDeclaration": 249,
   315                            "src": "192:10:1",
   316                            "typeDescriptions": {
   317                              "typeIdentifier": "t_contract$_Transfers2_$249",
   318                              "typeString": "contract Transfers2"
   319                            }
   320                          }
   321                        },
   322                        "id": 73,
   323                        "isConstant": false,
   324                        "isLValue": false,
   325                        "isPure": false,
   326                        "kind": "functionCall",
   327                        "lValueRequested": false,
   328                        "names": [],
   329                        "nodeType": "FunctionCall",
   330                        "src": "188:16:1",
   331                        "typeDescriptions": {
   332                          "typeIdentifier": "t_contract$_Transfers2_$249",
   333                          "typeString": "contract Transfers2"
   334                        }
   335                      },
   336                      "src": "184:20:1",
   337                      "typeDescriptions": {
   338                        "typeIdentifier": "t_contract$_Transfers2_$249",
   339                        "typeString": "contract Transfers2"
   340                      }
   341                    },
   342                    "id": 75,
   343                    "nodeType": "ExpressionStatement",
   344                    "src": "184:20:1"
   345                  },
   346                  {
   347                    "expression": {
   348                      "argumentTypes": null,
   349                      "id": 80,
   350                      "isConstant": false,
   351                      "isLValue": false,
   352                      "isPure": false,
   353                      "lValueRequested": false,
   354                      "leftHandSide": {
   355                        "argumentTypes": null,
   356                        "id": 76,
   357                        "name": "t_addr",
   358                        "nodeType": "Identifier",
   359                        "overloadedDeclarations": [],
   360                        "referencedDeclaration": 67,
   361                        "src": "208:6:1",
   362                        "typeDescriptions": {
   363                          "typeIdentifier": "t_address",
   364                          "typeString": "address"
   365                        }
   366                      },
   367                      "nodeType": "Assignment",
   368                      "operator": "=",
   369                      "rightHandSide": {
   370                        "argumentTypes": null,
   371                        "arguments": [
   372                          {
   373                            "argumentTypes": null,
   374                            "id": 78,
   375                            "name": "t",
   376                            "nodeType": "Identifier",
   377                            "overloadedDeclarations": [],
   378                            "referencedDeclaration": 65,
   379                            "src": "225:1:1",
   380                            "typeDescriptions": {
   381                              "typeIdentifier": "t_contract$_Transfers2_$249",
   382                              "typeString": "contract Transfers2"
   383                            }
   384                          }
   385                        ],
   386                        "expression": {
   387                          "argumentTypes": [
   388                            {
   389                              "typeIdentifier": "t_contract$_Transfers2_$249",
   390                              "typeString": "contract Transfers2"
   391                            }
   392                          ],
   393                          "id": 77,
   394                          "isConstant": false,
   395                          "isLValue": false,
   396                          "isPure": true,
   397                          "lValueRequested": false,
   398                          "nodeType": "ElementaryTypeNameExpression",
   399                          "src": "217:7:1",
   400                          "typeDescriptions": {
   401                            "typeIdentifier": "t_type$_t_address_$",
   402                            "typeString": "type(address)"
   403                          },
   404                          "typeName": "address"
   405                        },
   406                        "id": 79,
   407                        "isConstant": false,
   408                        "isLValue": false,
   409                        "isPure": false,
   410                        "kind": "typeConversion",
   411                        "lValueRequested": false,
   412                        "names": [],
   413                        "nodeType": "FunctionCall",
   414                        "src": "217:10:1",
   415                        "typeDescriptions": {
   416                          "typeIdentifier": "t_address",
   417                          "typeString": "address"
   418                        }
   419                      },
   420                      "src": "208:19:1",
   421                      "typeDescriptions": {
   422                        "typeIdentifier": "t_address",
   423                        "typeString": "address"
   424                      }
   425                    },
   426                    "id": 81,
   427                    "nodeType": "ExpressionStatement",
   428                    "src": "208:19:1"
   429                  }
   430                ]
   431              },
   432              "documentation": null,
   433              "id": 83,
   434              "implemented": true,
   435              "isConstructor": true,
   436              "isDeclaredConst": false,
   437              "modifiers": [],
   438              "name": "Transfers",
   439              "nodeType": "FunctionDefinition",
   440              "parameters": {
   441                "id": 68,
   442                "nodeType": "ParameterList",
   443                "parameters": [],
   444                "src": "170:2:1"
   445              },
   446              "payable": false,
   447              "returnParameters": {
   448                "id": 69,
   449                "nodeType": "ParameterList",
   450                "parameters": [],
   451                "src": "180:0:1"
   452              },
   453              "scope": 233,
   454              "src": "152:79:1",
   455              "stateMutability": "nonpayable",
   456              "superFunction": null,
   457              "visibility": "public"
   458            },
   459            {
   460              "body": {
   461                "id": 118,
   462                "nodeType": "Block",
   463                "src": "287:144:1",
   464                "statements": [
   465                  {
   466                    "expression": {
   467                      "argumentTypes": null,
   468                      "arguments": [
   469                        {
   470                          "argumentTypes": null,
   471                          "commonType": {
   472                            "typeIdentifier": "t_uint256",
   473                            "typeString": "uint256"
   474                          },
   475                          "id": 96,
   476                          "isConstant": false,
   477                          "isLValue": false,
   478                          "isPure": false,
   479                          "lValueRequested": false,
   480                          "leftExpression": {
   481                            "argumentTypes": null,
   482                            "baseExpression": {
   483                              "argumentTypes": null,
   484                              "id": 91,
   485                              "name": "balance",
   486                              "nodeType": "Identifier",
   487                              "overloadedDeclarations": [],
   488                              "referencedDeclaration": 63,
   489                              "src": "299:7:1",
   490                              "typeDescriptions": {
   491                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
   492                                "typeString": "mapping(address => uint256)"
   493                              }
   494                            },
   495                            "id": 94,
   496                            "indexExpression": {
   497                              "argumentTypes": null,
   498                              "expression": {
   499                                "argumentTypes": null,
   500                                "id": 92,
   501                                "name": "msg",
   502                                "nodeType": "Identifier",
   503                                "overloadedDeclarations": [],
   504                                "referencedDeclaration": 264,
   505                                "src": "307:3:1",
   506                                "typeDescriptions": {
   507                                  "typeIdentifier": "t_magic_message",
   508                                  "typeString": "msg"
   509                                }
   510                              },
   511                              "id": 93,
   512                              "isConstant": false,
   513                              "isLValue": false,
   514                              "isPure": false,
   515                              "lValueRequested": false,
   516                              "memberName": "sender",
   517                              "nodeType": "MemberAccess",
   518                              "referencedDeclaration": null,
   519                              "src": "307:10:1",
   520                              "typeDescriptions": {
   521                                "typeIdentifier": "t_address",
   522                                "typeString": "address"
   523                              }
   524                            },
   525                            "isConstant": false,
   526                            "isLValue": true,
   527                            "isPure": false,
   528                            "lValueRequested": false,
   529                            "nodeType": "IndexAccess",
   530                            "src": "299:19:1",
   531                            "typeDescriptions": {
   532                              "typeIdentifier": "t_uint256",
   533                              "typeString": "uint256"
   534                            }
   535                          },
   536                          "nodeType": "BinaryOperation",
   537                          "operator": ">=",
   538                          "rightExpression": {
   539                            "argumentTypes": null,
   540                            "id": 95,
   541                            "name": "_value",
   542                            "nodeType": "Identifier",
   543                            "overloadedDeclarations": [],
   544                            "referencedDeclaration": 87,
   545                            "src": "322:6:1",
   546                            "typeDescriptions": {
   547                              "typeIdentifier": "t_uint256",
   548                              "typeString": "uint256"
   549                            }
   550                          },
   551                          "src": "299:29:1",
   552                          "typeDescriptions": {
   553                            "typeIdentifier": "t_bool",
   554                            "typeString": "bool"
   555                          }
   556                        }
   557                      ],
   558                      "expression": {
   559                        "argumentTypes": [
   560                          {
   561                            "typeIdentifier": "t_bool",
   562                            "typeString": "bool"
   563                          }
   564                        ],
   565                        "id": 90,
   566                        "name": "require",
   567                        "nodeType": "Identifier",
   568                        "overloadedDeclarations": [
   569                          267,
   570                          268
   571                        ],
   572                        "referencedDeclaration": 267,
   573                        "src": "291:7:1",
   574                        "typeDescriptions": {
   575                          "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
   576                          "typeString": "function (bool) pure"
   577                        }
   578                      },
   579                      "id": 97,
   580                      "isConstant": false,
   581                      "isLValue": false,
   582                      "isPure": false,
   583                      "kind": "functionCall",
   584                      "lValueRequested": false,
   585                      "names": [],
   586                      "nodeType": "FunctionCall",
   587                      "src": "291:38:1",
   588                      "typeDescriptions": {
   589                        "typeIdentifier": "t_tuple$__$",
   590                        "typeString": "tuple()"
   591                      }
   592                    },
   593                    "id": 98,
   594                    "nodeType": "ExpressionStatement",
   595                    "src": "291:38:1"
   596                  },
   597                  {
   598                    "assignments": [
   599                      100
   600                    ],
   601                    "declarations": [
   602                      {
   603                        "constant": false,
   604                        "id": 100,
   605                        "name": "sig",
   606                        "nodeType": "VariableDeclaration",
   607                        "scope": 119,
   608                        "src": "333:10:1",
   609                        "stateVariable": false,
   610                        "storageLocation": "default",
   611                        "typeDescriptions": {
   612                          "typeIdentifier": "t_bytes4",
   613                          "typeString": "bytes4"
   614                        },
   615                        "typeName": {
   616                          "id": 99,
   617                          "name": "bytes4",
   618                          "nodeType": "ElementaryTypeName",
   619                          "src": "333:6:1",
   620                          "typeDescriptions": {
   621                            "typeIdentifier": "t_bytes4",
   622                            "typeString": "bytes4"
   623                          }
   624                        },
   625                        "value": null,
   626                        "visibility": "internal"
   627                      }
   628                    ],
   629                    "id": 106,
   630                    "initialValue": {
   631                      "argumentTypes": null,
   632                      "arguments": [
   633                        {
   634                          "argumentTypes": null,
   635                          "arguments": [
   636                            {
   637                              "argumentTypes": null,
   638                              "hexValue": "7472616e73666572286164647265737329",
   639                              "id": 103,
   640                              "isConstant": false,
   641                              "isLValue": false,
   642                              "isPure": true,
   643                              "kind": "string",
   644                              "lValueRequested": false,
   645                              "nodeType": "Literal",
   646                              "src": "363:19:1",
   647                              "subdenomination": null,
   648                              "typeDescriptions": {
   649                                "typeIdentifier": "t_stringliteral_1a695230cbbb2b7dfd76397005587fe7ab9ee5f528dbc5a16361e8100dc2c499",
   650                                "typeString": "literal_string \"transfer(address)\""
   651                              },
   652                              "value": "transfer(address)"
   653                            }
   654                          ],
   655                          "expression": {
   656                            "argumentTypes": [
   657                              {
   658                                "typeIdentifier": "t_stringliteral_1a695230cbbb2b7dfd76397005587fe7ab9ee5f528dbc5a16361e8100dc2c499",
   659                                "typeString": "literal_string \"transfer(address)\""
   660                              }
   661                            ],
   662                            "id": 102,
   663                            "name": "keccak256",
   664                            "nodeType": "Identifier",
   665                            "overloadedDeclarations": [],
   666                            "referencedDeclaration": 258,
   667                            "src": "353:9:1",
   668                            "typeDescriptions": {
   669                              "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
   670                              "typeString": "function () pure returns (bytes32)"
   671                            }
   672                          },
   673                          "id": 104,
   674                          "isConstant": false,
   675                          "isLValue": false,
   676                          "isPure": true,
   677                          "kind": "functionCall",
   678                          "lValueRequested": false,
   679                          "names": [],
   680                          "nodeType": "FunctionCall",
   681                          "src": "353:30:1",
   682                          "typeDescriptions": {
   683                            "typeIdentifier": "t_bytes32",
   684                            "typeString": "bytes32"
   685                          }
   686                        }
   687                      ],
   688                      "expression": {
   689                        "argumentTypes": [
   690                          {
   691                            "typeIdentifier": "t_bytes32",
   692                            "typeString": "bytes32"
   693                          }
   694                        ],
   695                        "id": 101,
   696                        "isConstant": false,
   697                        "isLValue": false,
   698                        "isPure": true,
   699                        "lValueRequested": false,
   700                        "nodeType": "ElementaryTypeNameExpression",
   701                        "src": "346:6:1",
   702                        "typeDescriptions": {
   703                          "typeIdentifier": "t_type$_t_bytes4_$",
   704                          "typeString": "type(bytes4)"
   705                        },
   706                        "typeName": "bytes4"
   707                      },
   708                      "id": 105,
   709                      "isConstant": false,
   710                      "isLValue": false,
   711                      "isPure": true,
   712                      "kind": "typeConversion",
   713                      "lValueRequested": false,
   714                      "names": [],
   715                      "nodeType": "FunctionCall",
   716                      "src": "346:38:1",
   717                      "typeDescriptions": {
   718                        "typeIdentifier": "t_bytes4",
   719                        "typeString": "bytes4"
   720                      }
   721                    },
   722                    "nodeType": "VariableDeclarationStatement",
   723                    "src": "333:51:1"
   724                  },
   725                  {
   726                    "expression": {
   727                      "argumentTypes": null,
   728                      "arguments": [
   729                        {
   730                          "argumentTypes": null,
   731                          "id": 114,
   732                          "name": "sig",
   733                          "nodeType": "Identifier",
   734                          "overloadedDeclarations": [],
   735                          "referencedDeclaration": 100,
   736                          "src": "414:3:1",
   737                          "typeDescriptions": {
   738                            "typeIdentifier": "t_bytes4",
   739                            "typeString": "bytes4"
   740                          }
   741                        },
   742                        {
   743                          "argumentTypes": null,
   744                          "id": 115,
   745                          "name": "_addr",
   746                          "nodeType": "Identifier",
   747                          "overloadedDeclarations": [],
   748                          "referencedDeclaration": 85,
   749                          "src": "419:5:1",
   750                          "typeDescriptions": {
   751                            "typeIdentifier": "t_address",
   752                            "typeString": "address"
   753                          }
   754                        }
   755                      ],
   756                      "expression": {
   757                        "argumentTypes": [
   758                          {
   759                            "typeIdentifier": "t_bytes4",
   760                            "typeString": "bytes4"
   761                          },
   762                          {
   763                            "typeIdentifier": "t_address",
   764                            "typeString": "address"
   765                          }
   766                        ],
   767                        "arguments": [
   768                          {
   769                            "argumentTypes": null,
   770                            "id": 112,
   771                            "name": "_value",
   772                            "nodeType": "Identifier",
   773                            "overloadedDeclarations": [],
   774                            "referencedDeclaration": 87,
   775                            "src": "406:6:1",
   776                            "typeDescriptions": {
   777                              "typeIdentifier": "t_uint256",
   778                              "typeString": "uint256"
   779                            }
   780                          }
   781                        ],
   782                        "expression": {
   783                          "argumentTypes": [
   784                            {
   785                              "typeIdentifier": "t_uint256",
   786                              "typeString": "uint256"
   787                            }
   788                          ],
   789                          "expression": {
   790                            "argumentTypes": null,
   791                            "expression": {
   792                              "argumentTypes": null,
   793                              "id": 107,
   794                              "name": "t_addr",
   795                              "nodeType": "Identifier",
   796                              "overloadedDeclarations": [],
   797                              "referencedDeclaration": 67,
   798                              "src": "388:6:1",
   799                              "typeDescriptions": {
   800                                "typeIdentifier": "t_address",
   801                                "typeString": "address"
   802                              }
   803                            },
   804                            "id": 110,
   805                            "isConstant": false,
   806                            "isLValue": false,
   807                            "isPure": false,
   808                            "lValueRequested": false,
   809                            "memberName": "call",
   810                            "nodeType": "MemberAccess",
   811                            "referencedDeclaration": null,
   812                            "src": "388:11:1",
   813                            "typeDescriptions": {
   814                              "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$",
   815                              "typeString": "function () payable returns (bool)"
   816                            }
   817                          },
   818                          "id": 111,
   819                          "isConstant": false,
   820                          "isLValue": false,
   821                          "isPure": false,
   822                          "lValueRequested": false,
   823                          "memberName": "value",
   824                          "nodeType": "MemberAccess",
   825                          "referencedDeclaration": null,
   826                          "src": "388:17:1",
   827                          "typeDescriptions": {
   828                            "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_barecall_payable$__$returns$_t_bool_$value_$",
   829                            "typeString": "function (uint256) returns (function () payable returns (bool))"
   830                          }
   831                        },
   832                        "id": 113,
   833                        "isConstant": false,
   834                        "isLValue": false,
   835                        "isPure": false,
   836                        "kind": "functionCall",
   837                        "lValueRequested": false,
   838                        "names": [],
   839                        "nodeType": "FunctionCall",
   840                        "src": "388:25:1",
   841                        "typeDescriptions": {
   842                          "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$value",
   843                          "typeString": "function () payable returns (bool)"
   844                        }
   845                      },
   846                      "id": 116,
   847                      "isConstant": false,
   848                      "isLValue": false,
   849                      "isPure": false,
   850                      "kind": "functionCall",
   851                      "lValueRequested": false,
   852                      "names": [],
   853                      "nodeType": "FunctionCall",
   854                      "src": "388:37:1",
   855                      "typeDescriptions": {
   856                        "typeIdentifier": "t_bool",
   857                        "typeString": "bool"
   858                      }
   859                    },
   860                    "id": 117,
   861                    "nodeType": "ExpressionStatement",
   862                    "src": "388:37:1"
   863                  }
   864                ]
   865              },
   866              "documentation": null,
   867              "id": 119,
   868              "implemented": true,
   869              "isConstructor": false,
   870              "isDeclaredConst": false,
   871              "modifiers": [],
   872              "name": "transfer",
   873              "nodeType": "FunctionDefinition",
   874              "parameters": {
   875                "id": 88,
   876                "nodeType": "ParameterList",
   877                "parameters": [
   878                  {
   879                    "constant": false,
   880                    "id": 85,
   881                    "name": "_addr",
   882                    "nodeType": "VariableDeclaration",
   883                    "scope": 119,
   884                    "src": "252:13:1",
   885                    "stateVariable": false,
   886                    "storageLocation": "default",
   887                    "typeDescriptions": {
   888                      "typeIdentifier": "t_address",
   889                      "typeString": "address"
   890                    },
   891                    "typeName": {
   892                      "id": 84,
   893                      "name": "address",
   894                      "nodeType": "ElementaryTypeName",
   895                      "src": "252:7:1",
   896                      "typeDescriptions": {
   897                        "typeIdentifier": "t_address",
   898                        "typeString": "address"
   899                      }
   900                    },
   901                    "value": null,
   902                    "visibility": "internal"
   903                  },
   904                  {
   905                    "constant": false,
   906                    "id": 87,
   907                    "name": "_value",
   908                    "nodeType": "VariableDeclaration",
   909                    "scope": 119,
   910                    "src": "267:11:1",
   911                    "stateVariable": false,
   912                    "storageLocation": "default",
   913                    "typeDescriptions": {
   914                      "typeIdentifier": "t_uint256",
   915                      "typeString": "uint256"
   916                    },
   917                    "typeName": {
   918                      "id": 86,
   919                      "name": "uint",
   920                      "nodeType": "ElementaryTypeName",
   921                      "src": "267:4:1",
   922                      "typeDescriptions": {
   923                        "typeIdentifier": "t_uint256",
   924                        "typeString": "uint256"
   925                      }
   926                    },
   927                    "value": null,
   928                    "visibility": "internal"
   929                  }
   930                ],
   931                "src": "251:28:1"
   932              },
   933              "payable": false,
   934              "returnParameters": {
   935                "id": 89,
   936                "nodeType": "ParameterList",
   937                "parameters": [],
   938                "src": "287:0:1"
   939              },
   940              "scope": 233,
   941              "src": "234:197:1",
   942              "stateMutability": "nonpayable",
   943              "superFunction": null,
   944              "visibility": "public"
   945            },
   946            {
   947              "body": {
   948                "id": 129,
   949                "nodeType": "Block",
   950                "src": "477:34:1",
   951                "statements": [
   952                  {
   953                    "expression": {
   954                      "argumentTypes": null,
   955                      "baseExpression": {
   956                        "argumentTypes": null,
   957                        "id": 124,
   958                        "name": "balance",
   959                        "nodeType": "Identifier",
   960                        "overloadedDeclarations": [],
   961                        "referencedDeclaration": 63,
   962                        "src": "488:7:1",
   963                        "typeDescriptions": {
   964                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
   965                          "typeString": "mapping(address => uint256)"
   966                        }
   967                      },
   968                      "id": 127,
   969                      "indexExpression": {
   970                        "argumentTypes": null,
   971                        "expression": {
   972                          "argumentTypes": null,
   973                          "id": 125,
   974                          "name": "msg",
   975                          "nodeType": "Identifier",
   976                          "overloadedDeclarations": [],
   977                          "referencedDeclaration": 264,
   978                          "src": "496:3:1",
   979                          "typeDescriptions": {
   980                            "typeIdentifier": "t_magic_message",
   981                            "typeString": "msg"
   982                          }
   983                        },
   984                        "id": 126,
   985                        "isConstant": false,
   986                        "isLValue": false,
   987                        "isPure": false,
   988                        "lValueRequested": false,
   989                        "memberName": "sender",
   990                        "nodeType": "MemberAccess",
   991                        "referencedDeclaration": null,
   992                        "src": "496:10:1",
   993                        "typeDescriptions": {
   994                          "typeIdentifier": "t_address",
   995                          "typeString": "address"
   996                        }
   997                      },
   998                      "isConstant": false,
   999                      "isLValue": true,
  1000                      "isPure": false,
  1001                      "lValueRequested": false,
  1002                      "nodeType": "IndexAccess",
  1003                      "src": "488:19:1",
  1004                      "typeDescriptions": {
  1005                        "typeIdentifier": "t_uint256",
  1006                        "typeString": "uint256"
  1007                      }
  1008                    },
  1009                    "functionReturnParameters": 123,
  1010                    "id": 128,
  1011                    "nodeType": "Return",
  1012                    "src": "481:26:1"
  1013                  }
  1014                ]
  1015              },
  1016              "documentation": null,
  1017              "id": 130,
  1018              "implemented": true,
  1019              "isConstructor": false,
  1020              "isDeclaredConst": false,
  1021              "modifiers": [],
  1022              "name": "myBalance",
  1023              "nodeType": "FunctionDefinition",
  1024              "parameters": {
  1025                "id": 120,
  1026                "nodeType": "ParameterList",
  1027                "parameters": [],
  1028                "src": "452:2:1"
  1029              },
  1030              "payable": false,
  1031              "returnParameters": {
  1032                "id": 123,
  1033                "nodeType": "ParameterList",
  1034                "parameters": [
  1035                  {
  1036                    "constant": false,
  1037                    "id": 122,
  1038                    "name": "",
  1039                    "nodeType": "VariableDeclaration",
  1040                    "scope": 130,
  1041                    "src": "471:4:1",
  1042                    "stateVariable": false,
  1043                    "storageLocation": "default",
  1044                    "typeDescriptions": {
  1045                      "typeIdentifier": "t_uint256",
  1046                      "typeString": "uint256"
  1047                    },
  1048                    "typeName": {
  1049                      "id": 121,
  1050                      "name": "uint",
  1051                      "nodeType": "ElementaryTypeName",
  1052                      "src": "471:4:1",
  1053                      "typeDescriptions": {
  1054                        "typeIdentifier": "t_uint256",
  1055                        "typeString": "uint256"
  1056                      }
  1057                    },
  1058                    "value": null,
  1059                    "visibility": "internal"
  1060                  }
  1061                ],
  1062                "src": "470:6:1"
  1063              },
  1064              "scope": 233,
  1065              "src": "434:77:1",
  1066              "stateMutability": "nonpayable",
  1067              "superFunction": null,
  1068              "visibility": "public"
  1069            },
  1070            {
  1071              "body": {
  1072                "id": 148,
  1073                "nodeType": "Block",
  1074                "src": "563:70:1",
  1075                "statements": [
  1076                  {
  1077                    "expression": {
  1078                      "argumentTypes": null,
  1079                      "id": 141,
  1080                      "isConstant": false,
  1081                      "isLValue": false,
  1082                      "isPure": false,
  1083                      "lValueRequested": false,
  1084                      "leftHandSide": {
  1085                        "argumentTypes": null,
  1086                        "baseExpression": {
  1087                          "argumentTypes": null,
  1088                          "id": 135,
  1089                          "name": "balance",
  1090                          "nodeType": "Identifier",
  1091                          "overloadedDeclarations": [],
  1092                          "referencedDeclaration": 63,
  1093                          "src": "567:7:1",
  1094                          "typeDescriptions": {
  1095                            "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
  1096                            "typeString": "mapping(address => uint256)"
  1097                          }
  1098                        },
  1099                        "id": 138,
  1100                        "indexExpression": {
  1101                          "argumentTypes": null,
  1102                          "expression": {
  1103                            "argumentTypes": null,
  1104                            "id": 136,
  1105                            "name": "msg",
  1106                            "nodeType": "Identifier",
  1107                            "overloadedDeclarations": [],
  1108                            "referencedDeclaration": 264,
  1109                            "src": "575:3:1",
  1110                            "typeDescriptions": {
  1111                              "typeIdentifier": "t_magic_message",
  1112                              "typeString": "msg"
  1113                            }
  1114                          },
  1115                          "id": 137,
  1116                          "isConstant": false,
  1117                          "isLValue": false,
  1118                          "isPure": false,
  1119                          "lValueRequested": false,
  1120                          "memberName": "sender",
  1121                          "nodeType": "MemberAccess",
  1122                          "referencedDeclaration": null,
  1123                          "src": "575:10:1",
  1124                          "typeDescriptions": {
  1125                            "typeIdentifier": "t_address",
  1126                            "typeString": "address"
  1127                          }
  1128                        },
  1129                        "isConstant": false,
  1130                        "isLValue": true,
  1131                        "isPure": false,
  1132                        "lValueRequested": true,
  1133                        "nodeType": "IndexAccess",
  1134                        "src": "567:19:1",
  1135                        "typeDescriptions": {
  1136                          "typeIdentifier": "t_uint256",
  1137                          "typeString": "uint256"
  1138                        }
  1139                      },
  1140                      "nodeType": "Assignment",
  1141                      "operator": "+=",
  1142                      "rightHandSide": {
  1143                        "argumentTypes": null,
  1144                        "expression": {
  1145                          "argumentTypes": null,
  1146                          "id": 139,
  1147                          "name": "msg",
  1148                          "nodeType": "Identifier",
  1149                          "overloadedDeclarations": [],
  1150                          "referencedDeclaration": 264,
  1151                          "src": "590:3:1",
  1152                          "typeDescriptions": {
  1153                            "typeIdentifier": "t_magic_message",
  1154                            "typeString": "msg"
  1155                          }
  1156                        },
  1157                        "id": 140,
  1158                        "isConstant": false,
  1159                        "isLValue": false,
  1160                        "isPure": false,
  1161                        "lValueRequested": false,
  1162                        "memberName": "value",
  1163                        "nodeType": "MemberAccess",
  1164                        "referencedDeclaration": null,
  1165                        "src": "590:9:1",
  1166                        "typeDescriptions": {
  1167                          "typeIdentifier": "t_uint256",
  1168                          "typeString": "uint256"
  1169                        }
  1170                      },
  1171                      "src": "567:32:1",
  1172                      "typeDescriptions": {
  1173                        "typeIdentifier": "t_uint256",
  1174                        "typeString": "uint256"
  1175                      }
  1176                    },
  1177                    "id": 142,
  1178                    "nodeType": "ExpressionStatement",
  1179                    "src": "567:32:1"
  1180                  },
  1181                  {
  1182                    "expression": {
  1183                      "argumentTypes": null,
  1184                      "baseExpression": {
  1185                        "argumentTypes": null,
  1186                        "id": 143,
  1187                        "name": "balance",
  1188                        "nodeType": "Identifier",
  1189                        "overloadedDeclarations": [],
  1190                        "referencedDeclaration": 63,
  1191                        "src": "610:7:1",
  1192                        "typeDescriptions": {
  1193                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
  1194                          "typeString": "mapping(address => uint256)"
  1195                        }
  1196                      },
  1197                      "id": 146,
  1198                      "indexExpression": {
  1199                        "argumentTypes": null,
  1200                        "expression": {
  1201                          "argumentTypes": null,
  1202                          "id": 144,
  1203                          "name": "msg",
  1204                          "nodeType": "Identifier",
  1205                          "overloadedDeclarations": [],
  1206                          "referencedDeclaration": 264,
  1207                          "src": "618:3:1",
  1208                          "typeDescriptions": {
  1209                            "typeIdentifier": "t_magic_message",
  1210                            "typeString": "msg"
  1211                          }
  1212                        },
  1213                        "id": 145,
  1214                        "isConstant": false,
  1215                        "isLValue": false,
  1216                        "isPure": false,
  1217                        "lValueRequested": false,
  1218                        "memberName": "sender",
  1219                        "nodeType": "MemberAccess",
  1220                        "referencedDeclaration": null,
  1221                        "src": "618:10:1",
  1222                        "typeDescriptions": {
  1223                          "typeIdentifier": "t_address",
  1224                          "typeString": "address"
  1225                        }
  1226                      },
  1227                      "isConstant": false,
  1228                      "isLValue": true,
  1229                      "isPure": false,
  1230                      "lValueRequested": false,
  1231                      "nodeType": "IndexAccess",
  1232                      "src": "610:19:1",
  1233                      "typeDescriptions": {
  1234                        "typeIdentifier": "t_uint256",
  1235                        "typeString": "uint256"
  1236                      }
  1237                    },
  1238                    "functionReturnParameters": 134,
  1239                    "id": 147,
  1240                    "nodeType": "Return",
  1241                    "src": "603:26:1"
  1242                  }
  1243                ]
  1244              },
  1245              "documentation": null,
  1246              "id": 149,
  1247              "implemented": true,
  1248              "isConstructor": false,
  1249              "isDeclaredConst": false,
  1250              "modifiers": [],
  1251              "name": "deposit",
  1252              "nodeType": "FunctionDefinition",
  1253              "parameters": {
  1254                "id": 131,
  1255                "nodeType": "ParameterList",
  1256                "parameters": [],
  1257                "src": "530:2:1"
  1258              },
  1259              "payable": true,
  1260              "returnParameters": {
  1261                "id": 134,
  1262                "nodeType": "ParameterList",
  1263                "parameters": [
  1264                  {
  1265                    "constant": false,
  1266                    "id": 133,
  1267                    "name": "",
  1268                    "nodeType": "VariableDeclaration",
  1269                    "scope": 149,
  1270                    "src": "557:4:1",
  1271                    "stateVariable": false,
  1272                    "storageLocation": "default",
  1273                    "typeDescriptions": {
  1274                      "typeIdentifier": "t_uint256",
  1275                      "typeString": "uint256"
  1276                    },
  1277                    "typeName": {
  1278                      "id": 132,
  1279                      "name": "uint",
  1280                      "nodeType": "ElementaryTypeName",
  1281                      "src": "557:4:1",
  1282                      "typeDescriptions": {
  1283                        "typeIdentifier": "t_uint256",
  1284                        "typeString": "uint256"
  1285                      }
  1286                    },
  1287                    "value": null,
  1288                    "visibility": "internal"
  1289                  }
  1290                ],
  1291                "src": "556:6:1"
  1292              },
  1293              "scope": 233,
  1294              "src": "514:119:1",
  1295              "stateMutability": "payable",
  1296              "superFunction": null,
  1297              "visibility": "public"
  1298            },
  1299            {
  1300              "body": {
  1301                "id": 178,
  1302                "nodeType": "Block",
  1303                "src": "689:105:1",
  1304                "statements": [
  1305                  {
  1306                    "expression": {
  1307                      "argumentTypes": null,
  1308                      "arguments": [
  1309                        {
  1310                          "argumentTypes": null,
  1311                          "commonType": {
  1312                            "typeIdentifier": "t_uint256",
  1313                            "typeString": "uint256"
  1314                          },
  1315                          "id": 162,
  1316                          "isConstant": false,
  1317                          "isLValue": false,
  1318                          "isPure": false,
  1319                          "lValueRequested": false,
  1320                          "leftExpression": {
  1321                            "argumentTypes": null,
  1322                            "baseExpression": {
  1323                              "argumentTypes": null,
  1324                              "id": 157,
  1325                              "name": "balance",
  1326                              "nodeType": "Identifier",
  1327                              "overloadedDeclarations": [],
  1328                              "referencedDeclaration": 63,
  1329                              "src": "701:7:1",
  1330                              "typeDescriptions": {
  1331                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
  1332                                "typeString": "mapping(address => uint256)"
  1333                              }
  1334                            },
  1335                            "id": 160,
  1336                            "indexExpression": {
  1337                              "argumentTypes": null,
  1338                              "expression": {
  1339                                "argumentTypes": null,
  1340                                "id": 158,
  1341                                "name": "msg",
  1342                                "nodeType": "Identifier",
  1343                                "overloadedDeclarations": [],
  1344                                "referencedDeclaration": 264,
  1345                                "src": "709:3:1",
  1346                                "typeDescriptions": {
  1347                                  "typeIdentifier": "t_magic_message",
  1348                                  "typeString": "msg"
  1349                                }
  1350                              },
  1351                              "id": 159,
  1352                              "isConstant": false,
  1353                              "isLValue": false,
  1354                              "isPure": false,
  1355                              "lValueRequested": false,
  1356                              "memberName": "sender",
  1357                              "nodeType": "MemberAccess",
  1358                              "referencedDeclaration": null,
  1359                              "src": "709:10:1",
  1360                              "typeDescriptions": {
  1361                                "typeIdentifier": "t_address",
  1362                                "typeString": "address"
  1363                              }
  1364                            },
  1365                            "isConstant": false,
  1366                            "isLValue": true,
  1367                            "isPure": false,
  1368                            "lValueRequested": false,
  1369                            "nodeType": "IndexAccess",
  1370                            "src": "701:19:1",
  1371                            "typeDescriptions": {
  1372                              "typeIdentifier": "t_uint256",
  1373                              "typeString": "uint256"
  1374                            }
  1375                          },
  1376                          "nodeType": "BinaryOperation",
  1377                          "operator": ">=",
  1378                          "rightExpression": {
  1379                            "argumentTypes": null,
  1380                            "id": 161,
  1381                            "name": "_value",
  1382                            "nodeType": "Identifier",
  1383                            "overloadedDeclarations": [],
  1384                            "referencedDeclaration": 153,
  1385                            "src": "724:6:1",
  1386                            "typeDescriptions": {
  1387                              "typeIdentifier": "t_uint256",
  1388                              "typeString": "uint256"
  1389                            }
  1390                          },
  1391                          "src": "701:29:1",
  1392                          "typeDescriptions": {
  1393                            "typeIdentifier": "t_bool",
  1394                            "typeString": "bool"
  1395                          }
  1396                        }
  1397                      ],
  1398                      "expression": {
  1399                        "argumentTypes": [
  1400                          {
  1401                            "typeIdentifier": "t_bool",
  1402                            "typeString": "bool"
  1403                          }
  1404                        ],
  1405                        "id": 156,
  1406                        "name": "require",
  1407                        "nodeType": "Identifier",
  1408                        "overloadedDeclarations": [
  1409                          267,
  1410                          268
  1411                        ],
  1412                        "referencedDeclaration": 267,
  1413                        "src": "693:7:1",
  1414                        "typeDescriptions": {
  1415                          "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
  1416                          "typeString": "function (bool) pure"
  1417                        }
  1418                      },
  1419                      "id": 163,
  1420                      "isConstant": false,
  1421                      "isLValue": false,
  1422                      "isPure": false,
  1423                      "kind": "functionCall",
  1424                      "lValueRequested": false,
  1425                      "names": [],
  1426                      "nodeType": "FunctionCall",
  1427                      "src": "693:38:1",
  1428                      "typeDescriptions": {
  1429                        "typeIdentifier": "t_tuple$__$",
  1430                        "typeString": "tuple()"
  1431                      }
  1432                    },
  1433                    "id": 164,
  1434                    "nodeType": "ExpressionStatement",
  1435                    "src": "693:38:1"
  1436                  },
  1437                  {
  1438                    "expression": {
  1439                      "argumentTypes": null,
  1440                      "id": 170,
  1441                      "isConstant": false,
  1442                      "isLValue": false,
  1443                      "isPure": false,
  1444                      "lValueRequested": false,
  1445                      "leftHandSide": {
  1446                        "argumentTypes": null,
  1447                        "baseExpression": {
  1448                          "argumentTypes": null,
  1449                          "id": 165,
  1450                          "name": "balance",
  1451                          "nodeType": "Identifier",
  1452                          "overloadedDeclarations": [],
  1453                          "referencedDeclaration": 63,
  1454                          "src": "735:7:1",
  1455                          "typeDescriptions": {
  1456                            "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
  1457                            "typeString": "mapping(address => uint256)"
  1458                          }
  1459                        },
  1460                        "id": 168,
  1461                        "indexExpression": {
  1462                          "argumentTypes": null,
  1463                          "expression": {
  1464                            "argumentTypes": null,
  1465                            "id": 166,
  1466                            "name": "msg",
  1467                            "nodeType": "Identifier",
  1468                            "overloadedDeclarations": [],
  1469                            "referencedDeclaration": 264,
  1470                            "src": "743:3:1",
  1471                            "typeDescriptions": {
  1472                              "typeIdentifier": "t_magic_message",
  1473                              "typeString": "msg"
  1474                            }
  1475                          },
  1476                          "id": 167,
  1477                          "isConstant": false,
  1478                          "isLValue": false,
  1479                          "isPure": false,
  1480                          "lValueRequested": false,
  1481                          "memberName": "sender",
  1482                          "nodeType": "MemberAccess",
  1483                          "referencedDeclaration": null,
  1484                          "src": "743:10:1",
  1485                          "typeDescriptions": {
  1486                            "typeIdentifier": "t_address",
  1487                            "typeString": "address"
  1488                          }
  1489                        },
  1490                        "isConstant": false,
  1491                        "isLValue": true,
  1492                        "isPure": false,
  1493                        "lValueRequested": true,
  1494                        "nodeType": "IndexAccess",
  1495                        "src": "735:19:1",
  1496                        "typeDescriptions": {
  1497                          "typeIdentifier": "t_uint256",
  1498                          "typeString": "uint256"
  1499                        }
  1500                      },
  1501                      "nodeType": "Assignment",
  1502                      "operator": "-=",
  1503                      "rightHandSide": {
  1504                        "argumentTypes": null,
  1505                        "id": 169,
  1506                        "name": "_value",
  1507                        "nodeType": "Identifier",
  1508                        "overloadedDeclarations": [],
  1509                        "referencedDeclaration": 153,
  1510                        "src": "758:6:1",
  1511                        "typeDescriptions": {
  1512                          "typeIdentifier": "t_uint256",
  1513                          "typeString": "uint256"
  1514                        }
  1515                      },
  1516                      "src": "735:29:1",
  1517                      "typeDescriptions": {
  1518                        "typeIdentifier": "t_uint256",
  1519                        "typeString": "uint256"
  1520                      }
  1521                    },
  1522                    "id": 171,
  1523                    "nodeType": "ExpressionStatement",
  1524                    "src": "735:29:1"
  1525                  },
  1526                  {
  1527                    "expression": {
  1528                      "argumentTypes": null,
  1529                      "arguments": [
  1530                        {
  1531                          "argumentTypes": null,
  1532                          "id": 175,
  1533                          "name": "_value",
  1534                          "nodeType": "Identifier",
  1535                          "overloadedDeclarations": [],
  1536                          "referencedDeclaration": 153,
  1537                          "src": "783:6:1",
  1538                          "typeDescriptions": {
  1539                            "typeIdentifier": "t_uint256",
  1540                            "typeString": "uint256"
  1541                          }
  1542                        }
  1543                      ],
  1544                      "expression": {
  1545                        "argumentTypes": [
  1546                          {
  1547                            "typeIdentifier": "t_uint256",
  1548                            "typeString": "uint256"
  1549                          }
  1550                        ],
  1551                        "expression": {
  1552                          "argumentTypes": null,
  1553                          "id": 172,
  1554                          "name": "_addr",
  1555                          "nodeType": "Identifier",
  1556                          "overloadedDeclarations": [],
  1557                          "referencedDeclaration": 151,
  1558                          "src": "768:5:1",
  1559                          "typeDescriptions": {
  1560                            "typeIdentifier": "t_address",
  1561                            "typeString": "address"
  1562                          }
  1563                        },
  1564                        "id": 174,
  1565                        "isConstant": false,
  1566                        "isLValue": false,
  1567                        "isPure": false,
  1568                        "lValueRequested": false,
  1569                        "memberName": "transfer",
  1570                        "nodeType": "MemberAccess",
  1571                        "referencedDeclaration": null,
  1572                        "src": "768:14:1",
  1573                        "typeDescriptions": {
  1574                          "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
  1575                          "typeString": "function (uint256)"
  1576                        }
  1577                      },
  1578                      "id": 176,
  1579                      "isConstant": false,
  1580                      "isLValue": false,
  1581                      "isPure": false,
  1582                      "kind": "functionCall",
  1583                      "lValueRequested": false,
  1584                      "names": [],
  1585                      "nodeType": "FunctionCall",
  1586                      "src": "768:22:1",
  1587                      "typeDescriptions": {
  1588                        "typeIdentifier": "t_tuple$__$",
  1589                        "typeString": "tuple()"
  1590                      }
  1591                    },
  1592                    "id": 177,
  1593                    "nodeType": "ExpressionStatement",
  1594                    "src": "768:22:1"
  1595                  }
  1596                ]
  1597              },
  1598              "documentation": null,
  1599              "id": 179,
  1600              "implemented": true,
  1601              "isConstructor": false,
  1602              "isDeclaredConst": false,
  1603              "modifiers": [],
  1604              "name": "withdraw",
  1605              "nodeType": "FunctionDefinition",
  1606              "parameters": {
  1607                "id": 154,
  1608                "nodeType": "ParameterList",
  1609                "parameters": [
  1610                  {
  1611                    "constant": false,
  1612                    "id": 151,
  1613                    "name": "_addr",
  1614                    "nodeType": "VariableDeclaration",
  1615                    "scope": 179,
  1616                    "src": "654:13:1",
  1617                    "stateVariable": false,
  1618                    "storageLocation": "default",
  1619                    "typeDescriptions": {
  1620                      "typeIdentifier": "t_address",
  1621                      "typeString": "address"
  1622                    },
  1623                    "typeName": {
  1624                      "id": 150,
  1625                      "name": "address",
  1626                      "nodeType": "ElementaryTypeName",
  1627                      "src": "654:7:1",
  1628                      "typeDescriptions": {
  1629                        "typeIdentifier": "t_address",
  1630                        "typeString": "address"
  1631                      }
  1632                    },
  1633                    "value": null,
  1634                    "visibility": "internal"
  1635                  },
  1636                  {
  1637                    "constant": false,
  1638                    "id": 153,
  1639                    "name": "_value",
  1640                    "nodeType": "VariableDeclaration",
  1641                    "scope": 179,
  1642                    "src": "669:11:1",
  1643                    "stateVariable": false,
  1644                    "storageLocation": "default",
  1645                    "typeDescriptions": {
  1646                      "typeIdentifier": "t_uint256",
  1647                      "typeString": "uint256"
  1648                    },
  1649                    "typeName": {
  1650                      "id": 152,
  1651                      "name": "uint",
  1652                      "nodeType": "ElementaryTypeName",
  1653                      "src": "669:4:1",
  1654                      "typeDescriptions": {
  1655                        "typeIdentifier": "t_uint256",
  1656                        "typeString": "uint256"
  1657                      }
  1658                    },
  1659                    "value": null,
  1660                    "visibility": "internal"
  1661                  }
  1662                ],
  1663                "src": "653:28:1"
  1664              },
  1665              "payable": false,
  1666              "returnParameters": {
  1667                "id": 155,
  1668                "nodeType": "ParameterList",
  1669                "parameters": [],
  1670                "src": "689:0:1"
  1671              },
  1672              "scope": 233,
  1673              "src": "636:158:1",
  1674              "stateMutability": "nonpayable",
  1675              "superFunction": null,
  1676              "visibility": "public"
  1677            },
  1678            {
  1679              "body": {
  1680                "id": 231,
  1681                "nodeType": "Block",
  1682                "src": "858:180:1",
  1683                "statements": [
  1684                  {
  1685                    "assignments": [
  1686                      188
  1687                    ],
  1688                    "declarations": [
  1689                      {
  1690                        "constant": false,
  1691                        "id": 188,
  1692                        "name": "l",
  1693                        "nodeType": "VariableDeclaration",
  1694                        "scope": 232,
  1695                        "src": "862:6:1",
  1696                        "stateVariable": false,
  1697                        "storageLocation": "default",
  1698                        "typeDescriptions": {
  1699                          "typeIdentifier": "t_uint256",
  1700                          "typeString": "uint256"
  1701                        },
  1702                        "typeName": {
  1703                          "id": 187,
  1704                          "name": "uint",
  1705                          "nodeType": "ElementaryTypeName",
  1706                          "src": "862:4:1",
  1707                          "typeDescriptions": {
  1708                            "typeIdentifier": "t_uint256",
  1709                            "typeString": "uint256"
  1710                          }
  1711                        },
  1712                        "value": null,
  1713                        "visibility": "internal"
  1714                      }
  1715                    ],
  1716                    "id": 191,
  1717                    "initialValue": {
  1718                      "argumentTypes": null,
  1719                      "expression": {
  1720                        "argumentTypes": null,
  1721                        "id": 189,
  1722                        "name": "_addrs",
  1723                        "nodeType": "Identifier",
  1724                        "overloadedDeclarations": [],
  1725                        "referencedDeclaration": 182,
  1726                        "src": "871:6:1",
  1727                        "typeDescriptions": {
  1728                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
  1729                          "typeString": "address[] memory"
  1730                        }
  1731                      },
  1732                      "id": 190,
  1733                      "isConstant": false,
  1734                      "isLValue": false,
  1735                      "isPure": false,
  1736                      "lValueRequested": false,
  1737                      "memberName": "length",
  1738                      "nodeType": "MemberAccess",
  1739                      "referencedDeclaration": null,
  1740                      "src": "871:13:1",
  1741                      "typeDescriptions": {
  1742                        "typeIdentifier": "t_uint256",
  1743                        "typeString": "uint256"
  1744                      }
  1745                    },
  1746                    "nodeType": "VariableDeclarationStatement",
  1747                    "src": "862:22:1"
  1748                  },
  1749                  {
  1750                    "expression": {
  1751                      "argumentTypes": null,
  1752                      "arguments": [
  1753                        {
  1754                          "argumentTypes": null,
  1755                          "commonType": {
  1756                            "typeIdentifier": "t_uint256",
  1757                            "typeString": "uint256"
  1758                          },
  1759                          "id": 200,
  1760                          "isConstant": false,
  1761                          "isLValue": false,
  1762                          "isPure": false,
  1763                          "lValueRequested": false,
  1764                          "leftExpression": {
  1765                            "argumentTypes": null,
  1766                            "baseExpression": {
  1767                              "argumentTypes": null,
  1768                              "id": 193,
  1769                              "name": "balance",
  1770                              "nodeType": "Identifier",
  1771                              "overloadedDeclarations": [],
  1772                              "referencedDeclaration": 63,
  1773                              "src": "896:7:1",
  1774                              "typeDescriptions": {
  1775                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
  1776                                "typeString": "mapping(address => uint256)"
  1777                              }
  1778                            },
  1779                            "id": 196,
  1780                            "indexExpression": {
  1781                              "argumentTypes": null,
  1782                              "expression": {
  1783                                "argumentTypes": null,
  1784                                "id": 194,
  1785                                "name": "msg",
  1786                                "nodeType": "Identifier",
  1787                                "overloadedDeclarations": [],
  1788                                "referencedDeclaration": 264,
  1789                                "src": "904:3:1",
  1790                                "typeDescriptions": {
  1791                                  "typeIdentifier": "t_magic_message",
  1792                                  "typeString": "msg"
  1793                                }
  1794                              },
  1795                              "id": 195,
  1796                              "isConstant": false,
  1797                              "isLValue": false,
  1798                              "isPure": false,
  1799                              "lValueRequested": false,
  1800                              "memberName": "sender",
  1801                              "nodeType": "MemberAccess",
  1802                              "referencedDeclaration": null,
  1803                              "src": "904:10:1",
  1804                              "typeDescriptions": {
  1805                                "typeIdentifier": "t_address",
  1806                                "typeString": "address"
  1807                              }
  1808                            },
  1809                            "isConstant": false,
  1810                            "isLValue": true,
  1811                            "isPure": false,
  1812                            "lValueRequested": false,
  1813                            "nodeType": "IndexAccess",
  1814                            "src": "896:19:1",
  1815                            "typeDescriptions": {
  1816                              "typeIdentifier": "t_uint256",
  1817                              "typeString": "uint256"
  1818                            }
  1819                          },
  1820                          "nodeType": "BinaryOperation",
  1821                          "operator": ">=",
  1822                          "rightExpression": {
  1823                            "argumentTypes": null,
  1824                            "commonType": {
  1825                              "typeIdentifier": "t_uint256",
  1826                              "typeString": "uint256"
  1827                            },
  1828                            "id": 199,
  1829                            "isConstant": false,
  1830                            "isLValue": false,
  1831                            "isPure": false,
  1832                            "lValueRequested": false,
  1833                            "leftExpression": {
  1834                              "argumentTypes": null,
  1835                              "id": 197,
  1836                              "name": "_value",
  1837                              "nodeType": "Identifier",
  1838                              "overloadedDeclarations": [],
  1839                              "referencedDeclaration": 184,
  1840                              "src": "919:6:1",
  1841                              "typeDescriptions": {
  1842                                "typeIdentifier": "t_uint256",
  1843                                "typeString": "uint256"
  1844                              }
  1845                            },
  1846                            "nodeType": "BinaryOperation",
  1847                            "operator": "*",
  1848                            "rightExpression": {
  1849                              "argumentTypes": null,
  1850                              "id": 198,
  1851                              "name": "l",
  1852                              "nodeType": "Identifier",
  1853                              "overloadedDeclarations": [],
  1854                              "referencedDeclaration": 188,
  1855                              "src": "928:1:1",
  1856                              "typeDescriptions": {
  1857                                "typeIdentifier": "t_uint256",
  1858                                "typeString": "uint256"
  1859                              }
  1860                            },
  1861                            "src": "919:10:1",
  1862                            "typeDescriptions": {
  1863                              "typeIdentifier": "t_uint256",
  1864                              "typeString": "uint256"
  1865                            }
  1866                          },
  1867                          "src": "896:33:1",
  1868                          "typeDescriptions": {
  1869                            "typeIdentifier": "t_bool",
  1870                            "typeString": "bool"
  1871                          }
  1872                        }
  1873                      ],
  1874                      "expression": {
  1875                        "argumentTypes": [
  1876                          {
  1877                            "typeIdentifier": "t_bool",
  1878                            "typeString": "bool"
  1879                          }
  1880                        ],
  1881                        "id": 192,
  1882                        "name": "require",
  1883                        "nodeType": "Identifier",
  1884                        "overloadedDeclarations": [
  1885                          267,
  1886                          268
  1887                        ],
  1888                        "referencedDeclaration": 267,
  1889                        "src": "888:7:1",
  1890                        "typeDescriptions": {
  1891                          "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
  1892                          "typeString": "function (bool) pure"
  1893                        }
  1894                      },
  1895                      "id": 201,
  1896                      "isConstant": false,
  1897                      "isLValue": false,
  1898                      "isPure": false,
  1899                      "kind": "functionCall",
  1900                      "lValueRequested": false,
  1901                      "names": [],
  1902                      "nodeType": "FunctionCall",
  1903                      "src": "888:42:1",
  1904                      "typeDescriptions": {
  1905                        "typeIdentifier": "t_tuple$__$",
  1906                        "typeString": "tuple()"
  1907                      }
  1908                    },
  1909                    "id": 202,
  1910                    "nodeType": "ExpressionStatement",
  1911                    "src": "888:42:1"
  1912                  },
  1913                  {
  1914                    "expression": {
  1915                      "argumentTypes": null,
  1916                      "id": 210,
  1917                      "isConstant": false,
  1918                      "isLValue": false,
  1919                      "isPure": false,
  1920                      "lValueRequested": false,
  1921                      "leftHandSide": {
  1922                        "argumentTypes": null,
  1923                        "baseExpression": {
  1924                          "argumentTypes": null,
  1925                          "id": 203,
  1926                          "name": "balance",
  1927                          "nodeType": "Identifier",
  1928                          "overloadedDeclarations": [],
  1929                          "referencedDeclaration": 63,
  1930                          "src": "934:7:1",
  1931                          "typeDescriptions": {
  1932                            "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
  1933                            "typeString": "mapping(address => uint256)"
  1934                          }
  1935                        },
  1936                        "id": 206,
  1937                        "indexExpression": {
  1938                          "argumentTypes": null,
  1939                          "expression": {
  1940                            "argumentTypes": null,
  1941                            "id": 204,
  1942                            "name": "msg",
  1943                            "nodeType": "Identifier",
  1944                            "overloadedDeclarations": [],
  1945                            "referencedDeclaration": 264,
  1946                            "src": "942:3:1",
  1947                            "typeDescriptions": {
  1948                              "typeIdentifier": "t_magic_message",
  1949                              "typeString": "msg"
  1950                            }
  1951                          },
  1952                          "id": 205,
  1953                          "isConstant": false,
  1954                          "isLValue": false,
  1955                          "isPure": false,
  1956                          "lValueRequested": false,
  1957                          "memberName": "sender",
  1958                          "nodeType": "MemberAccess",
  1959                          "referencedDeclaration": null,
  1960                          "src": "942:10:1",
  1961                          "typeDescriptions": {
  1962                            "typeIdentifier": "t_address",
  1963                            "typeString": "address"
  1964                          }
  1965                        },
  1966                        "isConstant": false,
  1967                        "isLValue": true,
  1968                        "isPure": false,
  1969                        "lValueRequested": true,
  1970                        "nodeType": "IndexAccess",
  1971                        "src": "934:19:1",
  1972                        "typeDescriptions": {
  1973                          "typeIdentifier": "t_uint256",
  1974                          "typeString": "uint256"
  1975                        }
  1976                      },
  1977                      "nodeType": "Assignment",
  1978                      "operator": "-=",
  1979                      "rightHandSide": {
  1980                        "argumentTypes": null,
  1981                        "commonType": {
  1982                          "typeIdentifier": "t_uint256",
  1983                          "typeString": "uint256"
  1984                        },
  1985                        "id": 209,
  1986                        "isConstant": false,
  1987                        "isLValue": false,
  1988                        "isPure": false,
  1989                        "lValueRequested": false,
  1990                        "leftExpression": {
  1991                          "argumentTypes": null,
  1992                          "id": 207,
  1993                          "name": "_value",
  1994                          "nodeType": "Identifier",
  1995                          "overloadedDeclarations": [],
  1996                          "referencedDeclaration": 184,
  1997                          "src": "957:6:1",
  1998                          "typeDescriptions": {
  1999                            "typeIdentifier": "t_uint256",
  2000                            "typeString": "uint256"
  2001                          }
  2002                        },
  2003                        "nodeType": "BinaryOperation",
  2004                        "operator": "*",
  2005                        "rightExpression": {
  2006                          "argumentTypes": null,
  2007                          "id": 208,
  2008                          "name": "l",
  2009                          "nodeType": "Identifier",
  2010                          "overloadedDeclarations": [],
  2011                          "referencedDeclaration": 188,
  2012                          "src": "966:1:1",
  2013                          "typeDescriptions": {
  2014                            "typeIdentifier": "t_uint256",
  2015                            "typeString": "uint256"
  2016                          }
  2017                        },
  2018                        "src": "957:10:1",
  2019                        "typeDescriptions": {
  2020                          "typeIdentifier": "t_uint256",
  2021                          "typeString": "uint256"
  2022                        }
  2023                      },
  2024                      "src": "934:33:1",
  2025                      "typeDescriptions": {
  2026                        "typeIdentifier": "t_uint256",
  2027                        "typeString": "uint256"
  2028                      }
  2029                    },
  2030                    "id": 211,
  2031                    "nodeType": "ExpressionStatement",
  2032                    "src": "934:33:1"
  2033                  },
  2034                  {
  2035                    "body": {
  2036                      "id": 229,
  2037                      "nodeType": "Block",
  2038                      "src": "999:36:1",
  2039                      "statements": [
  2040                        {
  2041                          "expression": {
  2042                            "argumentTypes": null,
  2043                            "arguments": [
  2044                              {
  2045                                "argumentTypes": null,
  2046                                "id": 226,
  2047                                "name": "_value",
  2048                                "nodeType": "Identifier",
  2049                                "overloadedDeclarations": [],
  2050                                "referencedDeclaration": 184,
  2051                                "src": "1023:6:1",
  2052                                "typeDescriptions": {
  2053                                  "typeIdentifier": "t_uint256",
  2054                                  "typeString": "uint256"
  2055                                }
  2056                              }
  2057                            ],
  2058                            "expression": {
  2059                              "argumentTypes": [
  2060                                {
  2061                                  "typeIdentifier": "t_uint256",
  2062                                  "typeString": "uint256"
  2063                                }
  2064                              ],
  2065                              "expression": {
  2066                                "argumentTypes": null,
  2067                                "baseExpression": {
  2068                                  "argumentTypes": null,
  2069                                  "id": 222,
  2070                                  "name": "_addrs",
  2071                                  "nodeType": "Identifier",
  2072                                  "overloadedDeclarations": [],
  2073                                  "referencedDeclaration": 182,
  2074                                  "src": "1004:6:1",
  2075                                  "typeDescriptions": {
  2076                                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
  2077                                    "typeString": "address[] memory"
  2078                                  }
  2079                                },
  2080                                "id": 224,
  2081                                "indexExpression": {
  2082                                  "argumentTypes": null,
  2083                                  "id": 223,
  2084                                  "name": "i",
  2085                                  "nodeType": "Identifier",
  2086                                  "overloadedDeclarations": [],
  2087                                  "referencedDeclaration": 213,
  2088                                  "src": "1011:1:1",
  2089                                  "typeDescriptions": {
  2090                                    "typeIdentifier": "t_uint256",
  2091                                    "typeString": "uint256"
  2092                                  }
  2093                                },
  2094                                "isConstant": false,
  2095                                "isLValue": true,
  2096                                "isPure": false,
  2097                                "lValueRequested": false,
  2098                                "nodeType": "IndexAccess",
  2099                                "src": "1004:9:1",
  2100                                "typeDescriptions": {
  2101                                  "typeIdentifier": "t_address",
  2102                                  "typeString": "address"
  2103                                }
  2104                              },
  2105                              "id": 225,
  2106                              "isConstant": false,
  2107                              "isLValue": false,
  2108                              "isPure": false,
  2109                              "lValueRequested": false,
  2110                              "memberName": "transfer",
  2111                              "nodeType": "MemberAccess",
  2112                              "referencedDeclaration": null,
  2113                              "src": "1004:18:1",
  2114                              "typeDescriptions": {
  2115                                "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
  2116                                "typeString": "function (uint256)"
  2117                              }
  2118                            },
  2119                            "id": 227,
  2120                            "isConstant": false,
  2121                            "isLValue": false,
  2122                            "isPure": false,
  2123                            "kind": "functionCall",
  2124                            "lValueRequested": false,
  2125                            "names": [],
  2126                            "nodeType": "FunctionCall",
  2127                            "src": "1004:26:1",
  2128                            "typeDescriptions": {
  2129                              "typeIdentifier": "t_tuple$__$",
  2130                              "typeString": "tuple()"
  2131                            }
  2132                          },
  2133                          "id": 228,
  2134                          "nodeType": "ExpressionStatement",
  2135                          "src": "1004:26:1"
  2136                        }
  2137                      ]
  2138                    },
  2139                    "condition": {
  2140                      "argumentTypes": null,
  2141                      "commonType": {
  2142                        "typeIdentifier": "t_uint256",
  2143                        "typeString": "uint256"
  2144                      },
  2145                      "id": 218,
  2146                      "isConstant": false,
  2147                      "isLValue": false,
  2148                      "isPure": false,
  2149                      "lValueRequested": false,
  2150                      "leftExpression": {
  2151                        "argumentTypes": null,
  2152                        "id": 216,
  2153                        "name": "i",
  2154                        "nodeType": "Identifier",
  2155                        "overloadedDeclarations": [],
  2156                        "referencedDeclaration": 213,
  2157                        "src": "988:1:1",
  2158                        "typeDescriptions": {
  2159                          "typeIdentifier": "t_uint256",
  2160                          "typeString": "uint256"
  2161                        }
  2162                      },
  2163                      "nodeType": "BinaryOperation",
  2164                      "operator": "<",
  2165                      "rightExpression": {
  2166                        "argumentTypes": null,
  2167                        "id": 217,
  2168                        "name": "l",
  2169                        "nodeType": "Identifier",
  2170                        "overloadedDeclarations": [],
  2171                        "referencedDeclaration": 188,
  2172                        "src": "992:1:1",
  2173                        "typeDescriptions": {
  2174                          "typeIdentifier": "t_uint256",
  2175                          "typeString": "uint256"
  2176                        }
  2177                      },
  2178                      "src": "988:5:1",
  2179                      "typeDescriptions": {
  2180                        "typeIdentifier": "t_bool",
  2181                        "typeString": "bool"
  2182                      }
  2183                    },
  2184                    "id": 230,
  2185                    "initializationExpression": {
  2186                      "assignments": [
  2187                        213
  2188                      ],
  2189                      "declarations": [
  2190                        {
  2191                          "constant": false,
  2192                          "id": 213,
  2193                          "name": "i",
  2194                          "nodeType": "VariableDeclaration",
  2195                          "scope": 232,
  2196                          "src": "976:6:1",
  2197                          "stateVariable": false,
  2198                          "storageLocation": "default",
  2199                          "typeDescriptions": {
  2200                            "typeIdentifier": "t_uint256",
  2201                            "typeString": "uint256"
  2202                          },
  2203                          "typeName": {
  2204                            "id": 212,
  2205                            "name": "uint",
  2206                            "nodeType": "ElementaryTypeName",
  2207                            "src": "976:4:1",
  2208                            "typeDescriptions": {
  2209                              "typeIdentifier": "t_uint256",
  2210                              "typeString": "uint256"
  2211                            }
  2212                          },
  2213                          "value": null,
  2214                          "visibility": "internal"
  2215                        }
  2216                      ],
  2217                      "id": 215,
  2218                      "initialValue": {
  2219                        "argumentTypes": null,
  2220                        "hexValue": "30",
  2221                        "id": 214,
  2222                        "isConstant": false,
  2223                        "isLValue": false,
  2224                        "isPure": true,
  2225                        "kind": "number",
  2226                        "lValueRequested": false,
  2227                        "nodeType": "Literal",
  2228                        "src": "985:1:1",
  2229                        "subdenomination": null,
  2230                        "typeDescriptions": {
  2231                          "typeIdentifier": "t_rational_0_by_1",
  2232                          "typeString": "int_const 0"
  2233                        },
  2234                        "value": "0"
  2235                      },
  2236                      "nodeType": "VariableDeclarationStatement",
  2237                      "src": "976:10:1"
  2238                    },
  2239                    "loopExpression": {
  2240                      "expression": {
  2241                        "argumentTypes": null,
  2242                        "id": 220,
  2243                        "isConstant": false,
  2244                        "isLValue": false,
  2245                        "isPure": false,
  2246                        "lValueRequested": false,
  2247                        "nodeType": "UnaryOperation",
  2248                        "operator": "++",
  2249                        "prefix": false,
  2250                        "src": "995:3:1",
  2251                        "subExpression": {
  2252                          "argumentTypes": null,
  2253                          "id": 219,
  2254                          "name": "i",
  2255                          "nodeType": "Identifier",
  2256                          "overloadedDeclarations": [],
  2257                          "referencedDeclaration": 213,
  2258                          "src": "995:1:1",
  2259                          "typeDescriptions": {
  2260                            "typeIdentifier": "t_uint256",
  2261                            "typeString": "uint256"
  2262                          }
  2263                        },
  2264                        "typeDescriptions": {
  2265                          "typeIdentifier": "t_uint256",
  2266                          "typeString": "uint256"
  2267                        }
  2268                      },
  2269                      "id": 221,
  2270                      "nodeType": "ExpressionStatement",
  2271                      "src": "995:3:1"
  2272                    },
  2273                    "nodeType": "ForStatement",
  2274                    "src": "971:64:1"
  2275                  }
  2276                ]
  2277              },
  2278              "documentation": null,
  2279              "id": 232,
  2280              "implemented": true,
  2281              "isConstructor": false,
  2282              "isDeclaredConst": false,
  2283              "modifiers": [],
  2284              "name": "withdrawMulti",
  2285              "nodeType": "FunctionDefinition",
  2286              "parameters": {
  2287                "id": 185,
  2288                "nodeType": "ParameterList",
  2289                "parameters": [
  2290                  {
  2291                    "constant": false,
  2292                    "id": 182,
  2293                    "name": "_addrs",
  2294                    "nodeType": "VariableDeclaration",
  2295                    "scope": 232,
  2296                    "src": "820:16:1",
  2297                    "stateVariable": false,
  2298                    "storageLocation": "default",
  2299                    "typeDescriptions": {
  2300                      "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
  2301                      "typeString": "address[]"
  2302                    },
  2303                    "typeName": {
  2304                      "baseType": {
  2305                        "id": 180,
  2306                        "name": "address",
  2307                        "nodeType": "ElementaryTypeName",
  2308                        "src": "820:7:1",
  2309                        "typeDescriptions": {
  2310                          "typeIdentifier": "t_address",
  2311                          "typeString": "address"
  2312                        }
  2313                      },
  2314                      "id": 181,
  2315                      "length": null,
  2316                      "nodeType": "ArrayTypeName",
  2317                      "src": "820:9:1",
  2318                      "typeDescriptions": {
  2319                        "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
  2320                        "typeString": "address[]"
  2321                      }
  2322                    },
  2323                    "value": null,
  2324                    "visibility": "internal"
  2325                  },
  2326                  {
  2327                    "constant": false,
  2328                    "id": 184,
  2329                    "name": "_value",
  2330                    "nodeType": "VariableDeclaration",
  2331                    "scope": 232,
  2332                    "src": "838:11:1",
  2333                    "stateVariable": false,
  2334                    "storageLocation": "default",
  2335                    "typeDescriptions": {
  2336                      "typeIdentifier": "t_uint256",
  2337                      "typeString": "uint256"
  2338                    },
  2339                    "typeName": {
  2340                      "id": 183,
  2341                      "name": "uint",
  2342                      "nodeType": "ElementaryTypeName",
  2343                      "src": "838:4:1",
  2344                      "typeDescriptions": {
  2345                        "typeIdentifier": "t_uint256",
  2346                        "typeString": "uint256"
  2347                      }
  2348                    },
  2349                    "value": null,
  2350                    "visibility": "internal"
  2351                  }
  2352                ],
  2353                "src": "819:31:1"
  2354              },
  2355              "payable": false,
  2356              "returnParameters": {
  2357                "id": 186,
  2358                "nodeType": "ParameterList",
  2359                "parameters": [],
  2360                "src": "858:0:1"
  2361              },
  2362              "scope": 233,
  2363              "src": "797:241:1",
  2364              "stateMutability": "nonpayable",
  2365              "superFunction": null,
  2366              "visibility": "public"
  2367            }
  2368          ],
  2369          "scope": 234,
  2370          "src": "54:986:1"
  2371        }
  2372      ],
  2373      "src": "0:1040:1"
  2374    },
  2375    "legacyAST": {
  2376      "absolutePath": "/Users/dustinbrickwood/go/src/github.com/ShyftNetwork/go-empyrean/shyft-cli/web3/transfer-through-master/contracts/Transfers.sol",
  2377      "exportedSymbols": {
  2378        "Transfers": [
  2379          233
  2380        ]
  2381      },
  2382      "id": 234,
  2383      "nodeType": "SourceUnit",
  2384      "nodes": [
  2385        {
  2386          "id": 58,
  2387          "literals": [
  2388            "solidity",
  2389            "^",
  2390            "0.4",
  2391            ".19"
  2392          ],
  2393          "nodeType": "PragmaDirective",
  2394          "src": "0:24:1"
  2395        },
  2396        {
  2397          "absolutePath": "/Users/dustinbrickwood/go/src/github.com/ShyftNetwork/go-empyrean/shyft-cli/web3/transfer-through-master/contracts/Transfers2.sol",
  2398          "file": "./Transfers2.sol",
  2399          "id": 59,
  2400          "nodeType": "ImportDirective",
  2401          "scope": 234,
  2402          "sourceUnit": 250,
  2403          "src": "26:26:1",
  2404          "symbolAliases": [],
  2405          "unitAlias": ""
  2406        },
  2407        {
  2408          "baseContracts": [],
  2409          "contractDependencies": [
  2410            249
  2411          ],
  2412          "contractKind": "contract",
  2413          "documentation": null,
  2414          "fullyImplemented": true,
  2415          "id": 233,
  2416          "linearizedBaseContracts": [
  2417            233
  2418          ],
  2419          "name": "Transfers",
  2420          "nodeType": "ContractDefinition",
  2421          "nodes": [
  2422            {
  2423              "constant": false,
  2424              "id": 63,
  2425              "name": "balance",
  2426              "nodeType": "VariableDeclaration",
  2427              "scope": 233,
  2428              "src": "76:40:1",
  2429              "stateVariable": true,
  2430              "storageLocation": "default",
  2431              "typeDescriptions": {
  2432                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
  2433                "typeString": "mapping(address => uint256)"
  2434              },
  2435              "typeName": {
  2436                "id": 62,
  2437                "keyType": {
  2438                  "id": 60,
  2439                  "name": "address",
  2440                  "nodeType": "ElementaryTypeName",
  2441                  "src": "85:7:1",
  2442                  "typeDescriptions": {
  2443                    "typeIdentifier": "t_address",
  2444                    "typeString": "address"
  2445                  }
  2446                },
  2447                "nodeType": "Mapping",
  2448                "src": "76:25:1",
  2449                "typeDescriptions": {
  2450                  "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
  2451                  "typeString": "mapping(address => uint256)"
  2452                },
  2453                "valueType": {
  2454                  "id": 61,
  2455                  "name": "uint",
  2456                  "nodeType": "ElementaryTypeName",
  2457                  "src": "96:4:1",
  2458                  "typeDescriptions": {
  2459                    "typeIdentifier": "t_uint256",
  2460                    "typeString": "uint256"
  2461                  }
  2462                }
  2463              },
  2464              "value": null,
  2465              "visibility": "public"
  2466            },
  2467            {
  2468              "constant": false,
  2469              "id": 65,
  2470              "name": "t",
  2471              "nodeType": "VariableDeclaration",
  2472              "scope": 233,
  2473              "src": "119:12:1",
  2474              "stateVariable": true,
  2475              "storageLocation": "default",
  2476              "typeDescriptions": {
  2477                "typeIdentifier": "t_contract$_Transfers2_$249",
  2478                "typeString": "contract Transfers2"
  2479              },
  2480              "typeName": {
  2481                "contractScope": null,
  2482                "id": 64,
  2483                "name": "Transfers2",
  2484                "nodeType": "UserDefinedTypeName",
  2485                "referencedDeclaration": 249,
  2486                "src": "119:10:1",
  2487                "typeDescriptions": {
  2488                  "typeIdentifier": "t_contract$_Transfers2_$249",
  2489                  "typeString": "contract Transfers2"
  2490                }
  2491              },
  2492              "value": null,
  2493              "visibility": "internal"
  2494            },
  2495            {
  2496              "constant": false,
  2497              "id": 67,
  2498              "name": "t_addr",
  2499              "nodeType": "VariableDeclaration",
  2500              "scope": 233,
  2501              "src": "134:14:1",
  2502              "stateVariable": true,
  2503              "storageLocation": "default",
  2504              "typeDescriptions": {
  2505                "typeIdentifier": "t_address",
  2506                "typeString": "address"
  2507              },
  2508              "typeName": {
  2509                "id": 66,
  2510                "name": "address",
  2511                "nodeType": "ElementaryTypeName",
  2512                "src": "134:7:1",
  2513                "typeDescriptions": {
  2514                  "typeIdentifier": "t_address",
  2515                  "typeString": "address"
  2516                }
  2517              },
  2518              "value": null,
  2519              "visibility": "internal"
  2520            },
  2521            {
  2522              "body": {
  2523                "id": 82,
  2524                "nodeType": "Block",
  2525                "src": "180:51:1",
  2526                "statements": [
  2527                  {
  2528                    "expression": {
  2529                      "argumentTypes": null,
  2530                      "id": 74,
  2531                      "isConstant": false,
  2532                      "isLValue": false,
  2533                      "isPure": false,
  2534                      "lValueRequested": false,
  2535                      "leftHandSide": {
  2536                        "argumentTypes": null,
  2537                        "id": 70,
  2538                        "name": "t",
  2539                        "nodeType": "Identifier",
  2540                        "overloadedDeclarations": [],
  2541                        "referencedDeclaration": 65,
  2542                        "src": "184:1:1",
  2543                        "typeDescriptions": {
  2544                          "typeIdentifier": "t_contract$_Transfers2_$249",
  2545                          "typeString": "contract Transfers2"
  2546                        }
  2547                      },
  2548                      "nodeType": "Assignment",
  2549                      "operator": "=",
  2550                      "rightHandSide": {
  2551                        "argumentTypes": null,
  2552                        "arguments": [],
  2553                        "expression": {
  2554                          "argumentTypes": [],
  2555                          "id": 72,
  2556                          "isConstant": false,
  2557                          "isLValue": false,
  2558                          "isPure": false,
  2559                          "lValueRequested": false,
  2560                          "nodeType": "NewExpression",
  2561                          "src": "188:14:1",
  2562                          "typeDescriptions": {
  2563                            "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_Transfers2_$249_$",
  2564                            "typeString": "function () returns (contract Transfers2)"
  2565                          },
  2566                          "typeName": {
  2567                            "contractScope": null,
  2568                            "id": 71,
  2569                            "name": "Transfers2",
  2570                            "nodeType": "UserDefinedTypeName",
  2571                            "referencedDeclaration": 249,
  2572                            "src": "192:10:1",
  2573                            "typeDescriptions": {
  2574                              "typeIdentifier": "t_contract$_Transfers2_$249",
  2575                              "typeString": "contract Transfers2"
  2576                            }
  2577                          }
  2578                        },
  2579                        "id": 73,
  2580                        "isConstant": false,
  2581                        "isLValue": false,
  2582                        "isPure": false,
  2583                        "kind": "functionCall",
  2584                        "lValueRequested": false,
  2585                        "names": [],
  2586                        "nodeType": "FunctionCall",
  2587                        "src": "188:16:1",
  2588                        "typeDescriptions": {
  2589                          "typeIdentifier": "t_contract$_Transfers2_$249",
  2590                          "typeString": "contract Transfers2"
  2591                        }
  2592                      },
  2593                      "src": "184:20:1",
  2594                      "typeDescriptions": {
  2595                        "typeIdentifier": "t_contract$_Transfers2_$249",
  2596                        "typeString": "contract Transfers2"
  2597                      }
  2598                    },
  2599                    "id": 75,
  2600                    "nodeType": "ExpressionStatement",
  2601                    "src": "184:20:1"
  2602                  },
  2603                  {
  2604                    "expression": {
  2605                      "argumentTypes": null,
  2606                      "id": 80,
  2607                      "isConstant": false,
  2608                      "isLValue": false,
  2609                      "isPure": false,
  2610                      "lValueRequested": false,
  2611                      "leftHandSide": {
  2612                        "argumentTypes": null,
  2613                        "id": 76,
  2614                        "name": "t_addr",
  2615                        "nodeType": "Identifier",
  2616                        "overloadedDeclarations": [],
  2617                        "referencedDeclaration": 67,
  2618                        "src": "208:6:1",
  2619                        "typeDescriptions": {
  2620                          "typeIdentifier": "t_address",
  2621                          "typeString": "address"
  2622                        }
  2623                      },
  2624                      "nodeType": "Assignment",
  2625                      "operator": "=",
  2626                      "rightHandSide": {
  2627                        "argumentTypes": null,
  2628                        "arguments": [
  2629                          {
  2630                            "argumentTypes": null,
  2631                            "id": 78,
  2632                            "name": "t",
  2633                            "nodeType": "Identifier",
  2634                            "overloadedDeclarations": [],
  2635                            "referencedDeclaration": 65,
  2636                            "src": "225:1:1",
  2637                            "typeDescriptions": {
  2638                              "typeIdentifier": "t_contract$_Transfers2_$249",
  2639                              "typeString": "contract Transfers2"
  2640                            }
  2641                          }
  2642                        ],
  2643                        "expression": {
  2644                          "argumentTypes": [
  2645                            {
  2646                              "typeIdentifier": "t_contract$_Transfers2_$249",
  2647                              "typeString": "contract Transfers2"
  2648                            }
  2649                          ],
  2650                          "id": 77,
  2651                          "isConstant": false,
  2652                          "isLValue": false,
  2653                          "isPure": true,
  2654                          "lValueRequested": false,
  2655                          "nodeType": "ElementaryTypeNameExpression",
  2656                          "src": "217:7:1",
  2657                          "typeDescriptions": {
  2658                            "typeIdentifier": "t_type$_t_address_$",
  2659                            "typeString": "type(address)"
  2660                          },
  2661                          "typeName": "address"
  2662                        },
  2663                        "id": 79,
  2664                        "isConstant": false,
  2665                        "isLValue": false,
  2666                        "isPure": false,
  2667                        "kind": "typeConversion",
  2668                        "lValueRequested": false,
  2669                        "names": [],
  2670                        "nodeType": "FunctionCall",
  2671                        "src": "217:10:1",
  2672                        "typeDescriptions": {
  2673                          "typeIdentifier": "t_address",
  2674                          "typeString": "address"
  2675                        }
  2676                      },
  2677                      "src": "208:19:1",
  2678                      "typeDescriptions": {
  2679                        "typeIdentifier": "t_address",
  2680                        "typeString": "address"
  2681                      }
  2682                    },
  2683                    "id": 81,
  2684                    "nodeType": "ExpressionStatement",
  2685                    "src": "208:19:1"
  2686                  }
  2687                ]
  2688              },
  2689              "documentation": null,
  2690              "id": 83,
  2691              "implemented": true,
  2692              "isConstructor": true,
  2693              "isDeclaredConst": false,
  2694              "modifiers": [],
  2695              "name": "Transfers",
  2696              "nodeType": "FunctionDefinition",
  2697              "parameters": {
  2698                "id": 68,
  2699                "nodeType": "ParameterList",
  2700                "parameters": [],
  2701                "src": "170:2:1"
  2702              },
  2703              "payable": false,
  2704              "returnParameters": {
  2705                "id": 69,
  2706                "nodeType": "ParameterList",
  2707                "parameters": [],
  2708                "src": "180:0:1"
  2709              },
  2710              "scope": 233,
  2711              "src": "152:79:1",
  2712              "stateMutability": "nonpayable",
  2713              "superFunction": null,
  2714              "visibility": "public"
  2715            },
  2716            {
  2717              "body": {
  2718                "id": 118,
  2719                "nodeType": "Block",
  2720                "src": "287:144:1",
  2721                "statements": [
  2722                  {
  2723                    "expression": {
  2724                      "argumentTypes": null,
  2725                      "arguments": [
  2726                        {
  2727                          "argumentTypes": null,
  2728                          "commonType": {
  2729                            "typeIdentifier": "t_uint256",
  2730                            "typeString": "uint256"
  2731                          },
  2732                          "id": 96,
  2733                          "isConstant": false,
  2734                          "isLValue": false,
  2735                          "isPure": false,
  2736                          "lValueRequested": false,
  2737                          "leftExpression": {
  2738                            "argumentTypes": null,
  2739                            "baseExpression": {
  2740                              "argumentTypes": null,
  2741                              "id": 91,
  2742                              "name": "balance",
  2743                              "nodeType": "Identifier",
  2744                              "overloadedDeclarations": [],
  2745                              "referencedDeclaration": 63,
  2746                              "src": "299:7:1",
  2747                              "typeDescriptions": {
  2748                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
  2749                                "typeString": "mapping(address => uint256)"
  2750                              }
  2751                            },
  2752                            "id": 94,
  2753                            "indexExpression": {
  2754                              "argumentTypes": null,
  2755                              "expression": {
  2756                                "argumentTypes": null,
  2757                                "id": 92,
  2758                                "name": "msg",
  2759                                "nodeType": "Identifier",
  2760                                "overloadedDeclarations": [],
  2761                                "referencedDeclaration": 264,
  2762                                "src": "307:3:1",
  2763                                "typeDescriptions": {
  2764                                  "typeIdentifier": "t_magic_message",
  2765                                  "typeString": "msg"
  2766                                }
  2767                              },
  2768                              "id": 93,
  2769                              "isConstant": false,
  2770                              "isLValue": false,
  2771                              "isPure": false,
  2772                              "lValueRequested": false,
  2773                              "memberName": "sender",
  2774                              "nodeType": "MemberAccess",
  2775                              "referencedDeclaration": null,
  2776                              "src": "307:10:1",
  2777                              "typeDescriptions": {
  2778                                "typeIdentifier": "t_address",
  2779                                "typeString": "address"
  2780                              }
  2781                            },
  2782                            "isConstant": false,
  2783                            "isLValue": true,
  2784                            "isPure": false,
  2785                            "lValueRequested": false,
  2786                            "nodeType": "IndexAccess",
  2787                            "src": "299:19:1",
  2788                            "typeDescriptions": {
  2789                              "typeIdentifier": "t_uint256",
  2790                              "typeString": "uint256"
  2791                            }
  2792                          },
  2793                          "nodeType": "BinaryOperation",
  2794                          "operator": ">=",
  2795                          "rightExpression": {
  2796                            "argumentTypes": null,
  2797                            "id": 95,
  2798                            "name": "_value",
  2799                            "nodeType": "Identifier",
  2800                            "overloadedDeclarations": [],
  2801                            "referencedDeclaration": 87,
  2802                            "src": "322:6:1",
  2803                            "typeDescriptions": {
  2804                              "typeIdentifier": "t_uint256",
  2805                              "typeString": "uint256"
  2806                            }
  2807                          },
  2808                          "src": "299:29:1",
  2809                          "typeDescriptions": {
  2810                            "typeIdentifier": "t_bool",
  2811                            "typeString": "bool"
  2812                          }
  2813                        }
  2814                      ],
  2815                      "expression": {
  2816                        "argumentTypes": [
  2817                          {
  2818                            "typeIdentifier": "t_bool",
  2819                            "typeString": "bool"
  2820                          }
  2821                        ],
  2822                        "id": 90,
  2823                        "name": "require",
  2824                        "nodeType": "Identifier",
  2825                        "overloadedDeclarations": [
  2826                          267,
  2827                          268
  2828                        ],
  2829                        "referencedDeclaration": 267,
  2830                        "src": "291:7:1",
  2831                        "typeDescriptions": {
  2832                          "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
  2833                          "typeString": "function (bool) pure"
  2834                        }
  2835                      },
  2836                      "id": 97,
  2837                      "isConstant": false,
  2838                      "isLValue": false,
  2839                      "isPure": false,
  2840                      "kind": "functionCall",
  2841                      "lValueRequested": false,
  2842                      "names": [],
  2843                      "nodeType": "FunctionCall",
  2844                      "src": "291:38:1",
  2845                      "typeDescriptions": {
  2846                        "typeIdentifier": "t_tuple$__$",
  2847                        "typeString": "tuple()"
  2848                      }
  2849                    },
  2850                    "id": 98,
  2851                    "nodeType": "ExpressionStatement",
  2852                    "src": "291:38:1"
  2853                  },
  2854                  {
  2855                    "assignments": [
  2856                      100
  2857                    ],
  2858                    "declarations": [
  2859                      {
  2860                        "constant": false,
  2861                        "id": 100,
  2862                        "name": "sig",
  2863                        "nodeType": "VariableDeclaration",
  2864                        "scope": 119,
  2865                        "src": "333:10:1",
  2866                        "stateVariable": false,
  2867                        "storageLocation": "default",
  2868                        "typeDescriptions": {
  2869                          "typeIdentifier": "t_bytes4",
  2870                          "typeString": "bytes4"
  2871                        },
  2872                        "typeName": {
  2873                          "id": 99,
  2874                          "name": "bytes4",
  2875                          "nodeType": "ElementaryTypeName",
  2876                          "src": "333:6:1",
  2877                          "typeDescriptions": {
  2878                            "typeIdentifier": "t_bytes4",
  2879                            "typeString": "bytes4"
  2880                          }
  2881                        },
  2882                        "value": null,
  2883                        "visibility": "internal"
  2884                      }
  2885                    ],
  2886                    "id": 106,
  2887                    "initialValue": {
  2888                      "argumentTypes": null,
  2889                      "arguments": [
  2890                        {
  2891                          "argumentTypes": null,
  2892                          "arguments": [
  2893                            {
  2894                              "argumentTypes": null,
  2895                              "hexValue": "7472616e73666572286164647265737329",
  2896                              "id": 103,
  2897                              "isConstant": false,
  2898                              "isLValue": false,
  2899                              "isPure": true,
  2900                              "kind": "string",
  2901                              "lValueRequested": false,
  2902                              "nodeType": "Literal",
  2903                              "src": "363:19:1",
  2904                              "subdenomination": null,
  2905                              "typeDescriptions": {
  2906                                "typeIdentifier": "t_stringliteral_1a695230cbbb2b7dfd76397005587fe7ab9ee5f528dbc5a16361e8100dc2c499",
  2907                                "typeString": "literal_string \"transfer(address)\""
  2908                              },
  2909                              "value": "transfer(address)"
  2910                            }
  2911                          ],
  2912                          "expression": {
  2913                            "argumentTypes": [
  2914                              {
  2915                                "typeIdentifier": "t_stringliteral_1a695230cbbb2b7dfd76397005587fe7ab9ee5f528dbc5a16361e8100dc2c499",
  2916                                "typeString": "literal_string \"transfer(address)\""
  2917                              }
  2918                            ],
  2919                            "id": 102,
  2920                            "name": "keccak256",
  2921                            "nodeType": "Identifier",
  2922                            "overloadedDeclarations": [],
  2923                            "referencedDeclaration": 258,
  2924                            "src": "353:9:1",
  2925                            "typeDescriptions": {
  2926                              "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
  2927                              "typeString": "function () pure returns (bytes32)"
  2928                            }
  2929                          },
  2930                          "id": 104,
  2931                          "isConstant": false,
  2932                          "isLValue": false,
  2933                          "isPure": true,
  2934                          "kind": "functionCall",
  2935                          "lValueRequested": false,
  2936                          "names": [],
  2937                          "nodeType": "FunctionCall",
  2938                          "src": "353:30:1",
  2939                          "typeDescriptions": {
  2940                            "typeIdentifier": "t_bytes32",
  2941                            "typeString": "bytes32"
  2942                          }
  2943                        }
  2944                      ],
  2945                      "expression": {
  2946                        "argumentTypes": [
  2947                          {
  2948                            "typeIdentifier": "t_bytes32",
  2949                            "typeString": "bytes32"
  2950                          }
  2951                        ],
  2952                        "id": 101,
  2953                        "isConstant": false,
  2954                        "isLValue": false,
  2955                        "isPure": true,
  2956                        "lValueRequested": false,
  2957                        "nodeType": "ElementaryTypeNameExpression",
  2958                        "src": "346:6:1",
  2959                        "typeDescriptions": {
  2960                          "typeIdentifier": "t_type$_t_bytes4_$",
  2961                          "typeString": "type(bytes4)"
  2962                        },
  2963                        "typeName": "bytes4"
  2964                      },
  2965                      "id": 105,
  2966                      "isConstant": false,
  2967                      "isLValue": false,
  2968                      "isPure": true,
  2969                      "kind": "typeConversion",
  2970                      "lValueRequested": false,
  2971                      "names": [],
  2972                      "nodeType": "FunctionCall",
  2973                      "src": "346:38:1",
  2974                      "typeDescriptions": {
  2975                        "typeIdentifier": "t_bytes4",
  2976                        "typeString": "bytes4"
  2977                      }
  2978                    },
  2979                    "nodeType": "VariableDeclarationStatement",
  2980                    "src": "333:51:1"
  2981                  },
  2982                  {
  2983                    "expression": {
  2984                      "argumentTypes": null,
  2985                      "arguments": [
  2986                        {
  2987                          "argumentTypes": null,
  2988                          "id": 114,
  2989                          "name": "sig",
  2990                          "nodeType": "Identifier",
  2991                          "overloadedDeclarations": [],
  2992                          "referencedDeclaration": 100,
  2993                          "src": "414:3:1",
  2994                          "typeDescriptions": {
  2995                            "typeIdentifier": "t_bytes4",
  2996                            "typeString": "bytes4"
  2997                          }
  2998                        },
  2999                        {
  3000                          "argumentTypes": null,
  3001                          "id": 115,
  3002                          "name": "_addr",
  3003                          "nodeType": "Identifier",
  3004                          "overloadedDeclarations": [],
  3005                          "referencedDeclaration": 85,
  3006                          "src": "419:5:1",
  3007                          "typeDescriptions": {
  3008                            "typeIdentifier": "t_address",
  3009                            "typeString": "address"
  3010                          }
  3011                        }
  3012                      ],
  3013                      "expression": {
  3014                        "argumentTypes": [
  3015                          {
  3016                            "typeIdentifier": "t_bytes4",
  3017                            "typeString": "bytes4"
  3018                          },
  3019                          {
  3020                            "typeIdentifier": "t_address",
  3021                            "typeString": "address"
  3022                          }
  3023                        ],
  3024                        "arguments": [
  3025                          {
  3026                            "argumentTypes": null,
  3027                            "id": 112,
  3028                            "name": "_value",
  3029                            "nodeType": "Identifier",
  3030                            "overloadedDeclarations": [],
  3031                            "referencedDeclaration": 87,
  3032                            "src": "406:6:1",
  3033                            "typeDescriptions": {
  3034                              "typeIdentifier": "t_uint256",
  3035                              "typeString": "uint256"
  3036                            }
  3037                          }
  3038                        ],
  3039                        "expression": {
  3040                          "argumentTypes": [
  3041                            {
  3042                              "typeIdentifier": "t_uint256",
  3043                              "typeString": "uint256"
  3044                            }
  3045                          ],
  3046                          "expression": {
  3047                            "argumentTypes": null,
  3048                            "expression": {
  3049                              "argumentTypes": null,
  3050                              "id": 107,
  3051                              "name": "t_addr",
  3052                              "nodeType": "Identifier",
  3053                              "overloadedDeclarations": [],
  3054                              "referencedDeclaration": 67,
  3055                              "src": "388:6:1",
  3056                              "typeDescriptions": {
  3057                                "typeIdentifier": "t_address",
  3058                                "typeString": "address"
  3059                              }
  3060                            },
  3061                            "id": 110,
  3062                            "isConstant": false,
  3063                            "isLValue": false,
  3064                            "isPure": false,
  3065                            "lValueRequested": false,
  3066                            "memberName": "call",
  3067                            "nodeType": "MemberAccess",
  3068                            "referencedDeclaration": null,
  3069                            "src": "388:11:1",
  3070                            "typeDescriptions": {
  3071                              "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$",
  3072                              "typeString": "function () payable returns (bool)"
  3073                            }
  3074                          },
  3075                          "id": 111,
  3076                          "isConstant": false,
  3077                          "isLValue": false,
  3078                          "isPure": false,
  3079                          "lValueRequested": false,
  3080                          "memberName": "value",
  3081                          "nodeType": "MemberAccess",
  3082                          "referencedDeclaration": null,
  3083                          "src": "388:17:1",
  3084                          "typeDescriptions": {
  3085                            "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_barecall_payable$__$returns$_t_bool_$value_$",
  3086                            "typeString": "function (uint256) returns (function () payable returns (bool))"
  3087                          }
  3088                        },
  3089                        "id": 113,
  3090                        "isConstant": false,
  3091                        "isLValue": false,
  3092                        "isPure": false,
  3093                        "kind": "functionCall",
  3094                        "lValueRequested": false,
  3095                        "names": [],
  3096                        "nodeType": "FunctionCall",
  3097                        "src": "388:25:1",
  3098                        "typeDescriptions": {
  3099                          "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$value",
  3100                          "typeString": "function () payable returns (bool)"
  3101                        }
  3102                      },
  3103                      "id": 116,
  3104                      "isConstant": false,
  3105                      "isLValue": false,
  3106                      "isPure": false,
  3107                      "kind": "functionCall",
  3108                      "lValueRequested": false,
  3109                      "names": [],
  3110                      "nodeType": "FunctionCall",
  3111                      "src": "388:37:1",
  3112                      "typeDescriptions": {
  3113                        "typeIdentifier": "t_bool",
  3114                        "typeString": "bool"
  3115                      }
  3116                    },
  3117                    "id": 117,
  3118                    "nodeType": "ExpressionStatement",
  3119                    "src": "388:37:1"
  3120                  }
  3121                ]
  3122              },
  3123              "documentation": null,
  3124              "id": 119,
  3125              "implemented": true,
  3126              "isConstructor": false,
  3127              "isDeclaredConst": false,
  3128              "modifiers": [],
  3129              "name": "transfer",
  3130              "nodeType": "FunctionDefinition",
  3131              "parameters": {
  3132                "id": 88,
  3133                "nodeType": "ParameterList",
  3134                "parameters": [
  3135                  {
  3136                    "constant": false,
  3137                    "id": 85,
  3138                    "name": "_addr",
  3139                    "nodeType": "VariableDeclaration",
  3140                    "scope": 119,
  3141                    "src": "252:13:1",
  3142                    "stateVariable": false,
  3143                    "storageLocation": "default",
  3144                    "typeDescriptions": {
  3145                      "typeIdentifier": "t_address",
  3146                      "typeString": "address"
  3147                    },
  3148                    "typeName": {
  3149                      "id": 84,
  3150                      "name": "address",
  3151                      "nodeType": "ElementaryTypeName",
  3152                      "src": "252:7:1",
  3153                      "typeDescriptions": {
  3154                        "typeIdentifier": "t_address",
  3155                        "typeString": "address"
  3156                      }
  3157                    },
  3158                    "value": null,
  3159                    "visibility": "internal"
  3160                  },
  3161                  {
  3162                    "constant": false,
  3163                    "id": 87,
  3164                    "name": "_value",
  3165                    "nodeType": "VariableDeclaration",
  3166                    "scope": 119,
  3167                    "src": "267:11:1",
  3168                    "stateVariable": false,
  3169                    "storageLocation": "default",
  3170                    "typeDescriptions": {
  3171                      "typeIdentifier": "t_uint256",
  3172                      "typeString": "uint256"
  3173                    },
  3174                    "typeName": {
  3175                      "id": 86,
  3176                      "name": "uint",
  3177                      "nodeType": "ElementaryTypeName",
  3178                      "src": "267:4:1",
  3179                      "typeDescriptions": {
  3180                        "typeIdentifier": "t_uint256",
  3181                        "typeString": "uint256"
  3182                      }
  3183                    },
  3184                    "value": null,
  3185                    "visibility": "internal"
  3186                  }
  3187                ],
  3188                "src": "251:28:1"
  3189              },
  3190              "payable": false,
  3191              "returnParameters": {
  3192                "id": 89,
  3193                "nodeType": "ParameterList",
  3194                "parameters": [],
  3195                "src": "287:0:1"
  3196              },
  3197              "scope": 233,
  3198              "src": "234:197:1",
  3199              "stateMutability": "nonpayable",
  3200              "superFunction": null,
  3201              "visibility": "public"
  3202            },
  3203            {
  3204              "body": {
  3205                "id": 129,
  3206                "nodeType": "Block",
  3207                "src": "477:34:1",
  3208                "statements": [
  3209                  {
  3210                    "expression": {
  3211                      "argumentTypes": null,
  3212                      "baseExpression": {
  3213                        "argumentTypes": null,
  3214                        "id": 124,
  3215                        "name": "balance",
  3216                        "nodeType": "Identifier",
  3217                        "overloadedDeclarations": [],
  3218                        "referencedDeclaration": 63,
  3219                        "src": "488:7:1",
  3220                        "typeDescriptions": {
  3221                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
  3222                          "typeString": "mapping(address => uint256)"
  3223                        }
  3224                      },
  3225                      "id": 127,
  3226                      "indexExpression": {
  3227                        "argumentTypes": null,
  3228                        "expression": {
  3229                          "argumentTypes": null,
  3230                          "id": 125,
  3231                          "name": "msg",
  3232                          "nodeType": "Identifier",
  3233                          "overloadedDeclarations": [],
  3234                          "referencedDeclaration": 264,
  3235                          "src": "496:3:1",
  3236                          "typeDescriptions": {
  3237                            "typeIdentifier": "t_magic_message",
  3238                            "typeString": "msg"
  3239                          }
  3240                        },
  3241                        "id": 126,
  3242                        "isConstant": false,
  3243                        "isLValue": false,
  3244                        "isPure": false,
  3245                        "lValueRequested": false,
  3246                        "memberName": "sender",
  3247                        "nodeType": "MemberAccess",
  3248                        "referencedDeclaration": null,
  3249                        "src": "496:10:1",
  3250                        "typeDescriptions": {
  3251                          "typeIdentifier": "t_address",
  3252                          "typeString": "address"
  3253                        }
  3254                      },
  3255                      "isConstant": false,
  3256                      "isLValue": true,
  3257                      "isPure": false,
  3258                      "lValueRequested": false,
  3259                      "nodeType": "IndexAccess",
  3260                      "src": "488:19:1",
  3261                      "typeDescriptions": {
  3262                        "typeIdentifier": "t_uint256",
  3263                        "typeString": "uint256"
  3264                      }
  3265                    },
  3266                    "functionReturnParameters": 123,
  3267                    "id": 128,
  3268                    "nodeType": "Return",
  3269                    "src": "481:26:1"
  3270                  }
  3271                ]
  3272              },
  3273              "documentation": null,
  3274              "id": 130,
  3275              "implemented": true,
  3276              "isConstructor": false,
  3277              "isDeclaredConst": false,
  3278              "modifiers": [],
  3279              "name": "myBalance",
  3280              "nodeType": "FunctionDefinition",
  3281              "parameters": {
  3282                "id": 120,
  3283                "nodeType": "ParameterList",
  3284                "parameters": [],
  3285                "src": "452:2:1"
  3286              },
  3287              "payable": false,
  3288              "returnParameters": {
  3289                "id": 123,
  3290                "nodeType": "ParameterList",
  3291                "parameters": [
  3292                  {
  3293                    "constant": false,
  3294                    "id": 122,
  3295                    "name": "",
  3296                    "nodeType": "VariableDeclaration",
  3297                    "scope": 130,
  3298                    "src": "471:4:1",
  3299                    "stateVariable": false,
  3300                    "storageLocation": "default",
  3301                    "typeDescriptions": {
  3302                      "typeIdentifier": "t_uint256",
  3303                      "typeString": "uint256"
  3304                    },
  3305                    "typeName": {
  3306                      "id": 121,
  3307                      "name": "uint",
  3308                      "nodeType": "ElementaryTypeName",
  3309                      "src": "471:4:1",
  3310                      "typeDescriptions": {
  3311                        "typeIdentifier": "t_uint256",
  3312                        "typeString": "uint256"
  3313                      }
  3314                    },
  3315                    "value": null,
  3316                    "visibility": "internal"
  3317                  }
  3318                ],
  3319                "src": "470:6:1"
  3320              },
  3321              "scope": 233,
  3322              "src": "434:77:1",
  3323              "stateMutability": "nonpayable",
  3324              "superFunction": null,
  3325              "visibility": "public"
  3326            },
  3327            {
  3328              "body": {
  3329                "id": 148,
  3330                "nodeType": "Block",
  3331                "src": "563:70:1",
  3332                "statements": [
  3333                  {
  3334                    "expression": {
  3335                      "argumentTypes": null,
  3336                      "id": 141,
  3337                      "isConstant": false,
  3338                      "isLValue": false,
  3339                      "isPure": false,
  3340                      "lValueRequested": false,
  3341                      "leftHandSide": {
  3342                        "argumentTypes": null,
  3343                        "baseExpression": {
  3344                          "argumentTypes": null,
  3345                          "id": 135,
  3346                          "name": "balance",
  3347                          "nodeType": "Identifier",
  3348                          "overloadedDeclarations": [],
  3349                          "referencedDeclaration": 63,
  3350                          "src": "567:7:1",
  3351                          "typeDescriptions": {
  3352                            "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
  3353                            "typeString": "mapping(address => uint256)"
  3354                          }
  3355                        },
  3356                        "id": 138,
  3357                        "indexExpression": {
  3358                          "argumentTypes": null,
  3359                          "expression": {
  3360                            "argumentTypes": null,
  3361                            "id": 136,
  3362                            "name": "msg",
  3363                            "nodeType": "Identifier",
  3364                            "overloadedDeclarations": [],
  3365                            "referencedDeclaration": 264,
  3366                            "src": "575:3:1",
  3367                            "typeDescriptions": {
  3368                              "typeIdentifier": "t_magic_message",
  3369                              "typeString": "msg"
  3370                            }
  3371                          },
  3372                          "id": 137,
  3373                          "isConstant": false,
  3374                          "isLValue": false,
  3375                          "isPure": false,
  3376                          "lValueRequested": false,
  3377                          "memberName": "sender",
  3378                          "nodeType": "MemberAccess",
  3379                          "referencedDeclaration": null,
  3380                          "src": "575:10:1",
  3381                          "typeDescriptions": {
  3382                            "typeIdentifier": "t_address",
  3383                            "typeString": "address"
  3384                          }
  3385                        },
  3386                        "isConstant": false,
  3387                        "isLValue": true,
  3388                        "isPure": false,
  3389                        "lValueRequested": true,
  3390                        "nodeType": "IndexAccess",
  3391                        "src": "567:19:1",
  3392                        "typeDescriptions": {
  3393                          "typeIdentifier": "t_uint256",
  3394                          "typeString": "uint256"
  3395                        }
  3396                      },
  3397                      "nodeType": "Assignment",
  3398                      "operator": "+=",
  3399                      "rightHandSide": {
  3400                        "argumentTypes": null,
  3401                        "expression": {
  3402                          "argumentTypes": null,
  3403                          "id": 139,
  3404                          "name": "msg",
  3405                          "nodeType": "Identifier",
  3406                          "overloadedDeclarations": [],
  3407                          "referencedDeclaration": 264,
  3408                          "src": "590:3:1",
  3409                          "typeDescriptions": {
  3410                            "typeIdentifier": "t_magic_message",
  3411                            "typeString": "msg"
  3412                          }
  3413                        },
  3414                        "id": 140,
  3415                        "isConstant": false,
  3416                        "isLValue": false,
  3417                        "isPure": false,
  3418                        "lValueRequested": false,
  3419                        "memberName": "value",
  3420                        "nodeType": "MemberAccess",
  3421                        "referencedDeclaration": null,
  3422                        "src": "590:9:1",
  3423                        "typeDescriptions": {
  3424                          "typeIdentifier": "t_uint256",
  3425                          "typeString": "uint256"
  3426                        }
  3427                      },
  3428                      "src": "567:32:1",
  3429                      "typeDescriptions": {
  3430                        "typeIdentifier": "t_uint256",
  3431                        "typeString": "uint256"
  3432                      }
  3433                    },
  3434                    "id": 142,
  3435                    "nodeType": "ExpressionStatement",
  3436                    "src": "567:32:1"
  3437                  },
  3438                  {
  3439                    "expression": {
  3440                      "argumentTypes": null,
  3441                      "baseExpression": {
  3442                        "argumentTypes": null,
  3443                        "id": 143,
  3444                        "name": "balance",
  3445                        "nodeType": "Identifier",
  3446                        "overloadedDeclarations": [],
  3447                        "referencedDeclaration": 63,
  3448                        "src": "610:7:1",
  3449                        "typeDescriptions": {
  3450                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
  3451                          "typeString": "mapping(address => uint256)"
  3452                        }
  3453                      },
  3454                      "id": 146,
  3455                      "indexExpression": {
  3456                        "argumentTypes": null,
  3457                        "expression": {
  3458                          "argumentTypes": null,
  3459                          "id": 144,
  3460                          "name": "msg",
  3461                          "nodeType": "Identifier",
  3462                          "overloadedDeclarations": [],
  3463                          "referencedDeclaration": 264,
  3464                          "src": "618:3:1",
  3465                          "typeDescriptions": {
  3466                            "typeIdentifier": "t_magic_message",
  3467                            "typeString": "msg"
  3468                          }
  3469                        },
  3470                        "id": 145,
  3471                        "isConstant": false,
  3472                        "isLValue": false,
  3473                        "isPure": false,
  3474                        "lValueRequested": false,
  3475                        "memberName": "sender",
  3476                        "nodeType": "MemberAccess",
  3477                        "referencedDeclaration": null,
  3478                        "src": "618:10:1",
  3479                        "typeDescriptions": {
  3480                          "typeIdentifier": "t_address",
  3481                          "typeString": "address"
  3482                        }
  3483                      },
  3484                      "isConstant": false,
  3485                      "isLValue": true,
  3486                      "isPure": false,
  3487                      "lValueRequested": false,
  3488                      "nodeType": "IndexAccess",
  3489                      "src": "610:19:1",
  3490                      "typeDescriptions": {
  3491                        "typeIdentifier": "t_uint256",
  3492                        "typeString": "uint256"
  3493                      }
  3494                    },
  3495                    "functionReturnParameters": 134,
  3496                    "id": 147,
  3497                    "nodeType": "Return",
  3498                    "src": "603:26:1"
  3499                  }
  3500                ]
  3501              },
  3502              "documentation": null,
  3503              "id": 149,
  3504              "implemented": true,
  3505              "isConstructor": false,
  3506              "isDeclaredConst": false,
  3507              "modifiers": [],
  3508              "name": "deposit",
  3509              "nodeType": "FunctionDefinition",
  3510              "parameters": {
  3511                "id": 131,
  3512                "nodeType": "ParameterList",
  3513                "parameters": [],
  3514                "src": "530:2:1"
  3515              },
  3516              "payable": true,
  3517              "returnParameters": {
  3518                "id": 134,
  3519                "nodeType": "ParameterList",
  3520                "parameters": [
  3521                  {
  3522                    "constant": false,
  3523                    "id": 133,
  3524                    "name": "",
  3525                    "nodeType": "VariableDeclaration",
  3526                    "scope": 149,
  3527                    "src": "557:4:1",
  3528                    "stateVariable": false,
  3529                    "storageLocation": "default",
  3530                    "typeDescriptions": {
  3531                      "typeIdentifier": "t_uint256",
  3532                      "typeString": "uint256"
  3533                    },
  3534                    "typeName": {
  3535                      "id": 132,
  3536                      "name": "uint",
  3537                      "nodeType": "ElementaryTypeName",
  3538                      "src": "557:4:1",
  3539                      "typeDescriptions": {
  3540                        "typeIdentifier": "t_uint256",
  3541                        "typeString": "uint256"
  3542                      }
  3543                    },
  3544                    "value": null,
  3545                    "visibility": "internal"
  3546                  }
  3547                ],
  3548                "src": "556:6:1"
  3549              },
  3550              "scope": 233,
  3551              "src": "514:119:1",
  3552              "stateMutability": "payable",
  3553              "superFunction": null,
  3554              "visibility": "public"
  3555            },
  3556            {
  3557              "body": {
  3558                "id": 178,
  3559                "nodeType": "Block",
  3560                "src": "689:105:1",
  3561                "statements": [
  3562                  {
  3563                    "expression": {
  3564                      "argumentTypes": null,
  3565                      "arguments": [
  3566                        {
  3567                          "argumentTypes": null,
  3568                          "commonType": {
  3569                            "typeIdentifier": "t_uint256",
  3570                            "typeString": "uint256"
  3571                          },
  3572                          "id": 162,
  3573                          "isConstant": false,
  3574                          "isLValue": false,
  3575                          "isPure": false,
  3576                          "lValueRequested": false,
  3577                          "leftExpression": {
  3578                            "argumentTypes": null,
  3579                            "baseExpression": {
  3580                              "argumentTypes": null,
  3581                              "id": 157,
  3582                              "name": "balance",
  3583                              "nodeType": "Identifier",
  3584                              "overloadedDeclarations": [],
  3585                              "referencedDeclaration": 63,
  3586                              "src": "701:7:1",
  3587                              "typeDescriptions": {
  3588                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
  3589                                "typeString": "mapping(address => uint256)"
  3590                              }
  3591                            },
  3592                            "id": 160,
  3593                            "indexExpression": {
  3594                              "argumentTypes": null,
  3595                              "expression": {
  3596                                "argumentTypes": null,
  3597                                "id": 158,
  3598                                "name": "msg",
  3599                                "nodeType": "Identifier",
  3600                                "overloadedDeclarations": [],
  3601                                "referencedDeclaration": 264,
  3602                                "src": "709:3:1",
  3603                                "typeDescriptions": {
  3604                                  "typeIdentifier": "t_magic_message",
  3605                                  "typeString": "msg"
  3606                                }
  3607                              },
  3608                              "id": 159,
  3609                              "isConstant": false,
  3610                              "isLValue": false,
  3611                              "isPure": false,
  3612                              "lValueRequested": false,
  3613                              "memberName": "sender",
  3614                              "nodeType": "MemberAccess",
  3615                              "referencedDeclaration": null,
  3616                              "src": "709:10:1",
  3617                              "typeDescriptions": {
  3618                                "typeIdentifier": "t_address",
  3619                                "typeString": "address"
  3620                              }
  3621                            },
  3622                            "isConstant": false,
  3623                            "isLValue": true,
  3624                            "isPure": false,
  3625                            "lValueRequested": false,
  3626                            "nodeType": "IndexAccess",
  3627                            "src": "701:19:1",
  3628                            "typeDescriptions": {
  3629                              "typeIdentifier": "t_uint256",
  3630                              "typeString": "uint256"
  3631                            }
  3632                          },
  3633                          "nodeType": "BinaryOperation",
  3634                          "operator": ">=",
  3635                          "rightExpression": {
  3636                            "argumentTypes": null,
  3637                            "id": 161,
  3638                            "name": "_value",
  3639                            "nodeType": "Identifier",
  3640                            "overloadedDeclarations": [],
  3641                            "referencedDeclaration": 153,
  3642                            "src": "724:6:1",
  3643                            "typeDescriptions": {
  3644                              "typeIdentifier": "t_uint256",
  3645                              "typeString": "uint256"
  3646                            }
  3647                          },
  3648                          "src": "701:29:1",
  3649                          "typeDescriptions": {
  3650                            "typeIdentifier": "t_bool",
  3651                            "typeString": "bool"
  3652                          }
  3653                        }
  3654                      ],
  3655                      "expression": {
  3656                        "argumentTypes": [
  3657                          {
  3658                            "typeIdentifier": "t_bool",
  3659                            "typeString": "bool"
  3660                          }
  3661                        ],
  3662                        "id": 156,
  3663                        "name": "require",
  3664                        "nodeType": "Identifier",
  3665                        "overloadedDeclarations": [
  3666                          267,
  3667                          268
  3668                        ],
  3669                        "referencedDeclaration": 267,
  3670                        "src": "693:7:1",
  3671                        "typeDescriptions": {
  3672                          "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
  3673                          "typeString": "function (bool) pure"
  3674                        }
  3675                      },
  3676                      "id": 163,
  3677                      "isConstant": false,
  3678                      "isLValue": false,
  3679                      "isPure": false,
  3680                      "kind": "functionCall",
  3681                      "lValueRequested": false,
  3682                      "names": [],
  3683                      "nodeType": "FunctionCall",
  3684                      "src": "693:38:1",
  3685                      "typeDescriptions": {
  3686                        "typeIdentifier": "t_tuple$__$",
  3687                        "typeString": "tuple()"
  3688                      }
  3689                    },
  3690                    "id": 164,
  3691                    "nodeType": "ExpressionStatement",
  3692                    "src": "693:38:1"
  3693                  },
  3694                  {
  3695                    "expression": {
  3696                      "argumentTypes": null,
  3697                      "id": 170,
  3698                      "isConstant": false,
  3699                      "isLValue": false,
  3700                      "isPure": false,
  3701                      "lValueRequested": false,
  3702                      "leftHandSide": {
  3703                        "argumentTypes": null,
  3704                        "baseExpression": {
  3705                          "argumentTypes": null,
  3706                          "id": 165,
  3707                          "name": "balance",
  3708                          "nodeType": "Identifier",
  3709                          "overloadedDeclarations": [],
  3710                          "referencedDeclaration": 63,
  3711                          "src": "735:7:1",
  3712                          "typeDescriptions": {
  3713                            "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
  3714                            "typeString": "mapping(address => uint256)"
  3715                          }
  3716                        },
  3717                        "id": 168,
  3718                        "indexExpression": {
  3719                          "argumentTypes": null,
  3720                          "expression": {
  3721                            "argumentTypes": null,
  3722                            "id": 166,
  3723                            "name": "msg",
  3724                            "nodeType": "Identifier",
  3725                            "overloadedDeclarations": [],
  3726                            "referencedDeclaration": 264,
  3727                            "src": "743:3:1",
  3728                            "typeDescriptions": {
  3729                              "typeIdentifier": "t_magic_message",
  3730                              "typeString": "msg"
  3731                            }
  3732                          },
  3733                          "id": 167,
  3734                          "isConstant": false,
  3735                          "isLValue": false,
  3736                          "isPure": false,
  3737                          "lValueRequested": false,
  3738                          "memberName": "sender",
  3739                          "nodeType": "MemberAccess",
  3740                          "referencedDeclaration": null,
  3741                          "src": "743:10:1",
  3742                          "typeDescriptions": {
  3743                            "typeIdentifier": "t_address",
  3744                            "typeString": "address"
  3745                          }
  3746                        },
  3747                        "isConstant": false,
  3748                        "isLValue": true,
  3749                        "isPure": false,
  3750                        "lValueRequested": true,
  3751                        "nodeType": "IndexAccess",
  3752                        "src": "735:19:1",
  3753                        "typeDescriptions": {
  3754                          "typeIdentifier": "t_uint256",
  3755                          "typeString": "uint256"
  3756                        }
  3757                      },
  3758                      "nodeType": "Assignment",
  3759                      "operator": "-=",
  3760                      "rightHandSide": {
  3761                        "argumentTypes": null,
  3762                        "id": 169,
  3763                        "name": "_value",
  3764                        "nodeType": "Identifier",
  3765                        "overloadedDeclarations": [],
  3766                        "referencedDeclaration": 153,
  3767                        "src": "758:6:1",
  3768                        "typeDescriptions": {
  3769                          "typeIdentifier": "t_uint256",
  3770                          "typeString": "uint256"
  3771                        }
  3772                      },
  3773                      "src": "735:29:1",
  3774                      "typeDescriptions": {
  3775                        "typeIdentifier": "t_uint256",
  3776                        "typeString": "uint256"
  3777                      }
  3778                    },
  3779                    "id": 171,
  3780                    "nodeType": "ExpressionStatement",
  3781                    "src": "735:29:1"
  3782                  },
  3783                  {
  3784                    "expression": {
  3785                      "argumentTypes": null,
  3786                      "arguments": [
  3787                        {
  3788                          "argumentTypes": null,
  3789                          "id": 175,
  3790                          "name": "_value",
  3791                          "nodeType": "Identifier",
  3792                          "overloadedDeclarations": [],
  3793                          "referencedDeclaration": 153,
  3794                          "src": "783:6:1",
  3795                          "typeDescriptions": {
  3796                            "typeIdentifier": "t_uint256",
  3797                            "typeString": "uint256"
  3798                          }
  3799                        }
  3800                      ],
  3801                      "expression": {
  3802                        "argumentTypes": [
  3803                          {
  3804                            "typeIdentifier": "t_uint256",
  3805                            "typeString": "uint256"
  3806                          }
  3807                        ],
  3808                        "expression": {
  3809                          "argumentTypes": null,
  3810                          "id": 172,
  3811                          "name": "_addr",
  3812                          "nodeType": "Identifier",
  3813                          "overloadedDeclarations": [],
  3814                          "referencedDeclaration": 151,
  3815                          "src": "768:5:1",
  3816                          "typeDescriptions": {
  3817                            "typeIdentifier": "t_address",
  3818                            "typeString": "address"
  3819                          }
  3820                        },
  3821                        "id": 174,
  3822                        "isConstant": false,
  3823                        "isLValue": false,
  3824                        "isPure": false,
  3825                        "lValueRequested": false,
  3826                        "memberName": "transfer",
  3827                        "nodeType": "MemberAccess",
  3828                        "referencedDeclaration": null,
  3829                        "src": "768:14:1",
  3830                        "typeDescriptions": {
  3831                          "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
  3832                          "typeString": "function (uint256)"
  3833                        }
  3834                      },
  3835                      "id": 176,
  3836                      "isConstant": false,
  3837                      "isLValue": false,
  3838                      "isPure": false,
  3839                      "kind": "functionCall",
  3840                      "lValueRequested": false,
  3841                      "names": [],
  3842                      "nodeType": "FunctionCall",
  3843                      "src": "768:22:1",
  3844                      "typeDescriptions": {
  3845                        "typeIdentifier": "t_tuple$__$",
  3846                        "typeString": "tuple()"
  3847                      }
  3848                    },
  3849                    "id": 177,
  3850                    "nodeType": "ExpressionStatement",
  3851                    "src": "768:22:1"
  3852                  }
  3853                ]
  3854              },
  3855              "documentation": null,
  3856              "id": 179,
  3857              "implemented": true,
  3858              "isConstructor": false,
  3859              "isDeclaredConst": false,
  3860              "modifiers": [],
  3861              "name": "withdraw",
  3862              "nodeType": "FunctionDefinition",
  3863              "parameters": {
  3864                "id": 154,
  3865                "nodeType": "ParameterList",
  3866                "parameters": [
  3867                  {
  3868                    "constant": false,
  3869                    "id": 151,
  3870                    "name": "_addr",
  3871                    "nodeType": "VariableDeclaration",
  3872                    "scope": 179,
  3873                    "src": "654:13:1",
  3874                    "stateVariable": false,
  3875                    "storageLocation": "default",
  3876                    "typeDescriptions": {
  3877                      "typeIdentifier": "t_address",
  3878                      "typeString": "address"
  3879                    },
  3880                    "typeName": {
  3881                      "id": 150,
  3882                      "name": "address",
  3883                      "nodeType": "ElementaryTypeName",
  3884                      "src": "654:7:1",
  3885                      "typeDescriptions": {
  3886                        "typeIdentifier": "t_address",
  3887                        "typeString": "address"
  3888                      }
  3889                    },
  3890                    "value": null,
  3891                    "visibility": "internal"
  3892                  },
  3893                  {
  3894                    "constant": false,
  3895                    "id": 153,
  3896                    "name": "_value",
  3897                    "nodeType": "VariableDeclaration",
  3898                    "scope": 179,
  3899                    "src": "669:11:1",
  3900                    "stateVariable": false,
  3901                    "storageLocation": "default",
  3902                    "typeDescriptions": {
  3903                      "typeIdentifier": "t_uint256",
  3904                      "typeString": "uint256"
  3905                    },
  3906                    "typeName": {
  3907                      "id": 152,
  3908                      "name": "uint",
  3909                      "nodeType": "ElementaryTypeName",
  3910                      "src": "669:4:1",
  3911                      "typeDescriptions": {
  3912                        "typeIdentifier": "t_uint256",
  3913                        "typeString": "uint256"
  3914                      }
  3915                    },
  3916                    "value": null,
  3917                    "visibility": "internal"
  3918                  }
  3919                ],
  3920                "src": "653:28:1"
  3921              },
  3922              "payable": false,
  3923              "returnParameters": {
  3924                "id": 155,
  3925                "nodeType": "ParameterList",
  3926                "parameters": [],
  3927                "src": "689:0:1"
  3928              },
  3929              "scope": 233,
  3930              "src": "636:158:1",
  3931              "stateMutability": "nonpayable",
  3932              "superFunction": null,
  3933              "visibility": "public"
  3934            },
  3935            {
  3936              "body": {
  3937                "id": 231,
  3938                "nodeType": "Block",
  3939                "src": "858:180:1",
  3940                "statements": [
  3941                  {
  3942                    "assignments": [
  3943                      188
  3944                    ],
  3945                    "declarations": [
  3946                      {
  3947                        "constant": false,
  3948                        "id": 188,
  3949                        "name": "l",
  3950                        "nodeType": "VariableDeclaration",
  3951                        "scope": 232,
  3952                        "src": "862:6:1",
  3953                        "stateVariable": false,
  3954                        "storageLocation": "default",
  3955                        "typeDescriptions": {
  3956                          "typeIdentifier": "t_uint256",
  3957                          "typeString": "uint256"
  3958                        },
  3959                        "typeName": {
  3960                          "id": 187,
  3961                          "name": "uint",
  3962                          "nodeType": "ElementaryTypeName",
  3963                          "src": "862:4:1",
  3964                          "typeDescriptions": {
  3965                            "typeIdentifier": "t_uint256",
  3966                            "typeString": "uint256"
  3967                          }
  3968                        },
  3969                        "value": null,
  3970                        "visibility": "internal"
  3971                      }
  3972                    ],
  3973                    "id": 191,
  3974                    "initialValue": {
  3975                      "argumentTypes": null,
  3976                      "expression": {
  3977                        "argumentTypes": null,
  3978                        "id": 189,
  3979                        "name": "_addrs",
  3980                        "nodeType": "Identifier",
  3981                        "overloadedDeclarations": [],
  3982                        "referencedDeclaration": 182,
  3983                        "src": "871:6:1",
  3984                        "typeDescriptions": {
  3985                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
  3986                          "typeString": "address[] memory"
  3987                        }
  3988                      },
  3989                      "id": 190,
  3990                      "isConstant": false,
  3991                      "isLValue": false,
  3992                      "isPure": false,
  3993                      "lValueRequested": false,
  3994                      "memberName": "length",
  3995                      "nodeType": "MemberAccess",
  3996                      "referencedDeclaration": null,
  3997                      "src": "871:13:1",
  3998                      "typeDescriptions": {
  3999                        "typeIdentifier": "t_uint256",
  4000                        "typeString": "uint256"
  4001                      }
  4002                    },
  4003                    "nodeType": "VariableDeclarationStatement",
  4004                    "src": "862:22:1"
  4005                  },
  4006                  {
  4007                    "expression": {
  4008                      "argumentTypes": null,
  4009                      "arguments": [
  4010                        {
  4011                          "argumentTypes": null,
  4012                          "commonType": {
  4013                            "typeIdentifier": "t_uint256",
  4014                            "typeString": "uint256"
  4015                          },
  4016                          "id": 200,
  4017                          "isConstant": false,
  4018                          "isLValue": false,
  4019                          "isPure": false,
  4020                          "lValueRequested": false,
  4021                          "leftExpression": {
  4022                            "argumentTypes": null,
  4023                            "baseExpression": {
  4024                              "argumentTypes": null,
  4025                              "id": 193,
  4026                              "name": "balance",
  4027                              "nodeType": "Identifier",
  4028                              "overloadedDeclarations": [],
  4029                              "referencedDeclaration": 63,
  4030                              "src": "896:7:1",
  4031                              "typeDescriptions": {
  4032                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
  4033                                "typeString": "mapping(address => uint256)"
  4034                              }
  4035                            },
  4036                            "id": 196,
  4037                            "indexExpression": {
  4038                              "argumentTypes": null,
  4039                              "expression": {
  4040                                "argumentTypes": null,
  4041                                "id": 194,
  4042                                "name": "msg",
  4043                                "nodeType": "Identifier",
  4044                                "overloadedDeclarations": [],
  4045                                "referencedDeclaration": 264,
  4046                                "src": "904:3:1",
  4047                                "typeDescriptions": {
  4048                                  "typeIdentifier": "t_magic_message",
  4049                                  "typeString": "msg"
  4050                                }
  4051                              },
  4052                              "id": 195,
  4053                              "isConstant": false,
  4054                              "isLValue": false,
  4055                              "isPure": false,
  4056                              "lValueRequested": false,
  4057                              "memberName": "sender",
  4058                              "nodeType": "MemberAccess",
  4059                              "referencedDeclaration": null,
  4060                              "src": "904:10:1",
  4061                              "typeDescriptions": {
  4062                                "typeIdentifier": "t_address",
  4063                                "typeString": "address"
  4064                              }
  4065                            },
  4066                            "isConstant": false,
  4067                            "isLValue": true,
  4068                            "isPure": false,
  4069                            "lValueRequested": false,
  4070                            "nodeType": "IndexAccess",
  4071                            "src": "896:19:1",
  4072                            "typeDescriptions": {
  4073                              "typeIdentifier": "t_uint256",
  4074                              "typeString": "uint256"
  4075                            }
  4076                          },
  4077                          "nodeType": "BinaryOperation",
  4078                          "operator": ">=",
  4079                          "rightExpression": {
  4080                            "argumentTypes": null,
  4081                            "commonType": {
  4082                              "typeIdentifier": "t_uint256",
  4083                              "typeString": "uint256"
  4084                            },
  4085                            "id": 199,
  4086                            "isConstant": false,
  4087                            "isLValue": false,
  4088                            "isPure": false,
  4089                            "lValueRequested": false,
  4090                            "leftExpression": {
  4091                              "argumentTypes": null,
  4092                              "id": 197,
  4093                              "name": "_value",
  4094                              "nodeType": "Identifier",
  4095                              "overloadedDeclarations": [],
  4096                              "referencedDeclaration": 184,
  4097                              "src": "919:6:1",
  4098                              "typeDescriptions": {
  4099                                "typeIdentifier": "t_uint256",
  4100                                "typeString": "uint256"
  4101                              }
  4102                            },
  4103                            "nodeType": "BinaryOperation",
  4104                            "operator": "*",
  4105                            "rightExpression": {
  4106                              "argumentTypes": null,
  4107                              "id": 198,
  4108                              "name": "l",
  4109                              "nodeType": "Identifier",
  4110                              "overloadedDeclarations": [],
  4111                              "referencedDeclaration": 188,
  4112                              "src": "928:1:1",
  4113                              "typeDescriptions": {
  4114                                "typeIdentifier": "t_uint256",
  4115                                "typeString": "uint256"
  4116                              }
  4117                            },
  4118                            "src": "919:10:1",
  4119                            "typeDescriptions": {
  4120                              "typeIdentifier": "t_uint256",
  4121                              "typeString": "uint256"
  4122                            }
  4123                          },
  4124                          "src": "896:33:1",
  4125                          "typeDescriptions": {
  4126                            "typeIdentifier": "t_bool",
  4127                            "typeString": "bool"
  4128                          }
  4129                        }
  4130                      ],
  4131                      "expression": {
  4132                        "argumentTypes": [
  4133                          {
  4134                            "typeIdentifier": "t_bool",
  4135                            "typeString": "bool"
  4136                          }
  4137                        ],
  4138                        "id": 192,
  4139                        "name": "require",
  4140                        "nodeType": "Identifier",
  4141                        "overloadedDeclarations": [
  4142                          267,
  4143                          268
  4144                        ],
  4145                        "referencedDeclaration": 267,
  4146                        "src": "888:7:1",
  4147                        "typeDescriptions": {
  4148                          "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
  4149                          "typeString": "function (bool) pure"
  4150                        }
  4151                      },
  4152                      "id": 201,
  4153                      "isConstant": false,
  4154                      "isLValue": false,
  4155                      "isPure": false,
  4156                      "kind": "functionCall",
  4157                      "lValueRequested": false,
  4158                      "names": [],
  4159                      "nodeType": "FunctionCall",
  4160                      "src": "888:42:1",
  4161                      "typeDescriptions": {
  4162                        "typeIdentifier": "t_tuple$__$",
  4163                        "typeString": "tuple()"
  4164                      }
  4165                    },
  4166                    "id": 202,
  4167                    "nodeType": "ExpressionStatement",
  4168                    "src": "888:42:1"
  4169                  },
  4170                  {
  4171                    "expression": {
  4172                      "argumentTypes": null,
  4173                      "id": 210,
  4174                      "isConstant": false,
  4175                      "isLValue": false,
  4176                      "isPure": false,
  4177                      "lValueRequested": false,
  4178                      "leftHandSide": {
  4179                        "argumentTypes": null,
  4180                        "baseExpression": {
  4181                          "argumentTypes": null,
  4182                          "id": 203,
  4183                          "name": "balance",
  4184                          "nodeType": "Identifier",
  4185                          "overloadedDeclarations": [],
  4186                          "referencedDeclaration": 63,
  4187                          "src": "934:7:1",
  4188                          "typeDescriptions": {
  4189                            "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
  4190                            "typeString": "mapping(address => uint256)"
  4191                          }
  4192                        },
  4193                        "id": 206,
  4194                        "indexExpression": {
  4195                          "argumentTypes": null,
  4196                          "expression": {
  4197                            "argumentTypes": null,
  4198                            "id": 204,
  4199                            "name": "msg",
  4200                            "nodeType": "Identifier",
  4201                            "overloadedDeclarations": [],
  4202                            "referencedDeclaration": 264,
  4203                            "src": "942:3:1",
  4204                            "typeDescriptions": {
  4205                              "typeIdentifier": "t_magic_message",
  4206                              "typeString": "msg"
  4207                            }
  4208                          },
  4209                          "id": 205,
  4210                          "isConstant": false,
  4211                          "isLValue": false,
  4212                          "isPure": false,
  4213                          "lValueRequested": false,
  4214                          "memberName": "sender",
  4215                          "nodeType": "MemberAccess",
  4216                          "referencedDeclaration": null,
  4217                          "src": "942:10:1",
  4218                          "typeDescriptions": {
  4219                            "typeIdentifier": "t_address",
  4220                            "typeString": "address"
  4221                          }
  4222                        },
  4223                        "isConstant": false,
  4224                        "isLValue": true,
  4225                        "isPure": false,
  4226                        "lValueRequested": true,
  4227                        "nodeType": "IndexAccess",
  4228                        "src": "934:19:1",
  4229                        "typeDescriptions": {
  4230                          "typeIdentifier": "t_uint256",
  4231                          "typeString": "uint256"
  4232                        }
  4233                      },
  4234                      "nodeType": "Assignment",
  4235                      "operator": "-=",
  4236                      "rightHandSide": {
  4237                        "argumentTypes": null,
  4238                        "commonType": {
  4239                          "typeIdentifier": "t_uint256",
  4240                          "typeString": "uint256"
  4241                        },
  4242                        "id": 209,
  4243                        "isConstant": false,
  4244                        "isLValue": false,
  4245                        "isPure": false,
  4246                        "lValueRequested": false,
  4247                        "leftExpression": {
  4248                          "argumentTypes": null,
  4249                          "id": 207,
  4250                          "name": "_value",
  4251                          "nodeType": "Identifier",
  4252                          "overloadedDeclarations": [],
  4253                          "referencedDeclaration": 184,
  4254                          "src": "957:6:1",
  4255                          "typeDescriptions": {
  4256                            "typeIdentifier": "t_uint256",
  4257                            "typeString": "uint256"
  4258                          }
  4259                        },
  4260                        "nodeType": "BinaryOperation",
  4261                        "operator": "*",
  4262                        "rightExpression": {
  4263                          "argumentTypes": null,
  4264                          "id": 208,
  4265                          "name": "l",
  4266                          "nodeType": "Identifier",
  4267                          "overloadedDeclarations": [],
  4268                          "referencedDeclaration": 188,
  4269                          "src": "966:1:1",
  4270                          "typeDescriptions": {
  4271                            "typeIdentifier": "t_uint256",
  4272                            "typeString": "uint256"
  4273                          }
  4274                        },
  4275                        "src": "957:10:1",
  4276                        "typeDescriptions": {
  4277                          "typeIdentifier": "t_uint256",
  4278                          "typeString": "uint256"
  4279                        }
  4280                      },
  4281                      "src": "934:33:1",
  4282                      "typeDescriptions": {
  4283                        "typeIdentifier": "t_uint256",
  4284                        "typeString": "uint256"
  4285                      }
  4286                    },
  4287                    "id": 211,
  4288                    "nodeType": "ExpressionStatement",
  4289                    "src": "934:33:1"
  4290                  },
  4291                  {
  4292                    "body": {
  4293                      "id": 229,
  4294                      "nodeType": "Block",
  4295                      "src": "999:36:1",
  4296                      "statements": [
  4297                        {
  4298                          "expression": {
  4299                            "argumentTypes": null,
  4300                            "arguments": [
  4301                              {
  4302                                "argumentTypes": null,
  4303                                "id": 226,
  4304                                "name": "_value",
  4305                                "nodeType": "Identifier",
  4306                                "overloadedDeclarations": [],
  4307                                "referencedDeclaration": 184,
  4308                                "src": "1023:6:1",
  4309                                "typeDescriptions": {
  4310                                  "typeIdentifier": "t_uint256",
  4311                                  "typeString": "uint256"
  4312                                }
  4313                              }
  4314                            ],
  4315                            "expression": {
  4316                              "argumentTypes": [
  4317                                {
  4318                                  "typeIdentifier": "t_uint256",
  4319                                  "typeString": "uint256"
  4320                                }
  4321                              ],
  4322                              "expression": {
  4323                                "argumentTypes": null,
  4324                                "baseExpression": {
  4325                                  "argumentTypes": null,
  4326                                  "id": 222,
  4327                                  "name": "_addrs",
  4328                                  "nodeType": "Identifier",
  4329                                  "overloadedDeclarations": [],
  4330                                  "referencedDeclaration": 182,
  4331                                  "src": "1004:6:1",
  4332                                  "typeDescriptions": {
  4333                                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
  4334                                    "typeString": "address[] memory"
  4335                                  }
  4336                                },
  4337                                "id": 224,
  4338                                "indexExpression": {
  4339                                  "argumentTypes": null,
  4340                                  "id": 223,
  4341                                  "name": "i",
  4342                                  "nodeType": "Identifier",
  4343                                  "overloadedDeclarations": [],
  4344                                  "referencedDeclaration": 213,
  4345                                  "src": "1011:1:1",
  4346                                  "typeDescriptions": {
  4347                                    "typeIdentifier": "t_uint256",
  4348                                    "typeString": "uint256"
  4349                                  }
  4350                                },
  4351                                "isConstant": false,
  4352                                "isLValue": true,
  4353                                "isPure": false,
  4354                                "lValueRequested": false,
  4355                                "nodeType": "IndexAccess",
  4356                                "src": "1004:9:1",
  4357                                "typeDescriptions": {
  4358                                  "typeIdentifier": "t_address",
  4359                                  "typeString": "address"
  4360                                }
  4361                              },
  4362                              "id": 225,
  4363                              "isConstant": false,
  4364                              "isLValue": false,
  4365                              "isPure": false,
  4366                              "lValueRequested": false,
  4367                              "memberName": "transfer",
  4368                              "nodeType": "MemberAccess",
  4369                              "referencedDeclaration": null,
  4370                              "src": "1004:18:1",
  4371                              "typeDescriptions": {
  4372                                "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
  4373                                "typeString": "function (uint256)"
  4374                              }
  4375                            },
  4376                            "id": 227,
  4377                            "isConstant": false,
  4378                            "isLValue": false,
  4379                            "isPure": false,
  4380                            "kind": "functionCall",
  4381                            "lValueRequested": false,
  4382                            "names": [],
  4383                            "nodeType": "FunctionCall",
  4384                            "src": "1004:26:1",
  4385                            "typeDescriptions": {
  4386                              "typeIdentifier": "t_tuple$__$",
  4387                              "typeString": "tuple()"
  4388                            }
  4389                          },
  4390                          "id": 228,
  4391                          "nodeType": "ExpressionStatement",
  4392                          "src": "1004:26:1"
  4393                        }
  4394                      ]
  4395                    },
  4396                    "condition": {
  4397                      "argumentTypes": null,
  4398                      "commonType": {
  4399                        "typeIdentifier": "t_uint256",
  4400                        "typeString": "uint256"
  4401                      },
  4402                      "id": 218,
  4403                      "isConstant": false,
  4404                      "isLValue": false,
  4405                      "isPure": false,
  4406                      "lValueRequested": false,
  4407                      "leftExpression": {
  4408                        "argumentTypes": null,
  4409                        "id": 216,
  4410                        "name": "i",
  4411                        "nodeType": "Identifier",
  4412                        "overloadedDeclarations": [],
  4413                        "referencedDeclaration": 213,
  4414                        "src": "988:1:1",
  4415                        "typeDescriptions": {
  4416                          "typeIdentifier": "t_uint256",
  4417                          "typeString": "uint256"
  4418                        }
  4419                      },
  4420                      "nodeType": "BinaryOperation",
  4421                      "operator": "<",
  4422                      "rightExpression": {
  4423                        "argumentTypes": null,
  4424                        "id": 217,
  4425                        "name": "l",
  4426                        "nodeType": "Identifier",
  4427                        "overloadedDeclarations": [],
  4428                        "referencedDeclaration": 188,
  4429                        "src": "992:1:1",
  4430                        "typeDescriptions": {
  4431                          "typeIdentifier": "t_uint256",
  4432                          "typeString": "uint256"
  4433                        }
  4434                      },
  4435                      "src": "988:5:1",
  4436                      "typeDescriptions": {
  4437                        "typeIdentifier": "t_bool",
  4438                        "typeString": "bool"
  4439                      }
  4440                    },
  4441                    "id": 230,
  4442                    "initializationExpression": {
  4443                      "assignments": [
  4444                        213
  4445                      ],
  4446                      "declarations": [
  4447                        {
  4448                          "constant": false,
  4449                          "id": 213,
  4450                          "name": "i",
  4451                          "nodeType": "VariableDeclaration",
  4452                          "scope": 232,
  4453                          "src": "976:6:1",
  4454                          "stateVariable": false,
  4455                          "storageLocation": "default",
  4456                          "typeDescriptions": {
  4457                            "typeIdentifier": "t_uint256",
  4458                            "typeString": "uint256"
  4459                          },
  4460                          "typeName": {
  4461                            "id": 212,
  4462                            "name": "uint",
  4463                            "nodeType": "ElementaryTypeName",
  4464                            "src": "976:4:1",
  4465                            "typeDescriptions": {
  4466                              "typeIdentifier": "t_uint256",
  4467                              "typeString": "uint256"
  4468                            }
  4469                          },
  4470                          "value": null,
  4471                          "visibility": "internal"
  4472                        }
  4473                      ],
  4474                      "id": 215,
  4475                      "initialValue": {
  4476                        "argumentTypes": null,
  4477                        "hexValue": "30",
  4478                        "id": 214,
  4479                        "isConstant": false,
  4480                        "isLValue": false,
  4481                        "isPure": true,
  4482                        "kind": "number",
  4483                        "lValueRequested": false,
  4484                        "nodeType": "Literal",
  4485                        "src": "985:1:1",
  4486                        "subdenomination": null,
  4487                        "typeDescriptions": {
  4488                          "typeIdentifier": "t_rational_0_by_1",
  4489                          "typeString": "int_const 0"
  4490                        },
  4491                        "value": "0"
  4492                      },
  4493                      "nodeType": "VariableDeclarationStatement",
  4494                      "src": "976:10:1"
  4495                    },
  4496                    "loopExpression": {
  4497                      "expression": {
  4498                        "argumentTypes": null,
  4499                        "id": 220,
  4500                        "isConstant": false,
  4501                        "isLValue": false,
  4502                        "isPure": false,
  4503                        "lValueRequested": false,
  4504                        "nodeType": "UnaryOperation",
  4505                        "operator": "++",
  4506                        "prefix": false,
  4507                        "src": "995:3:1",
  4508                        "subExpression": {
  4509                          "argumentTypes": null,
  4510                          "id": 219,
  4511                          "name": "i",
  4512                          "nodeType": "Identifier",
  4513                          "overloadedDeclarations": [],
  4514                          "referencedDeclaration": 213,
  4515                          "src": "995:1:1",
  4516                          "typeDescriptions": {
  4517                            "typeIdentifier": "t_uint256",
  4518                            "typeString": "uint256"
  4519                          }
  4520                        },
  4521                        "typeDescriptions": {
  4522                          "typeIdentifier": "t_uint256",
  4523                          "typeString": "uint256"
  4524                        }
  4525                      },
  4526                      "id": 221,
  4527                      "nodeType": "ExpressionStatement",
  4528                      "src": "995:3:1"
  4529                    },
  4530                    "nodeType": "ForStatement",
  4531                    "src": "971:64:1"
  4532                  }
  4533                ]
  4534              },
  4535              "documentation": null,
  4536              "id": 232,
  4537              "implemented": true,
  4538              "isConstructor": false,
  4539              "isDeclaredConst": false,
  4540              "modifiers": [],
  4541              "name": "withdrawMulti",
  4542              "nodeType": "FunctionDefinition",
  4543              "parameters": {
  4544                "id": 185,
  4545                "nodeType": "ParameterList",
  4546                "parameters": [
  4547                  {
  4548                    "constant": false,
  4549                    "id": 182,
  4550                    "name": "_addrs",
  4551                    "nodeType": "VariableDeclaration",
  4552                    "scope": 232,
  4553                    "src": "820:16:1",
  4554                    "stateVariable": false,
  4555                    "storageLocation": "default",
  4556                    "typeDescriptions": {
  4557                      "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
  4558                      "typeString": "address[]"
  4559                    },
  4560                    "typeName": {
  4561                      "baseType": {
  4562                        "id": 180,
  4563                        "name": "address",
  4564                        "nodeType": "ElementaryTypeName",
  4565                        "src": "820:7:1",
  4566                        "typeDescriptions": {
  4567                          "typeIdentifier": "t_address",
  4568                          "typeString": "address"
  4569                        }
  4570                      },
  4571                      "id": 181,
  4572                      "length": null,
  4573                      "nodeType": "ArrayTypeName",
  4574                      "src": "820:9:1",
  4575                      "typeDescriptions": {
  4576                        "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
  4577                        "typeString": "address[]"
  4578                      }
  4579                    },
  4580                    "value": null,
  4581                    "visibility": "internal"
  4582                  },
  4583                  {
  4584                    "constant": false,
  4585                    "id": 184,
  4586                    "name": "_value",
  4587                    "nodeType": "VariableDeclaration",
  4588                    "scope": 232,
  4589                    "src": "838:11:1",
  4590                    "stateVariable": false,
  4591                    "storageLocation": "default",
  4592                    "typeDescriptions": {
  4593                      "typeIdentifier": "t_uint256",
  4594                      "typeString": "uint256"
  4595                    },
  4596                    "typeName": {
  4597                      "id": 183,
  4598                      "name": "uint",
  4599                      "nodeType": "ElementaryTypeName",
  4600                      "src": "838:4:1",
  4601                      "typeDescriptions": {
  4602                        "typeIdentifier": "t_uint256",
  4603                        "typeString": "uint256"
  4604                      }
  4605                    },
  4606                    "value": null,
  4607                    "visibility": "internal"
  4608                  }
  4609                ],
  4610                "src": "819:31:1"
  4611              },
  4612              "payable": false,
  4613              "returnParameters": {
  4614                "id": 186,
  4615                "nodeType": "ParameterList",
  4616                "parameters": [],
  4617                "src": "858:0:1"
  4618              },
  4619              "scope": 233,
  4620              "src": "797:241:1",
  4621              "stateMutability": "nonpayable",
  4622              "superFunction": null,
  4623              "visibility": "public"
  4624            }
  4625          ],
  4626          "scope": 234,
  4627          "src": "54:986:1"
  4628        }
  4629      ],
  4630      "src": "0:1040:1"
  4631    },
  4632    "compiler": {
  4633      "name": "solc",
  4634      "version": "0.4.24+commit.e67f0147.Emscripten.clang"
  4635    },
  4636    "networks": {
  4637      "1": {
  4638        "events": {},
  4639        "links": {},
  4640        "address": "0x9c2b479e15bbd956237c7ef33d31bfa2a576f007",
  4641        "transactionHash": "0x760fc6e1793b1cf06fdbaace7aae571c5c0f214c21ceee3c161de90a9f42221e"
  4642      },
  4643      "2147483647": {
  4644        "events": {},
  4645        "links": {},
  4646        "address": "0x9c2b479e15bbd956237c7ef33d31bfa2a576f007",
  4647        "transactionHash": "0x8d1f7d77b2bc075989d4fde4315fbdcea88037e4ef1effc3961d4563bab0fae5"
  4648      },
  4649      "1528420224459": {
  4650        "events": {},
  4651        "links": {},
  4652        "address": "0xebfa192f69d390707f8908e10ed274d6e38dc04f",
  4653        "transactionHash": "0x86a60b4cd8a9abab600debe01793dd76d05b65e4aa37c144e51c7f42a9d4d93b"
  4654      }
  4655    },
  4656    "schemaVersion": "2.0.1",
  4657    "updatedAt": "2018-11-13T22:16:42.105Z"
  4658  }