发行VRC-20代币教程

准备环境VSCode

下载visionweb
https://github.com/vision-consensus/visionweb.git

具体安装过程见README.md说明

准备合约

将以下合约复制到项目中BasicToken.json,在部署合约时部署该合约

{"contractName":"BasicToken","abi":[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"initialSupply","type":"uint256"},{"name":"tokenName","type":"string"},{"name":"tokenSymbol","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"src","type":"address"},{"indexed":true,"name":"guy","type":"address"},{"indexed":false,"name":"wad","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"src","type":"address"},{"indexed":true,"name":"dst","type":"address"},{"indexed":false,"name":"wad","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"guy","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"src","type":"address"},{"name":"guy","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"dst","type":"address"},{"name":"wad","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"src","type":"address"},{"name":"dst","type":"address"},{"name":"wad","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"guy","type":"address"},{"name":"wad","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"wad","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"src","type":"address"},{"name":"wad","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x60806040526012600260006101000a81548160ff021916908360ff1602179055503480156200002d57600080fd5b50d380156200003b57600080fd5b50d280156200004957600080fd5b50604051620012a3380380620012a3833981018060405260608110156200006f57600080fd5b810190808051906020019092919080516401000000008111156200009257600080fd5b82810190506020810184811115620000a957600080fd5b8151856001820283011164010000000082111715620000c757600080fd5b50509291906020018051640100000000811115620000e457600080fd5b82810190506020810184811115620000fb57600080fd5b81518560018202830111640100000000821117156200011957600080fd5b505092919050505033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900460ff1660ff16600a0a830260038190555060035460046000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600090805190602001906200020092919062000223565b5080600190805190602001906200021992919062000223565b50505050620002d2565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200026657805160ff191683800117855562000297565b8280016001018555821562000297579182015b828111156200029657825182559160200191906001019062000279565b5b509050620002a69190620002aa565b5090565b620002cf91905b80821115620002cb576000816000905550600101620002b1565b5090565b90565b610fc180620002e26000396000f3fe608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b50600436106100ce5760003560e01c806370a082311161008b57806370a08231146102ca57806379cc6790146103225780638da5cb5b1461038857806395d89b41146103d2578063a9059cbb14610455578063dd62ed3e146104bb576100ce565b806306fdde03146100d3578063095ea7b31461015657806318160ddd146101bc57806323b872dd146101da578063313ce5671461026057806342966c6814610284575b600080fd5b6100db610533565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561011b578082015181840152602081019050610100565b50505050905090810190601f1680156101485780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a26004803603604081101561016c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d1565b604051808215151515815260200191505060405180910390f35b6101c461065e565b6040518082815260200191505060405180910390f35b610246600480360360608110156101f057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610668565b604051808215151515815260200191505060405180910390f35b610268610794565b604051808260ff1660ff16815260200191505060405180910390f35b6102b06004803603602081101561029a57600080fd5b81019080803590602001909291905050506107a7565b604051808215151515815260200191505060405180910390f35b61030c600480360360208110156102e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108a9565b6040518082815260200191505060405180910390f35b61036e6004803603604081101561033857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108f2565b604051808215151515815260200191505060405180910390f35b610390610b08565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103da610b2e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561041a5780820151818401526020810190506103ff565b50505050905090810190601f1680156104475780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104a16004803603604081101561046b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bcc565b604051808215151515815260200191505060405180910390f35b61051d600480360360408110156104d157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610be1565b6040518082815260200191505060405180910390f35b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105c95780601f1061059e576101008083540402835291602001916105c9565b820191906000526020600020905b8154815290600101906020018083116105ac57829003601f168201915b505050505081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b6000600354905090565b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156106f357600080fd5b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550610788848484610c68565b50600190509392505050565b600260009054906101000a900460ff1681565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156107f557600080fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816003600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a260019050919050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561094057600080fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156109c957600080fd5b81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816003600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a26001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bc45780601f10610b9957610100808354040283529160200191610bc4565b820191906000526020600020905b815481529060010190602001808311610ba757829003601f168201915b505050505081565b6000610bd9338484610c68565b905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ca357600080fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610cef57600080fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011015610d7c57600080fd5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401905082600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555082600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a380600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540114610f8957fe5b6001915050939250505056fea165627a7a72305820387837b7c1210394a5491df934287926afc8ff50b084bd044022b649a64171a70029","deployedBytecode":"0x608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b50600436106100ce5760003560e01c806370a082311161008b57806370a08231146102ca57806379cc6790146103225780638da5cb5b1461038857806395d89b41146103d2578063a9059cbb14610455578063dd62ed3e146104bb576100ce565b806306fdde03146100d3578063095ea7b31461015657806318160ddd146101bc57806323b872dd146101da578063313ce5671461026057806342966c6814610284575b600080fd5b6100db610533565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561011b578082015181840152602081019050610100565b50505050905090810190601f1680156101485780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a26004803603604081101561016c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d1565b604051808215151515815260200191505060405180910390f35b6101c461065e565b6040518082815260200191505060405180910390f35b610246600480360360608110156101f057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610668565b604051808215151515815260200191505060405180910390f35b610268610794565b604051808260ff1660ff16815260200191505060405180910390f35b6102b06004803603602081101561029a57600080fd5b81019080803590602001909291905050506107a7565b604051808215151515815260200191505060405180910390f35b61030c600480360360208110156102e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108a9565b6040518082815260200191505060405180910390f35b61036e6004803603604081101561033857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108f2565b604051808215151515815260200191505060405180910390f35b610390610b08565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103da610b2e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561041a5780820151818401526020810190506103ff565b50505050905090810190601f1680156104475780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104a16004803603604081101561046b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bcc565b604051808215151515815260200191505060405180910390f35b61051d600480360360408110156104d157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610be1565b6040518082815260200191505060405180910390f35b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105c95780601f1061059e576101008083540402835291602001916105c9565b820191906000526020600020905b8154815290600101906020018083116105ac57829003601f168201915b505050505081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b6000600354905090565b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156106f357600080fd5b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550610788848484610c68565b50600190509392505050565b600260009054906101000a900460ff1681565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156107f557600080fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816003600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a260019050919050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561094057600080fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156109c957600080fd5b81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816003600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a26001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bc45780601f10610b9957610100808354040283529160200191610bc4565b820191906000526020600020905b815481529060010190602001808311610ba757829003601f168201915b505050505081565b6000610bd9338484610c68565b905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ca357600080fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610cef57600080fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011015610d7c57600080fd5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401905082600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555082600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a380600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540114610f8957fe5b6001915050939250505056fea165627a7a72305820387837b7c1210394a5491df934287926afc8ff50b084bd044022b649a64171a70029","sourceMap":"53:2642:0:-;;;165:2;141:26;;;;;;;;;;;;;;;;;;;;753:296;8:9:-1;5:2;;;30:1;27;20:12;5:2;753:296:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;753:296:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;753:296:0;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;753:296:0;;;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;71:11;66:3;62:21;55:28;;123:4;118:3;114:14;159:9;141:16;138:31;135:2;;;182:1;179;172:12;135:2;219:3;213:10;330:9;325:1;311:12;307:20;289:16;285:43;282:58;261:11;247:12;244:29;233:115;230:2;;;361:1;358;351:12;230:2;0:372;;753:296:0;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;71:11;66:3;62:21;55:28;;123:4;118:3;114:14;159:9;141:16;138:31;135:2;;;182:1;179;172:12;135:2;219:3;213:10;330:9;325:1;311:12;307:20;289:16;285:43;282:58;261:11;247:12;244:29;233:115;230:2;;;361:1;358;351:12;230:2;0:372;;753:296:0;;;;;;866:10;858:5;;:18;;;;;;;;;;;;;;;;;;932:8;;;;;;;;;;;924:17;;918:2;:23;902:13;:39;887:12;:54;;;;971:12;;952:9;:16;962:5;;;;;;;;;;;952:16;;;;;;;;;;;;;;;:31;;;;1001:9;994:4;:16;;;;;;;;;;;;:::i;:::-;;1030:11;1021:6;:20;;;;;;;;;;;;:::i;:::-;;753:296;;;53:2642;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;","deployedSourceMap":"53:2642:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;53:2642:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;53:2642:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;53:2642:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;89:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;89:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1943:156;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1943:156:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;368:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1680:255;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1680:255:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;141:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2107:241;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2107:241:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;464:99;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;464:99:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2356:336;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2356:336:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;339:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;114;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;114:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1549:123;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1549:123:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;571:118;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;571:118:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;89:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1943:156::-;2011:12;2066:3;2036:10;:22;2047:10;2036:22;;;;;;;;;;;;;;;:27;2059:3;2036:27;;;;;;;;;;;;;;;:33;;;;2087:4;2080:11;;1943:156;;;;:::o;368:88::-;412:4;436:12;;429:19;;368:88;:::o;1680:255::-;1757:12;1797:10;:15;1808:3;1797:15;;;;;;;;;;;;;;;:27;1813:10;1797:27;;;;;;;;;;;;;;;;1790:3;:34;;1782:43;;;;;;1867:3;1836:10;:15;1847:3;1836:15;;;;;;;;;;;;;;;:27;1852:10;1836:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;1881:24;1891:3;1896;1901;1881:9;:24::i;:::-;;1923:4;1916:11;;1680:255;;;;;:::o;141:26::-;;;;;;;;;;;;;:::o;2107:241::-;2150:12;2208:3;2183:9;:21;2193:10;2183:21;;;;;;;;;;;;;;;;:28;;2175:37;;;;;;2248:3;2223:9;:21;2233:10;2223:21;;;;;;;;;;;;;;;;:28;;;;;;;;;;;2278:3;2262:12;;:19;;;;;;;;;;;2302:10;2297:21;;;2314:3;2297:21;;;;;;;;;;;;;;;;;;2336:4;2329:11;;2107:241;;;:::o;464:99::-;517:4;541:9;:14;551:3;541:14;;;;;;;;;;;;;;;;534:21;;464:99;;;:::o;2356:336::-;2416:12;2467:3;2449:9;:14;2459:3;2449:14;;;;;;;;;;;;;;;;:21;;2441:30;;;;;;2497:10;:15;2508:3;2497:15;;;;;;;;;;;;;;;:27;2513:10;2497:27;;;;;;;;;;;;;;;;2490:3;:34;;2482:43;;;;;;2554:3;2536:9;:14;2546:3;2536:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;2599:3;2568:10;:15;2579:3;2568:15;;;;;;;;;;;;;;;:27;2584:10;2568:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;2629:3;2613:12;;:19;;;;;;;;;;;2653:3;2648:14;;;2658:3;2648:14;;;;;;;;;;;;;;;;;;2680:4;2673:11;;2356:336;;;;:::o;339:20::-;;;;;;;;;;;;;:::o;114:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1549:123::-;1609:4;1633:31;1643:10;1655:3;1660;1633:9;:31::i;:::-;1625:39;;1549:123;;;;:::o;571:118::-;637:4;661:10;:15;672:3;661:15;;;;;;;;;;;;;;;:20;677:3;661:20;;;;;;;;;;;;;;;;654:27;;571:118;;;;:::o;1057:484::-;1130:4;1170:1;1155:17;;:3;:17;;;;1147:26;;;;;;1210:3;1192:9;:14;1202:3;1192:14;;;;;;;;;;;;;;;;:21;;1184:30;;;;;;1257:9;:14;1267:3;1257:14;;;;;;;;;;;;;;;;1250:3;1233:9;:14;1243:3;1233:14;;;;;;;;;;;;;;;;:20;:38;;1225:47;;;;;;1283:21;1324:9;:14;1334:3;1324:14;;;;;;;;;;;;;;;;1307:9;:14;1317:3;1307:14;;;;;;;;;;;;;;;;:31;1283:55;;1367:3;1349:9;:14;1359:3;1349:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;1399:3;1381:9;:14;1391:3;1381:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;1432:3;1418:23;;1427:3;1418:23;;;1437:3;1418:23;;;;;;;;;;;;;;;;;;1494:16;1476:9;:14;1486:3;1476:14;;;;;;;;;;;;;;;;1459:9;:14;1469:3;1459:14;;;;;;;;;;;;;;;;:31;:51;1452:59;;;;1529:4;1522:11;;;1057:484;;;;;:::o","source":"pragma solidity >=0.5.1;\r\n\r\nimport './trc20.sol';\r\n\r\ncontract BasicToken is TRC20 {\r\n    string public name;\r\n    string public symbol;\r\n    uint8 public decimals = 18;\r\n    uint256 private _totalSupply;\r\n    mapping (address => uint256) private _balances;\r\n    mapping (address => mapping (address => uint256)) private _allowance;\r\n\r\n    address public owner;\r\n\r\n    function totalSupply() public view returns (uint) {\r\n        return _totalSupply;\r\n    }\r\n\r\n    function balanceOf(address guy) public view returns (uint) {\r\n        return _balances[guy];\r\n    }\r\n\r\n    function allowance(address src, address guy) public view returns (uint) {\r\n        return _allowance[src][guy];\r\n    }\r\n\r\n    event Burn(address indexed from, uint256 value);\r\n\r\n    constructor(uint256 initialSupply, string memory tokenName, string memory tokenSymbol) public {\r\n        owner = msg.sender;\r\n        _totalSupply = initialSupply * 10 ** uint256(decimals);\r\n        _balances[owner] = _totalSupply;\r\n        name = tokenName;\r\n        symbol = tokenSymbol;\r\n    }\r\n\r\n    function _transfer(address src, address dst, uint wad) internal returns (bool) {\r\n        require(dst != address(0));\r\n        require(_balances[src] >= wad);\r\n        require(_balances[dst] + wad >= _balances[dst]);\r\n        uint previousBalances = _balances[src] + _balances[dst];\r\n        _balances[src] -= wad;\r\n        _balances[dst] += wad;\r\n        emit Transfer(src, dst, wad);\r\n        assert(_balances[src] + _balances[dst] == previousBalances);\r\n        return true;\r\n    }\r\n\r\n    function transfer(address dst, uint256 wad) public returns (bool) {\r\n       return  _transfer(msg.sender, dst, wad);\r\n    }\r\n\r\n    function transferFrom(address src, address dst, uint256 wad) public returns (bool success) {\r\n        require(wad <= _allowance[src][msg.sender]);\r\n        _allowance[src][msg.sender] -= wad;\r\n        _transfer(src, dst, wad);\r\n        return true;\r\n    }\r\n\r\n    function approve(address guy, uint256 wad) public\r\n        returns (bool success) {\r\n        _allowance[msg.sender][guy] = wad;\r\n        return true;\r\n    }\r\n\r\n    function burn(uint256 wad) public returns (bool success) {\r\n        require(_balances[msg.sender] >= wad);\r\n        _balances[msg.sender] -= wad;\r\n        _totalSupply -= wad;\r\n        emit Burn(msg.sender, wad);\r\n        return true;\r\n    }\r\n\r\n    function burnFrom(address src, uint256 wad) public returns (bool success) {\r\n        require(_balances[src] >= wad);\r\n        require(wad <= _allowance[src][msg.sender]);\r\n        _balances[src] -= wad;\r\n        _allowance[src][msg.sender] -= wad;\r\n        _totalSupply -= wad;\r\n        emit Burn(src, wad);\r\n        return true;\r\n    }\r\n}","sourcePath":"D:/tron-fe/code/tronbox-init/contracts/BasicToken.sol","ast":{"absolutePath":"/D/tron-fe/code/tronbox-init/contracts/BasicToken.sol","exportedSymbols":{"BasicToken":[358]},"id":359,"nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity",">=","0.5",".1"],"nodeType":"PragmaDirective","src":"0:24:0"},{"absolutePath":"/D/tron-fe/code/tronbox-init/contracts/trc20.sol","file":"./trc20.sol","id":2,"nodeType":"ImportDirective","scope":359,"sourceUnit":488,"src":"28:21:0","symbolAliases":[],"unitAlias":""},{"baseContracts":[{"arguments":null,"baseName":{"contractScope":null,"id":3,"name":"TRC20","nodeType":"UserDefinedTypeName","referencedDeclaration":487,"src":"76:5:0","typeDescriptions":{"typeIdentifier":"t_contract$_TRC20_$487","typeString":"contract TRC20"}},"id":4,"nodeType":"InheritanceSpecifier","src":"76:5:0"}],"contractDependencies":[434,487],"contractKind":"contract","documentation":null,"fullyImplemented":true,"id":358,"linearizedBaseContracts":[358,487,434],"name":"BasicToken","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":6,"name":"name","nodeType":"VariableDeclaration","scope":358,"src":"89:18:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":5,"name":"string","nodeType":"ElementaryTypeName","src":"89:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"public"},{"constant":false,"id":8,"name":"symbol","nodeType":"VariableDeclaration","scope":358,"src":"114:20:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":7,"name":"string","nodeType":"ElementaryTypeName","src":"114:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"public"},{"constant":false,"id":11,"name":"decimals","nodeType":"VariableDeclaration","scope":358,"src":"141:26:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":9,"name":"uint8","nodeType":"ElementaryTypeName","src":"141:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"argumentTypes":null,"hexValue":"3138","id":10,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"165:2:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"visibility":"public"},{"constant":false,"id":13,"name":"_totalSupply","nodeType":"VariableDeclaration","scope":358,"src":"174:28:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12,"name":"uint256","nodeType":"ElementaryTypeName","src":"174:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"private"},{"constant":false,"id":17,"name":"_balances","nodeType":"VariableDeclaration","scope":358,"src":"209:46:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":16,"keyType":{"id":14,"name":"address","nodeType":"ElementaryTypeName","src":"218:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"209:28:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":15,"name":"uint256","nodeType":"ElementaryTypeName","src":"229:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"value":null,"visibility":"private"},{"constant":false,"id":23,"name":"_allowance","nodeType":"VariableDeclaration","scope":358,"src":"262:68:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":22,"keyType":{"id":18,"name":"address","nodeType":"ElementaryTypeName","src":"271:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"262:49:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueType":{"id":21,"keyType":{"id":19,"name":"address","nodeType":"ElementaryTypeName","src":"291:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"282:28:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":20,"name":"uint256","nodeType":"ElementaryTypeName","src":"302:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"value":null,"visibility":"private"},{"constant":false,"id":25,"name":"owner","nodeType":"VariableDeclaration","scope":358,"src":"339:20:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24,"name":"address","nodeType":"ElementaryTypeName","src":"339:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"public"},{"body":{"id":32,"nodeType":"Block","src":"418:38:0","statements":[{"expression":{"argumentTypes":null,"id":30,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13,"src":"436:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":29,"id":31,"nodeType":"Return","src":"429:19:0"}]},"documentation":null,"id":33,"implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nodeType":"FunctionDefinition","parameters":{"id":26,"nodeType":"ParameterList","parameters":[],"src":"388:2:0"},"returnParameters":{"id":29,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28,"name":"","nodeType":"VariableDeclaration","scope":33,"src":"412:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27,"name":"uint","nodeType":"ElementaryTypeName","src":"412:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"411:6:0"},"scope":358,"src":"368:88:0","stateMutability":"view","superFunction":441,"visibility":"public"},{"body":{"id":44,"nodeType":"Block","src":"523:40:0","statements":[{"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":40,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"541:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":42,"indexExpression":{"argumentTypes":null,"id":41,"name":"guy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35,"src":"551:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"541:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":39,"id":43,"nodeType":"Return","src":"534:21:0"}]},"documentation":null,"id":45,"implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nodeType":"FunctionDefinition","parameters":{"id":36,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35,"name":"guy","nodeType":"VariableDeclaration","scope":45,"src":"483:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34,"name":"address","nodeType":"ElementaryTypeName","src":"483:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"482:13:0"},"returnParameters":{"id":39,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38,"name":"","nodeType":"VariableDeclaration","scope":45,"src":"517:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37,"name":"uint","nodeType":"ElementaryTypeName","src":"517:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"516:6:0"},"scope":358,"src":"464:99:0","stateMutability":"view","superFunction":448,"visibility":"public"},{"body":{"id":60,"nodeType":"Block","src":"643:46:0","statements":[{"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":54,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23,"src":"661:10:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":56,"indexExpression":{"argumentTypes":null,"id":55,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"672:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"661:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":58,"indexExpression":{"argumentTypes":null,"id":57,"name":"guy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49,"src":"677:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"661:20:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":53,"id":59,"nodeType":"Return","src":"654:27:0"}]},"documentation":null,"id":61,"implemented":true,"kind":"function","modifiers":[],"name":"allowance","nodeType":"FunctionDefinition","parameters":{"id":50,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47,"name":"src","nodeType":"VariableDeclaration","scope":61,"src":"590:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46,"name":"address","nodeType":"ElementaryTypeName","src":"590:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":49,"name":"guy","nodeType":"VariableDeclaration","scope":61,"src":"603:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48,"name":"address","nodeType":"ElementaryTypeName","src":"603:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"589:26:0"},"returnParameters":{"id":53,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52,"name":"","nodeType":"VariableDeclaration","scope":61,"src":"637:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51,"name":"uint","nodeType":"ElementaryTypeName","src":"637:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"636:6:0"},"scope":358,"src":"571:118:0","stateMutability":"view","superFunction":457,"visibility":"public"},{"anonymous":false,"documentation":null,"id":67,"name":"Burn","nodeType":"EventDefinition","parameters":{"id":66,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63,"indexed":true,"name":"from","nodeType":"VariableDeclaration","scope":67,"src":"708:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62,"name":"address","nodeType":"ElementaryTypeName","src":"708:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":65,"indexed":false,"name":"value","nodeType":"VariableDeclaration","scope":67,"src":"730:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64,"name":"uint256","nodeType":"ElementaryTypeName","src":"730:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"707:37:0"},"src":"697:48:0"},{"body":{"id":105,"nodeType":"Block","src":"847:202:0","statements":[{"expression":{"argumentTypes":null,"id":79,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":76,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25,"src":"858:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":77,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"866:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"866:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"858:18:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":80,"nodeType":"ExpressionStatement","src":"858:18:0"},{"expression":{"argumentTypes":null,"id":89,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":81,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13,"src":"887:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":88,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":82,"name":"initialSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69,"src":"902:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"hexValue":"3130","id":83,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"918:2:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":85,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11,"src":"932:8:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":84,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"924:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":"uint256"},"id":86,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"924:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"918:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"902:39:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"887:54:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":90,"nodeType":"ExpressionStatement","src":"887:54:0"},{"expression":{"argumentTypes":null,"id":95,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":91,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"952:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":93,"indexExpression":{"argumentTypes":null,"id":92,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25,"src":"962:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"952:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":94,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13,"src":"971:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"952:31:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":96,"nodeType":"ExpressionStatement","src":"952:31:0"},{"expression":{"argumentTypes":null,"id":99,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":97,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6,"src":"994:4:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":98,"name":"tokenName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71,"src":"1001:9:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"994:16:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":100,"nodeType":"ExpressionStatement","src":"994:16:0"},{"expression":{"argumentTypes":null,"id":103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":101,"name":"symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8,"src":"1021:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":102,"name":"tokenSymbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"1030:11:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1021:20:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":104,"nodeType":"ExpressionStatement","src":"1021:20:0"}]},"documentation":null,"id":106,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nodeType":"FunctionDefinition","parameters":{"id":74,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69,"name":"initialSupply","nodeType":"VariableDeclaration","scope":106,"src":"765:21:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68,"name":"uint256","nodeType":"ElementaryTypeName","src":"765:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":71,"name":"tokenName","nodeType":"VariableDeclaration","scope":106,"src":"788:23:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70,"name":"string","nodeType":"ElementaryTypeName","src":"788:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"internal"},{"constant":false,"id":73,"name":"tokenSymbol","nodeType":"VariableDeclaration","scope":106,"src":"813:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":72,"name":"string","nodeType":"ElementaryTypeName","src":"813:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"internal"}],"src":"764:75:0"},"returnParameters":{"id":75,"nodeType":"ParameterList","parameters":[],"src":"847:0:0"},"scope":358,"src":"753:296:0","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":187,"nodeType":"Block","src":"1136:405:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":118,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"1155:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"30","id":120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1170:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":119,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1162:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":"address"},"id":121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1162:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"1155:17:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":117,"name":"require","nodeType":"Identifier","overloadedDeclarations":[505,506],"referencedDeclaration":505,"src":"1147:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1147:26:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":124,"nodeType":"ExpressionStatement","src":"1147:26:0"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":126,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"1192:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":128,"indexExpression":{"argumentTypes":null,"id":127,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"1202:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1192:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":129,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112,"src":"1210:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1192:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":125,"name":"require","nodeType":"Identifier","overloadedDeclarations":[505,506],"referencedDeclaration":505,"src":"1184:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1184:30:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":132,"nodeType":"ExpressionStatement","src":"1184:30:0"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":134,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"1233:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":136,"indexExpression":{"argumentTypes":null,"id":135,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"1243:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1233:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"argumentTypes":null,"id":137,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112,"src":"1250:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1233:20:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":139,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"1257:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":141,"indexExpression":{"argumentTypes":null,"id":140,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"1267:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1257:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1233:38:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":133,"name":"require","nodeType":"Identifier","overloadedDeclarations":[505,506],"referencedDeclaration":505,"src":"1225:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1225:47:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":144,"nodeType":"ExpressionStatement","src":"1225:47:0"},{"assignments":[146],"declarations":[{"constant":false,"id":146,"name":"previousBalances","nodeType":"VariableDeclaration","scope":187,"src":"1283:21:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":145,"name":"uint","nodeType":"ElementaryTypeName","src":"1283:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":154,"initialValue":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":147,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"1307:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":149,"indexExpression":{"argumentTypes":null,"id":148,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"1317:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1307:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":150,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"1324:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":152,"indexExpression":{"argumentTypes":null,"id":151,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"1334:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1324:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1307:31:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1283:55:0"},{"expression":{"argumentTypes":null,"id":159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":155,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"1349:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":157,"indexExpression":{"argumentTypes":null,"id":156,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"1359:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1349:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":158,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112,"src":"1367:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1349:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":160,"nodeType":"ExpressionStatement","src":"1349:21:0"},{"expression":{"argumentTypes":null,"id":165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":161,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"1381:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":163,"indexExpression":{"argumentTypes":null,"id":162,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"1391:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1381:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"argumentTypes":null,"id":164,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112,"src":"1399:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1381:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":166,"nodeType":"ExpressionStatement","src":"1381:21:0"},{"eventCall":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":168,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"1427:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":169,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"1432:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":170,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112,"src":"1437:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":167,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":433,"src":"1418:8:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1418:23:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172,"nodeType":"EmitStatement","src":"1413:28:0"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":174,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"1459:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":176,"indexExpression":{"argumentTypes":null,"id":175,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"1469:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1459:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":177,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"1476:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":179,"indexExpression":{"argumentTypes":null,"id":178,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"1486:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1476:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1459:31:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":181,"name":"previousBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146,"src":"1494:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1459:51:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":173,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":491,"src":"1452:6:0","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1452:59:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":184,"nodeType":"ExpressionStatement","src":"1452:59:0"},{"expression":{"argumentTypes":null,"hexValue":"74727565","id":185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1529:4:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":116,"id":186,"nodeType":"Return","src":"1522:11:0"}]},"documentation":null,"id":188,"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nodeType":"FunctionDefinition","parameters":{"id":113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":108,"name":"src","nodeType":"VariableDeclaration","scope":188,"src":"1076:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":107,"name":"address","nodeType":"ElementaryTypeName","src":"1076:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":110,"name":"dst","nodeType":"VariableDeclaration","scope":188,"src":"1089:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":109,"name":"address","nodeType":"ElementaryTypeName","src":"1089:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":112,"name":"wad","nodeType":"VariableDeclaration","scope":188,"src":"1102:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":111,"name":"uint","nodeType":"ElementaryTypeName","src":"1102:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1075:36:0"},"returnParameters":{"id":116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115,"name":"","nodeType":"VariableDeclaration","scope":188,"src":"1130:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":114,"name":"bool","nodeType":"ElementaryTypeName","src":"1130:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"1129:6:0"},"scope":358,"src":"1057:484:0","stateMutability":"nonpayable","superFunction":null,"visibility":"internal"},{"body":{"id":204,"nodeType":"Block","src":"1615:57:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":198,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"1643:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"1643:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"argumentTypes":null,"id":200,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":190,"src":"1655:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":201,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":192,"src":"1660:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":197,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":188,"src":"1633:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1633:31:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":196,"id":203,"nodeType":"Return","src":"1625:39:0"}]},"documentation":null,"id":205,"implemented":true,"kind":"function","modifiers":[],"name":"transfer","nodeType":"FunctionDefinition","parameters":{"id":193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":190,"name":"dst","nodeType":"VariableDeclaration","scope":205,"src":"1567:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":189,"name":"address","nodeType":"ElementaryTypeName","src":"1567:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":192,"name":"wad","nodeType":"VariableDeclaration","scope":205,"src":"1580:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":191,"name":"uint256","nodeType":"ElementaryTypeName","src":"1580:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1566:26:0"},"returnParameters":{"id":196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":195,"name":"","nodeType":"VariableDeclaration","scope":205,"src":"1609:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":194,"name":"bool","nodeType":"ElementaryTypeName","src":"1609:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"1608:6:0"},"scope":358,"src":"1549:123:0","stateMutability":"nonpayable","superFunction":475,"visibility":"public"},{"body":{"id":244,"nodeType":"Block","src":"1771:164:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":217,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":211,"src":"1790:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":218,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23,"src":"1797:10:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":220,"indexExpression":{"argumentTypes":null,"id":219,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":207,"src":"1808:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1797:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":223,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":221,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"1813:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"1813:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1797:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1790:34:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":216,"name":"require","nodeType":"Identifier","overloadedDeclarations":[505,506],"referencedDeclaration":505,"src":"1782:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1782:43:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":226,"nodeType":"ExpressionStatement","src":"1782:43:0"},{"expression":{"argumentTypes":null,"id":234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":227,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23,"src":"1836:10:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":231,"indexExpression":{"argumentTypes":null,"id":228,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":207,"src":"1847:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1836:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":232,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":229,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"1852:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"1852:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1836:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":233,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":211,"src":"1867:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1836:34:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":235,"nodeType":"ExpressionStatement","src":"1836:34:0"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":237,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":207,"src":"1891:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":238,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":209,"src":"1896:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":239,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":211,"src":"1901:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":236,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":188,"src":"1881:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1881:24:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":241,"nodeType":"ExpressionStatement","src":"1881:24:0"},{"expression":{"argumentTypes":null,"hexValue":"74727565","id":242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1923:4:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":215,"id":243,"nodeType":"Return","src":"1916:11:0"}]},"documentation":null,"id":245,"implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nodeType":"FunctionDefinition","parameters":{"id":212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":207,"name":"src","nodeType":"VariableDeclaration","scope":245,"src":"1702:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":206,"name":"address","nodeType":"ElementaryTypeName","src":"1702:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":209,"name":"dst","nodeType":"VariableDeclaration","scope":245,"src":"1715:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":208,"name":"address","nodeType":"ElementaryTypeName","src":"1715:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":211,"name":"wad","nodeType":"VariableDeclaration","scope":245,"src":"1728:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":210,"name":"uint256","nodeType":"ElementaryTypeName","src":"1728:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1701:39:0"},"returnParameters":{"id":215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":214,"name":"success","nodeType":"VariableDeclaration","scope":245,"src":"1757:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":213,"name":"bool","nodeType":"ElementaryTypeName","src":"1757:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"1756:14:0"},"scope":358,"src":"1680:255:0","stateMutability":"nonpayable","superFunction":486,"visibility":"public"},{"body":{"id":265,"nodeType":"Block","src":"2025:74:0","statements":[{"expression":{"argumentTypes":null,"id":261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":254,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23,"src":"2036:10:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":258,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":255,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"2047:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2047:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2036:22:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":259,"indexExpression":{"argumentTypes":null,"id":257,"name":"guy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":247,"src":"2059:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2036:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":260,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":249,"src":"2066:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2036:33:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":262,"nodeType":"ExpressionStatement","src":"2036:33:0"},{"expression":{"argumentTypes":null,"hexValue":"74727565","id":263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2087:4:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":253,"id":264,"nodeType":"Return","src":"2080:11:0"}]},"documentation":null,"id":266,"implemented":true,"kind":"function","modifiers":[],"name":"approve","nodeType":"FunctionDefinition","parameters":{"id":250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":247,"name":"guy","nodeType":"VariableDeclaration","scope":266,"src":"1960:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":246,"name":"address","nodeType":"ElementaryTypeName","src":"1960:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":249,"name":"wad","nodeType":"VariableDeclaration","scope":266,"src":"1973:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":248,"name":"uint256","nodeType":"ElementaryTypeName","src":"1973:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1959:26:0"},"returnParameters":{"id":253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":252,"name":"success","nodeType":"VariableDeclaration","scope":266,"src":"2011:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":251,"name":"bool","nodeType":"ElementaryTypeName","src":"2011:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"2010:14:0"},"scope":358,"src":"1943:156:0","stateMutability":"nonpayable","superFunction":466,"visibility":"public"},{"body":{"id":301,"nodeType":"Block","src":"2164:184:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":274,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"2183:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":277,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":275,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"2193:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2193:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2183:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":278,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":268,"src":"2208:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2183:28:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":273,"name":"require","nodeType":"Identifier","overloadedDeclarations":[505,506],"referencedDeclaration":505,"src":"2175:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2175:37:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":281,"nodeType":"ExpressionStatement","src":"2175:37:0"},{"expression":{"argumentTypes":null,"id":287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":282,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"2223:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":285,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":283,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"2233:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2233:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2223:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":286,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":268,"src":"2248:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2223:28:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":288,"nodeType":"ExpressionStatement","src":"2223:28:0"},{"expression":{"argumentTypes":null,"id":291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":289,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13,"src":"2262:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":290,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":268,"src":"2278:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2262:19:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":292,"nodeType":"ExpressionStatement","src":"2262:19:0"},{"eventCall":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":294,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"2302:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2302:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"argumentTypes":null,"id":296,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":268,"src":"2314:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":293,"name":"Burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"2297:4:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2297:21:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":298,"nodeType":"EmitStatement","src":"2292:26:0"},{"expression":{"argumentTypes":null,"hexValue":"74727565","id":299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2336:4:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":272,"id":300,"nodeType":"Return","src":"2329:11:0"}]},"documentation":null,"id":302,"implemented":true,"kind":"function","modifiers":[],"name":"burn","nodeType":"FunctionDefinition","parameters":{"id":269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":268,"name":"wad","nodeType":"VariableDeclaration","scope":302,"src":"2121:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":267,"name":"uint256","nodeType":"ElementaryTypeName","src":"2121:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"2120:13:0"},"returnParameters":{"id":272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":271,"name":"success","nodeType":"VariableDeclaration","scope":302,"src":"2150:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":270,"name":"bool","nodeType":"ElementaryTypeName","src":"2150:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"2149:14:0"},"scope":358,"src":"2107:241:0","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":356,"nodeType":"Block","src":"2430:262:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":312,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"2449:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":314,"indexExpression":{"argumentTypes":null,"id":313,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":304,"src":"2459:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2449:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":315,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":306,"src":"2467:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2449:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":311,"name":"require","nodeType":"Identifier","overloadedDeclarations":[505,506],"referencedDeclaration":505,"src":"2441:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2441:30:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":318,"nodeType":"ExpressionStatement","src":"2441:30:0"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":320,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":306,"src":"2490:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":321,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23,"src":"2497:10:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":323,"indexExpression":{"argumentTypes":null,"id":322,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":304,"src":"2508:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2497:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":326,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":324,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"2513:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2513:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2497:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2490:34:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":319,"name":"require","nodeType":"Identifier","overloadedDeclarations":[505,506],"referencedDeclaration":505,"src":"2482:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2482:43:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":329,"nodeType":"ExpressionStatement","src":"2482:43:0"},{"expression":{"argumentTypes":null,"id":334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":330,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"2536:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":332,"indexExpression":{"argumentTypes":null,"id":331,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":304,"src":"2546:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2536:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":333,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":306,"src":"2554:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2536:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":335,"nodeType":"ExpressionStatement","src":"2536:21:0"},{"expression":{"argumentTypes":null,"id":343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":336,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23,"src":"2568:10:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":340,"indexExpression":{"argumentTypes":null,"id":337,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":304,"src":"2579:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2568:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":341,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":338,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"2584:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2584:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2568:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":342,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":306,"src":"2599:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2568:34:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":344,"nodeType":"ExpressionStatement","src":"2568:34:0"},{"expression":{"argumentTypes":null,"id":347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":345,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13,"src":"2613:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":346,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":306,"src":"2629:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2613:19:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":348,"nodeType":"ExpressionStatement","src":"2613:19:0"},{"eventCall":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":350,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":304,"src":"2653:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":351,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":306,"src":"2658:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":349,"name":"Burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"2648:4:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2648:14:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":353,"nodeType":"EmitStatement","src":"2643:19:0"},{"expression":{"argumentTypes":null,"hexValue":"74727565","id":354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2680:4:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":310,"id":355,"nodeType":"Return","src":"2673:11:0"}]},"documentation":null,"id":357,"implemented":true,"kind":"function","modifiers":[],"name":"burnFrom","nodeType":"FunctionDefinition","parameters":{"id":307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":304,"name":"src","nodeType":"VariableDeclaration","scope":357,"src":"2374:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":303,"name":"address","nodeType":"ElementaryTypeName","src":"2374:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":306,"name":"wad","nodeType":"VariableDeclaration","scope":357,"src":"2387:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":305,"name":"uint256","nodeType":"ElementaryTypeName","src":"2387:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"2373:26:0"},"returnParameters":{"id":310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":309,"name":"success","nodeType":"VariableDeclaration","scope":357,"src":"2416:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":308,"name":"bool","nodeType":"ElementaryTypeName","src":"2416:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"2415:14:0"},"scope":358,"src":"2356:336:0","stateMutability":"nonpayable","superFunction":null,"visibility":"public"}],"scope":359,"src":"53:2642:0"}],"src":"0:2695:0"},"legacyAST":{"absolutePath":"/D/tron-fe/code/tronbox-init/contracts/BasicToken.sol","exportedSymbols":{"BasicToken":[358]},"id":359,"nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity",">=","0.5",".1"],"nodeType":"PragmaDirective","src":"0:24:0"},{"absolutePath":"/D/tron-fe/code/tronbox-init/contracts/trc20.sol","file":"./trc20.sol","id":2,"nodeType":"ImportDirective","scope":359,"sourceUnit":488,"src":"28:21:0","symbolAliases":[],"unitAlias":""},{"baseContracts":[{"arguments":null,"baseName":{"contractScope":null,"id":3,"name":"TRC20","nodeType":"UserDefinedTypeName","referencedDeclaration":487,"src":"76:5:0","typeDescriptions":{"typeIdentifier":"t_contract$_TRC20_$487","typeString":"contract TRC20"}},"id":4,"nodeType":"InheritanceSpecifier","src":"76:5:0"}],"contractDependencies":[434,487],"contractKind":"contract","documentation":null,"fullyImplemented":true,"id":358,"linearizedBaseContracts":[358,487,434],"name":"BasicToken","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":6,"name":"name","nodeType":"VariableDeclaration","scope":358,"src":"89:18:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":5,"name":"string","nodeType":"ElementaryTypeName","src":"89:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"public"},{"constant":false,"id":8,"name":"symbol","nodeType":"VariableDeclaration","scope":358,"src":"114:20:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":7,"name":"string","nodeType":"ElementaryTypeName","src":"114:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"public"},{"constant":false,"id":11,"name":"decimals","nodeType":"VariableDeclaration","scope":358,"src":"141:26:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":9,"name":"uint8","nodeType":"ElementaryTypeName","src":"141:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"argumentTypes":null,"hexValue":"3138","id":10,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"165:2:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"visibility":"public"},{"constant":false,"id":13,"name":"_totalSupply","nodeType":"VariableDeclaration","scope":358,"src":"174:28:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12,"name":"uint256","nodeType":"ElementaryTypeName","src":"174:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"private"},{"constant":false,"id":17,"name":"_balances","nodeType":"VariableDeclaration","scope":358,"src":"209:46:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":16,"keyType":{"id":14,"name":"address","nodeType":"ElementaryTypeName","src":"218:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"209:28:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":15,"name":"uint256","nodeType":"ElementaryTypeName","src":"229:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"value":null,"visibility":"private"},{"constant":false,"id":23,"name":"_allowance","nodeType":"VariableDeclaration","scope":358,"src":"262:68:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":22,"keyType":{"id":18,"name":"address","nodeType":"ElementaryTypeName","src":"271:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"262:49:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueType":{"id":21,"keyType":{"id":19,"name":"address","nodeType":"ElementaryTypeName","src":"291:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"282:28:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":20,"name":"uint256","nodeType":"ElementaryTypeName","src":"302:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"value":null,"visibility":"private"},{"constant":false,"id":25,"name":"owner","nodeType":"VariableDeclaration","scope":358,"src":"339:20:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24,"name":"address","nodeType":"ElementaryTypeName","src":"339:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"public"},{"body":{"id":32,"nodeType":"Block","src":"418:38:0","statements":[{"expression":{"argumentTypes":null,"id":30,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13,"src":"436:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":29,"id":31,"nodeType":"Return","src":"429:19:0"}]},"documentation":null,"id":33,"implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nodeType":"FunctionDefinition","parameters":{"id":26,"nodeType":"ParameterList","parameters":[],"src":"388:2:0"},"returnParameters":{"id":29,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28,"name":"","nodeType":"VariableDeclaration","scope":33,"src":"412:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27,"name":"uint","nodeType":"ElementaryTypeName","src":"412:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"411:6:0"},"scope":358,"src":"368:88:0","stateMutability":"view","superFunction":441,"visibility":"public"},{"body":{"id":44,"nodeType":"Block","src":"523:40:0","statements":[{"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":40,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"541:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":42,"indexExpression":{"argumentTypes":null,"id":41,"name":"guy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35,"src":"551:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"541:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":39,"id":43,"nodeType":"Return","src":"534:21:0"}]},"documentation":null,"id":45,"implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nodeType":"FunctionDefinition","parameters":{"id":36,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35,"name":"guy","nodeType":"VariableDeclaration","scope":45,"src":"483:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34,"name":"address","nodeType":"ElementaryTypeName","src":"483:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"482:13:0"},"returnParameters":{"id":39,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38,"name":"","nodeType":"VariableDeclaration","scope":45,"src":"517:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37,"name":"uint","nodeType":"ElementaryTypeName","src":"517:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"516:6:0"},"scope":358,"src":"464:99:0","stateMutability":"view","superFunction":448,"visibility":"public"},{"body":{"id":60,"nodeType":"Block","src":"643:46:0","statements":[{"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":54,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23,"src":"661:10:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":56,"indexExpression":{"argumentTypes":null,"id":55,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"672:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"661:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":58,"indexExpression":{"argumentTypes":null,"id":57,"name":"guy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49,"src":"677:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"661:20:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":53,"id":59,"nodeType":"Return","src":"654:27:0"}]},"documentation":null,"id":61,"implemented":true,"kind":"function","modifiers":[],"name":"allowance","nodeType":"FunctionDefinition","parameters":{"id":50,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47,"name":"src","nodeType":"VariableDeclaration","scope":61,"src":"590:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46,"name":"address","nodeType":"ElementaryTypeName","src":"590:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":49,"name":"guy","nodeType":"VariableDeclaration","scope":61,"src":"603:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48,"name":"address","nodeType":"ElementaryTypeName","src":"603:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"589:26:0"},"returnParameters":{"id":53,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52,"name":"","nodeType":"VariableDeclaration","scope":61,"src":"637:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51,"name":"uint","nodeType":"ElementaryTypeName","src":"637:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"636:6:0"},"scope":358,"src":"571:118:0","stateMutability":"view","superFunction":457,"visibility":"public"},{"anonymous":false,"documentation":null,"id":67,"name":"Burn","nodeType":"EventDefinition","parameters":{"id":66,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63,"indexed":true,"name":"from","nodeType":"VariableDeclaration","scope":67,"src":"708:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62,"name":"address","nodeType":"ElementaryTypeName","src":"708:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":65,"indexed":false,"name":"value","nodeType":"VariableDeclaration","scope":67,"src":"730:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64,"name":"uint256","nodeType":"ElementaryTypeName","src":"730:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"707:37:0"},"src":"697:48:0"},{"body":{"id":105,"nodeType":"Block","src":"847:202:0","statements":[{"expression":{"argumentTypes":null,"id":79,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":76,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25,"src":"858:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":77,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"866:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"866:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"858:18:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":80,"nodeType":"ExpressionStatement","src":"858:18:0"},{"expression":{"argumentTypes":null,"id":89,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":81,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13,"src":"887:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":88,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":82,"name":"initialSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69,"src":"902:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"hexValue":"3130","id":83,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"918:2:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":85,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11,"src":"932:8:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":84,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"924:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":"uint256"},"id":86,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"924:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"918:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"902:39:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"887:54:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":90,"nodeType":"ExpressionStatement","src":"887:54:0"},{"expression":{"argumentTypes":null,"id":95,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":91,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"952:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":93,"indexExpression":{"argumentTypes":null,"id":92,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25,"src":"962:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"952:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":94,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13,"src":"971:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"952:31:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":96,"nodeType":"ExpressionStatement","src":"952:31:0"},{"expression":{"argumentTypes":null,"id":99,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":97,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6,"src":"994:4:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":98,"name":"tokenName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71,"src":"1001:9:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"994:16:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":100,"nodeType":"ExpressionStatement","src":"994:16:0"},{"expression":{"argumentTypes":null,"id":103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":101,"name":"symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8,"src":"1021:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":102,"name":"tokenSymbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"1030:11:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1021:20:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":104,"nodeType":"ExpressionStatement","src":"1021:20:0"}]},"documentation":null,"id":106,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nodeType":"FunctionDefinition","parameters":{"id":74,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69,"name":"initialSupply","nodeType":"VariableDeclaration","scope":106,"src":"765:21:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68,"name":"uint256","nodeType":"ElementaryTypeName","src":"765:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":71,"name":"tokenName","nodeType":"VariableDeclaration","scope":106,"src":"788:23:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":70,"name":"string","nodeType":"ElementaryTypeName","src":"788:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"internal"},{"constant":false,"id":73,"name":"tokenSymbol","nodeType":"VariableDeclaration","scope":106,"src":"813:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":72,"name":"string","nodeType":"ElementaryTypeName","src":"813:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"internal"}],"src":"764:75:0"},"returnParameters":{"id":75,"nodeType":"ParameterList","parameters":[],"src":"847:0:0"},"scope":358,"src":"753:296:0","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":187,"nodeType":"Block","src":"1136:405:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":118,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"1155:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"30","id":120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1170:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":119,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1162:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":"address"},"id":121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1162:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"1155:17:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":117,"name":"require","nodeType":"Identifier","overloadedDeclarations":[505,506],"referencedDeclaration":505,"src":"1147:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1147:26:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":124,"nodeType":"ExpressionStatement","src":"1147:26:0"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":126,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"1192:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":128,"indexExpression":{"argumentTypes":null,"id":127,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"1202:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1192:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":129,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112,"src":"1210:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1192:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":125,"name":"require","nodeType":"Identifier","overloadedDeclarations":[505,506],"referencedDeclaration":505,"src":"1184:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1184:30:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":132,"nodeType":"ExpressionStatement","src":"1184:30:0"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":134,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"1233:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":136,"indexExpression":{"argumentTypes":null,"id":135,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"1243:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1233:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"argumentTypes":null,"id":137,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112,"src":"1250:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1233:20:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":139,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"1257:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":141,"indexExpression":{"argumentTypes":null,"id":140,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"1267:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1257:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1233:38:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":133,"name":"require","nodeType":"Identifier","overloadedDeclarations":[505,506],"referencedDeclaration":505,"src":"1225:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1225:47:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":144,"nodeType":"ExpressionStatement","src":"1225:47:0"},{"assignments":[146],"declarations":[{"constant":false,"id":146,"name":"previousBalances","nodeType":"VariableDeclaration","scope":187,"src":"1283:21:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":145,"name":"uint","nodeType":"ElementaryTypeName","src":"1283:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":154,"initialValue":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":147,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"1307:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":149,"indexExpression":{"argumentTypes":null,"id":148,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"1317:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1307:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":150,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"1324:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":152,"indexExpression":{"argumentTypes":null,"id":151,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"1334:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1324:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1307:31:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1283:55:0"},{"expression":{"argumentTypes":null,"id":159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":155,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"1349:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":157,"indexExpression":{"argumentTypes":null,"id":156,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"1359:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1349:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":158,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112,"src":"1367:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1349:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":160,"nodeType":"ExpressionStatement","src":"1349:21:0"},{"expression":{"argumentTypes":null,"id":165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":161,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"1381:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":163,"indexExpression":{"argumentTypes":null,"id":162,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"1391:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1381:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"argumentTypes":null,"id":164,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112,"src":"1399:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1381:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":166,"nodeType":"ExpressionStatement","src":"1381:21:0"},{"eventCall":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":168,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"1427:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":169,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"1432:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":170,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112,"src":"1437:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":167,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":433,"src":"1418:8:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1418:23:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172,"nodeType":"EmitStatement","src":"1413:28:0"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":174,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"1459:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":176,"indexExpression":{"argumentTypes":null,"id":175,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"1469:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1459:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":177,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"1476:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":179,"indexExpression":{"argumentTypes":null,"id":178,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"1486:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1476:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1459:31:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":181,"name":"previousBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146,"src":"1494:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1459:51:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":173,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":491,"src":"1452:6:0","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1452:59:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":184,"nodeType":"ExpressionStatement","src":"1452:59:0"},{"expression":{"argumentTypes":null,"hexValue":"74727565","id":185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1529:4:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":116,"id":186,"nodeType":"Return","src":"1522:11:0"}]},"documentation":null,"id":188,"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nodeType":"FunctionDefinition","parameters":{"id":113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":108,"name":"src","nodeType":"VariableDeclaration","scope":188,"src":"1076:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":107,"name":"address","nodeType":"ElementaryTypeName","src":"1076:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":110,"name":"dst","nodeType":"VariableDeclaration","scope":188,"src":"1089:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":109,"name":"address","nodeType":"ElementaryTypeName","src":"1089:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":112,"name":"wad","nodeType":"VariableDeclaration","scope":188,"src":"1102:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":111,"name":"uint","nodeType":"ElementaryTypeName","src":"1102:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1075:36:0"},"returnParameters":{"id":116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115,"name":"","nodeType":"VariableDeclaration","scope":188,"src":"1130:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":114,"name":"bool","nodeType":"ElementaryTypeName","src":"1130:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"1129:6:0"},"scope":358,"src":"1057:484:0","stateMutability":"nonpayable","superFunction":null,"visibility":"internal"},{"body":{"id":204,"nodeType":"Block","src":"1615:57:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":198,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"1643:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"1643:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"argumentTypes":null,"id":200,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":190,"src":"1655:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":201,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":192,"src":"1660:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":197,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":188,"src":"1633:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1633:31:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":196,"id":203,"nodeType":"Return","src":"1625:39:0"}]},"documentation":null,"id":205,"implemented":true,"kind":"function","modifiers":[],"name":"transfer","nodeType":"FunctionDefinition","parameters":{"id":193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":190,"name":"dst","nodeType":"VariableDeclaration","scope":205,"src":"1567:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":189,"name":"address","nodeType":"ElementaryTypeName","src":"1567:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":192,"name":"wad","nodeType":"VariableDeclaration","scope":205,"src":"1580:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":191,"name":"uint256","nodeType":"ElementaryTypeName","src":"1580:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1566:26:0"},"returnParameters":{"id":196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":195,"name":"","nodeType":"VariableDeclaration","scope":205,"src":"1609:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":194,"name":"bool","nodeType":"ElementaryTypeName","src":"1609:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"1608:6:0"},"scope":358,"src":"1549:123:0","stateMutability":"nonpayable","superFunction":475,"visibility":"public"},{"body":{"id":244,"nodeType":"Block","src":"1771:164:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":217,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":211,"src":"1790:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":218,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23,"src":"1797:10:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":220,"indexExpression":{"argumentTypes":null,"id":219,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":207,"src":"1808:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1797:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":223,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":221,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"1813:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"1813:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1797:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1790:34:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":216,"name":"require","nodeType":"Identifier","overloadedDeclarations":[505,506],"referencedDeclaration":505,"src":"1782:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1782:43:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":226,"nodeType":"ExpressionStatement","src":"1782:43:0"},{"expression":{"argumentTypes":null,"id":234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":227,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23,"src":"1836:10:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":231,"indexExpression":{"argumentTypes":null,"id":228,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":207,"src":"1847:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1836:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":232,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":229,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"1852:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"1852:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1836:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":233,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":211,"src":"1867:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1836:34:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":235,"nodeType":"ExpressionStatement","src":"1836:34:0"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":237,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":207,"src":"1891:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":238,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":209,"src":"1896:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":239,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":211,"src":"1901:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":236,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":188,"src":"1881:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1881:24:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":241,"nodeType":"ExpressionStatement","src":"1881:24:0"},{"expression":{"argumentTypes":null,"hexValue":"74727565","id":242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1923:4:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":215,"id":243,"nodeType":"Return","src":"1916:11:0"}]},"documentation":null,"id":245,"implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nodeType":"FunctionDefinition","parameters":{"id":212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":207,"name":"src","nodeType":"VariableDeclaration","scope":245,"src":"1702:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":206,"name":"address","nodeType":"ElementaryTypeName","src":"1702:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":209,"name":"dst","nodeType":"VariableDeclaration","scope":245,"src":"1715:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":208,"name":"address","nodeType":"ElementaryTypeName","src":"1715:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":211,"name":"wad","nodeType":"VariableDeclaration","scope":245,"src":"1728:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":210,"name":"uint256","nodeType":"ElementaryTypeName","src":"1728:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1701:39:0"},"returnParameters":{"id":215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":214,"name":"success","nodeType":"VariableDeclaration","scope":245,"src":"1757:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":213,"name":"bool","nodeType":"ElementaryTypeName","src":"1757:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"1756:14:0"},"scope":358,"src":"1680:255:0","stateMutability":"nonpayable","superFunction":486,"visibility":"public"},{"body":{"id":265,"nodeType":"Block","src":"2025:74:0","statements":[{"expression":{"argumentTypes":null,"id":261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":254,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23,"src":"2036:10:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":258,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":255,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"2047:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2047:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2036:22:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":259,"indexExpression":{"argumentTypes":null,"id":257,"name":"guy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":247,"src":"2059:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2036:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":260,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":249,"src":"2066:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2036:33:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":262,"nodeType":"ExpressionStatement","src":"2036:33:0"},{"expression":{"argumentTypes":null,"hexValue":"74727565","id":263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2087:4:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":253,"id":264,"nodeType":"Return","src":"2080:11:0"}]},"documentation":null,"id":266,"implemented":true,"kind":"function","modifiers":[],"name":"approve","nodeType":"FunctionDefinition","parameters":{"id":250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":247,"name":"guy","nodeType":"VariableDeclaration","scope":266,"src":"1960:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":246,"name":"address","nodeType":"ElementaryTypeName","src":"1960:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":249,"name":"wad","nodeType":"VariableDeclaration","scope":266,"src":"1973:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":248,"name":"uint256","nodeType":"ElementaryTypeName","src":"1973:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1959:26:0"},"returnParameters":{"id":253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":252,"name":"success","nodeType":"VariableDeclaration","scope":266,"src":"2011:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":251,"name":"bool","nodeType":"ElementaryTypeName","src":"2011:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"2010:14:0"},"scope":358,"src":"1943:156:0","stateMutability":"nonpayable","superFunction":466,"visibility":"public"},{"body":{"id":301,"nodeType":"Block","src":"2164:184:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":274,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"2183:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":277,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":275,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"2193:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2193:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2183:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":278,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":268,"src":"2208:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2183:28:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":273,"name":"require","nodeType":"Identifier","overloadedDeclarations":[505,506],"referencedDeclaration":505,"src":"2175:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2175:37:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":281,"nodeType":"ExpressionStatement","src":"2175:37:0"},{"expression":{"argumentTypes":null,"id":287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":282,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"2223:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":285,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":283,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"2233:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2233:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2223:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":286,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":268,"src":"2248:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2223:28:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":288,"nodeType":"ExpressionStatement","src":"2223:28:0"},{"expression":{"argumentTypes":null,"id":291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":289,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13,"src":"2262:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":290,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":268,"src":"2278:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2262:19:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":292,"nodeType":"ExpressionStatement","src":"2262:19:0"},{"eventCall":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":294,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"2302:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2302:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"argumentTypes":null,"id":296,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":268,"src":"2314:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":293,"name":"Burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"2297:4:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2297:21:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":298,"nodeType":"EmitStatement","src":"2292:26:0"},{"expression":{"argumentTypes":null,"hexValue":"74727565","id":299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2336:4:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":272,"id":300,"nodeType":"Return","src":"2329:11:0"}]},"documentation":null,"id":302,"implemented":true,"kind":"function","modifiers":[],"name":"burn","nodeType":"FunctionDefinition","parameters":{"id":269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":268,"name":"wad","nodeType":"VariableDeclaration","scope":302,"src":"2121:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":267,"name":"uint256","nodeType":"ElementaryTypeName","src":"2121:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"2120:13:0"},"returnParameters":{"id":272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":271,"name":"success","nodeType":"VariableDeclaration","scope":302,"src":"2150:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":270,"name":"bool","nodeType":"ElementaryTypeName","src":"2150:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"2149:14:0"},"scope":358,"src":"2107:241:0","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":356,"nodeType":"Block","src":"2430:262:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":312,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"2449:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":314,"indexExpression":{"argumentTypes":null,"id":313,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":304,"src":"2459:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2449:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":315,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":306,"src":"2467:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2449:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":311,"name":"require","nodeType":"Identifier","overloadedDeclarations":[505,506],"referencedDeclaration":505,"src":"2441:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2441:30:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":318,"nodeType":"ExpressionStatement","src":"2441:30:0"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":320,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":306,"src":"2490:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":321,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23,"src":"2497:10:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":323,"indexExpression":{"argumentTypes":null,"id":322,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":304,"src":"2508:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2497:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":326,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":324,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"2513:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2513:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2497:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2490:34:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":319,"name":"require","nodeType":"Identifier","overloadedDeclarations":[505,506],"referencedDeclaration":505,"src":"2482:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2482:43:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":329,"nodeType":"ExpressionStatement","src":"2482:43:0"},{"expression":{"argumentTypes":null,"id":334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":330,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"2536:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":332,"indexExpression":{"argumentTypes":null,"id":331,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":304,"src":"2546:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2536:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":333,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":306,"src":"2554:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2536:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":335,"nodeType":"ExpressionStatement","src":"2536:21:0"},{"expression":{"argumentTypes":null,"id":343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":336,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23,"src":"2568:10:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":340,"indexExpression":{"argumentTypes":null,"id":337,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":304,"src":"2579:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2568:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":341,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":338,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":502,"src":"2584:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2584:10:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2568:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":342,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":306,"src":"2599:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2568:34:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":344,"nodeType":"ExpressionStatement","src":"2568:34:0"},{"expression":{"argumentTypes":null,"id":347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":345,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13,"src":"2613:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":346,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":306,"src":"2629:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2613:19:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":348,"nodeType":"ExpressionStatement","src":"2613:19:0"},{"eventCall":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":350,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":304,"src":"2653:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":351,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":306,"src":"2658:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":349,"name":"Burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"2648:4:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2648:14:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":353,"nodeType":"EmitStatement","src":"2643:19:0"},{"expression":{"argumentTypes":null,"hexValue":"74727565","id":354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2680:4:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":310,"id":355,"nodeType":"Return","src":"2673:11:0"}]},"documentation":null,"id":357,"implemented":true,"kind":"function","modifiers":[],"name":"burnFrom","nodeType":"FunctionDefinition","parameters":{"id":307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":304,"name":"src","nodeType":"VariableDeclaration","scope":357,"src":"2374:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":303,"name":"address","nodeType":"ElementaryTypeName","src":"2374:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":306,"name":"wad","nodeType":"VariableDeclaration","scope":357,"src":"2387:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":305,"name":"uint256","nodeType":"ElementaryTypeName","src":"2387:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"2373:26:0"},"returnParameters":{"id":310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":309,"name":"success","nodeType":"VariableDeclaration","scope":357,"src":"2416:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":308,"name":"bool","nodeType":"ElementaryTypeName","src":"2416:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"2415:14:0"},"scope":358,"src":"2356:336:0","stateMutability":"nonpayable","superFunction":null,"visibility":"public"}],"scope":359,"src":"53:2642:0"}],"src":"0:2695:0"},"compiler":{"name":"solc","version":"0.5.8+commit.1f148fe1.Emscripten.clang"},"networks":{},"schemaVersion":"2.0.1","updatedAt":"2020-11-22T01:17:50.821Z"}

部署合约

const VsWeb = require("visionweb");
const HttpProvider = VsWeb.providers.HttpProvider;


// 
const PrivateKey = "your private key";
const FullNode = new HttpProvider("https://vtest.infragrid.v.network");
const SolidityNode = new HttpProvider("https://vtest.infragrid.v.network");
const EventServer = new HttpProvider("https://vtest.infragrid.v.network");

const vsWeb = new VsWeb(FullNode, SolidityNode, EventServer, PrivateKey);
const contractObj = require('./BasicToken.json');
const abi = contractObj.abi;
const bytecode = contractObj.bytecode;

// 部署合约  46833d7b21d3fb9ab7e64c03d8d62dc5f92cd293b0
(async function deploy_contract() {
  const options = {
    abi: JSON.stringify(abi),
    bytecode,
    feeLimit: 100000000,
    callValue: 0,
    userFeePercentage: 0,
    originEnergyLimit: 1,
    // 参数设置:发行量、名称、token标识符
    parameters: [10000000000000,"VTK","2"]
  };
  const transaction = await vsWeb.transactionBuilder.createSmartContract(options);
  console.log(transaction.txID);
  const signedtxn = await vsWeb.vs.sign(transaction, PrivateKey);
  const receipt = await vsWeb.vs.sendRawTransaction(signedtxn);
  console.log(receipt);
})();

node .\testdeploy-vtest.js

交易成功后会获取到合约地址,在后续合约交互会用到该合约地址

87eb560de94b4fd4be699b610410e66317efe7415a1a72d3bbb08520cc94451a
{
  result: true,
  txid: '87eb560de94b4fd4be699b610410e66317efe7415a1a72d3bbb08520cc94451a',
  transaction: {
    visible: false,
    txID: '87eb560de94b4fd4be699b610410e66317efe7415a1a72d3bbb08520cc94451a',
    contract_address: '4627cfb8e9c487553cd23fdae46c239b31b1bd4161',
    raw_data: {
      contract: [Array],
      ref_block_bytes: 'f282',
      ref_block_hash: 'e887130bddb45335',
      expiration: 1628774697000,
      fee_limit: 100000000,
      timestamp: 1628774639969
    },
    raw_data_hex: '0a02f2822208e887130bddb4533540a890a6d4b32f5aa62e081e12a12e0a30747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e437265617465536d617274436f6e747261637412ec2d0a15465a4d1225e32297fe46269c178f7e7c83820d37ff12d22d0a15465a4d1225e32297fe46269c178f7e7c83820d37ff1aad060a1610011a046e616d652a081a06737472696e67300240020a1910011a08646563696d616c732a071a0575696e7438300240020a1810011a056f776e65722a091a0761646472657373300240020a1810011a0673796d626f6c2a081a06737472696e67300240020a4a2218120d696e697469616c537570706c791a0775696e7432353622131209746f6b656e4e616d651a06737472696e672215120b746f6b656e53796d626f6c1a06737472696e67300140030a2d1a044275726e22110801120466726f6d1a07616464726573732210120576616c75651a0775696e7432353630030a401a08417070726f76616c2210080112037372631a07616464726573732210080112036775791a0761646472657373220e12037761641a0775696e7432353630030a401a085472616e736665722210080112037372631a07616464726573732210080112036473741a0761646472657373220e12037761641a0775696e7432353630030a1e10011a0b746f74616c537570706c792a091a0775696e74323536300240020a2c10011a0962616c616e63654f66220e12036775791a07616464726573732a091a0775696e74323536300240020a3c10011a09616c6c6f77616e6365220e12037372631a0761646472657373220e12036775791a07616464726573732a091a0775696e74323536300240020a361a087472616e73666572220e12036473741a0761646472657373220e12037761641a0775696e743235362a061a04626f6f6c300240030a531a0c7472616e7366657246726f6d220e12037372631a0761646472657373220e12036473741a0761646472657373220e12037761641a0775696e743235362a0f1207737563636573731a04626f6f6c300240030a3e1a07617070726f7665220e12036775791a0761646472657373220e12037761641a0775696e743235362a0f1207737563636573731a04626f6f6c300240030a2b1a046275726e220e12037761641a0775696e743235362a0f1207737563636573731a04626f6f6c300240030a3f1a086275726e46726f6d220e12037372631a0761646472657373220e12037761641a0775696e743235362a0f1207737563636573731a04626f6f6c3002400322832760806040526012600260006101000a81548160ff021916908360ff1602179055503480156200002d57600080fd5b50d380156200003b57600080fd5b50d280156200004957600080fd5b50604051620012a3380380620012a3833981018060405260608110156200006f57600080fd5b810190808051906020019092919080516401000000008111156200009257600080fd5b82810190506020810184811115620000a957600080fd5b8151856001820283011164010000000082111715620000c757600080fd5b50509291906020018051640100000000811115620000e457600080fd5b82810190506020810184811115620000fb57600080fd5b81518560018202830111640100000000821117156200011957600080fd5b505092919050505033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900460ff1660ff16600a0a830260038190555060035460046000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600090805190602001906200020092919062000223565b5080600190805190602001906200021992919062000223565b50505050620002d2565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200026657805160ff191683800117855562000297565b8280016001018555821562000297579182015b828111156200029657825182559160200191906001019062000279565b5b509050620002a69190620002aa565b5090565b620002cf91905b80821115620002cb576000816000905550600101620002b1565b5090565b90565b610fc180620002e26000396000f3fe608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b50600436106100ce5760003560e01c806370a082311161008b57806370a08231146102ca57806379cc6790146103225780638da5cb5b1461038857806395d89b41146103d2578063a9059cbb14610455578063dd62ed3e146104bb576100ce565b806306fdde03146100d3578063095ea7b31461015657806318160ddd146101bc57806323b872dd146101da578063313ce5671461026057806342966c6814610284575b600080fd5b6100db610533565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561011b578082015181840152602081019050610100565b50505050905090810190601f1680156101485780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a26004803603604081101561016c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d1565b604051808215151515815260200191505060405180910390f35b6101c461065e565b6040518082815260200191505060405180910390f35b610246600480360360608110156101f057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610668565b604051808215151515815260200191505060405180910390f35b610268610794565b604051808260ff1660ff16815260200191505060405180910390f35b6102b06004803603602081101561029a57600080fd5b81019080803590602001909291905050506107a7565b604051808215151515815260200191505060405180910390f35b61030c600480360360208110156102e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108a9565b6040518082815260200191505060405180910390f35b61036e6004803603604081101561033857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108f2565b604051808215151515815260200191505060405180910390f35b610390610b08565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103da610b2e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561041a5780820151818401526020810190506103ff565b50505050905090810190601f1680156104475780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104a16004803603604081101561046b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bcc565b604051808215151515815260200191505060405180910390f35b61051d600480360360408110156104d157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610be1565b6040518082815260200191505060405180910390f35b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105c95780601f1061059e576101008083540402835291602001916105c9565b820191906000526020600020905b8154815290600101906020018083116105ac57829003601f168201915b505050505081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b6000600354905090565b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156106f357600080fd5b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550610788848484610c68565b50600190509392505050565b600260009054906101000a900460ff1681565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156107f557600080fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816003600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a260019050919050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561094057600080fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156109c957600080fd5b81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816003600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a26001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bc45780601f10610b9957610100808354040283529160200191610bc4565b820191906000526020600020905b815481529060010190602001808311610ba757829003601f168201915b505050505081565b6000610bd9338484610c68565b905092915050565b6000600560008473fffffffffffffffffffffffffff3ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ca357600080fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610cef57600080fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011015610d7c57600080fd5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401905082600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555082600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a380600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540114610f8957fe5b6001915050939250505056fea165627a7a72305820387837b7c1210394a5491df934287926afc8ff50b084bd044022b649a64171a70029000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000356544b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000132000000000000000000000000000000000000000000000000000000000000004080ade20470e1d2a2d4b32f900180c2d72f',
    signature: [
      'e48768e299b0744e187ce3c2fa6f5e6e89d42364fb2fafc9319dd5d759896377d5a056a838b8abafe5e93aa1c3eb39bc26d6e25637a45cc9f4b4eba091a9739e01'    ]
  }
}