{
"contractName": "MyCoin",
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "totalSupply",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b50604051610ba5380380610ba58339818101604052602081101561004d57600080fd5b8101908080519060200190929190505050808060028190555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600254600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050610a868061011f6000396000f3fe608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b506004361061007c5760003560e01c8063095ea7b31461008157806318160ddd146100e757806323b872dd1461010557806370a082311461018b578063a9059cbb146101e3578063dd62ed3e14610249575b600080fd5b6100cd6004803603604081101561009757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102c1565b604051808215151515815260200191505060405180910390f35b6100ef6102d4565b6040518082815260200191505060405180910390f35b6101716004803603606081101561011b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102e3565b604051808215151515815260200191505060405180910390f35b6101cd600480360360208110156101a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102f9565b6040518082815260200191505060405180910390f35b61022f600480360360408110156101f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061030b565b604051808215151515815260200191505060405180910390f35b6102ab6004803603604081101561025f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061031f565b6040518082815260200191505060405180910390f35b60006102cd8383610333565b5092915050565b60006102de6104aa565b905090565b60006102f08484846104b4565b90509392505050565b6000610304826105db565b9050919050565b60006103178383610623565b905092915050565b600061032b838361063a565b905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156103ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806109af602b913960400191505060405180910390fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600254905090565b600061054582600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106c190919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506105d084848461072d565b600190509392505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600061063033848461072d565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008282111561071c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610a01602a913960400191505060405180910390fd5b600082840390508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156107b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806109da6027913960400191505060405180910390fd5b610804816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106c190919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610897816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461094390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000808284019050838110156109a4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180610a2b6028913960400191505060405180910390fd5b809150509291505056fe43616e6e6f7420617070726f766520616c6c6f77616e636520666f72206f776e657220616464726573732143616e6e6f74207472616e7366657220616c6c6f7765642066756e6473206173206f776e657221737562737472616374696f6e2063616e277420686176652061206e6567617469766520726573756c74216164646974696f6e206d75737420726573756c7420696e20612068696768657220726573756c7421a26474726f6e5820fe57e3f273e7143eb6fb781446879516a7a429a79d90b80121ed5e95e5cda0b764736f6c63430005120031",
"deployedBytecode": "0x608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b506004361061007c5760003560e01c8063095ea7b31461008157806318160ddd146100e757806323b872dd1461010557806370a082311461018b578063a9059cbb146101e3578063dd62ed3e14610249575b600080fd5b6100cd6004803603604081101561009757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102c1565b604051808215151515815260200191505060405180910390f35b6100ef6102d4565b6040518082815260200191505060405180910390f35b6101716004803603606081101561011b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102e3565b604051808215151515815260200191505060405180910390f35b6101cd600480360360208110156101a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102f9565b6040518082815260200191505060405180910390f35b61022f600480360360408110156101f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061030b565b604051808215151515815260200191505060405180910390f35b6102ab6004803603604081101561025f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061031f565b6040518082815260200191505060405180910390f35b60006102cd8383610333565b5092915050565b60006102de6104aa565b905090565b60006102f08484846104b4565b90509392505050565b6000610304826105db565b9050919050565b60006103178383610623565b905092915050565b600061032b838361063a565b905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156103ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806109af602b913960400191505060405180910390fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600254905090565b600061054582600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106c190919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506105d084848461072d565b600190509392505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600061063033848461072d565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008282111561071c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610a01602a913960400191505060405180910390fd5b600082840390508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156107b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806109da6027913960400191505060405180910390fd5b610804816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106c190919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610897816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461094390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000808284019050838110156109a4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180610a2b6028913960400191505060405180910390fd5b809150509291505056fe43616e6e6f7420617070726f766520616c6c6f77616e636520666f72206f776e657220616464726573732143616e6e6f74207472616e7366657220616c6c6f7765642066756e6473206173206f776e657221737562737472616374696f6e2063616e277420686176652061206e6567617469766520726573756c74216164646974696f6e206d75737420726573756c7420696e20612068696768657220726573756c7421a26474726f6e5820fe57e3f273e7143eb6fb781446879516a7a429a79d90b80121ed5e95e5cda0b764736f6c63430005120031",
"sourceMap": "1357:1092:2:-;;;1621:69;8:9:-1;5:2;;;30:1;27;20:12;5:2;1621:69:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1621:69:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1621:69:2;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1621:69:2;;;;;;;;;;;;;;;;1663:11;1774::0;1759:12;:26;;;;1811:10;1795:13;;:26;;;;;;;;;;;;;;;;;;1858:12;;1831:9;:24;1841:13;;;;;;;;;;;1831:24;;;;;;;;;;;;;;;:39;;;;1707:170;1621:69:2;1357:1092;;;;;;",
"deployedSourceMap": "1357:1092:2:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1357:1092:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1357:1092:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1357:1092:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2179:117;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2179:117:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1697:96;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2302:144;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2302:144:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1799:110;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1799:110:2;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2057:116;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2057:116:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1915:136;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1915:136:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2179:117;2244:4;2260:29;2274:7;2283:5;2260:13;:29::i;:::-;;2179:117;;;;:::o;1697:96::-;1741:7;1767:19;:17;:19::i;:::-;1760:26;;1697:96;:::o;2302:144::-;2381:4;2404:35;2423:4;2429:2;2433:5;2404:18;:35::i;:::-;2397:42;;2302:144;;;;;:::o;1799:110::-;1854:7;1880:22;1896:5;1880:15;:22::i;:::-;1873:29;;1799:110;;;:::o;2057:116::-;2118:4;2141:25;2156:2;2160:5;2141:14;:25::i;:::-;2134:32;;2057:116;;;;:::o;1915:136::-;1987:7;2013:31;2029:5;2036:7;2013:15;:31::i;:::-;2006:38;;1915:136;;;;:::o;3780:285:0:-;3845:4;3888:1;3869:21;;:7;:21;;;;3861:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3981:5;3949:8;:20;3958:10;3949:20;;;;;;;;;;;;;;;:29;3970:7;3949:29;;;;;;;;;;;;;;;:37;;;;4022:7;4001:36;;4010:10;4001:36;;;4031:5;4001:36;;;;;;;;;;;;;;;;;;4054:4;4047:11;;3780:285;;;;:::o;1947:89::-;1991:7;2017:12;;2010:19;;1947:89;:::o;4351:267::-;4468:4;4517:37;4548:5;4517:8;:14;4526:4;4517:14;;;;;;;;;;;;;;;:26;4532:10;4517:26;;;;;;;;;;;;;;;;:30;;:37;;;;:::i;:::-;4488:8;:14;4497:4;4488:14;;;;;;;;;;;;;;;:26;4503:10;4488:26;;;;;;;;;;;;;;;:66;;;;4564:26;4574:4;4580:2;4584:5;4564:9;:26::i;:::-;4607:4;4600:11;;4351:267;;;;;:::o;2249:104::-;2304:7;2330:9;:16;2340:5;2330:16;;;;;;;;;;;;;;;;2323:23;;2249:104;;;:::o;3007:137::-;3068:4;3084:32;3094:10;3106:2;3110:5;3084:9;:32::i;:::-;3133:4;3126:11;;3007:137;;;;:::o;2684:155::-;2778:7;2808:8;:15;2817:5;2808:15;;;;;;;;;;;;;;;:24;2824:7;2808:24;;;;;;;;;;;;;;;;2801:31;;2684:155;;;;:::o;1261:191:3:-;1319:7;1351:1;1346;:6;;1338:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1409:9;1425:1;1421;:5;1409:17;;1444:1;1437:8;;;1261:191;;;;:::o;4837:299:0:-;4938:1;4924:16;;:2;:16;;;;4916:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5013:26;5033:5;5013:9;:15;5023:4;5013:15;;;;;;;;;;;;;;;;:19;;:26;;;;:::i;:::-;4995:9;:15;5005:4;4995:15;;;;;;;;;;;;;;;:44;;;;5065:24;5083:5;5065:9;:13;5075:2;5065:13;;;;;;;;;;;;;;;;:17;;:24;;;;:::i;:::-;5049:9;:13;5059:2;5049:13;;;;;;;;;;;;;;;:40;;;;5119:2;5104:25;;5113:4;5104:25;;;5123:5;5104:25;;;;;;;;;;;;;;;;;;4837:299;;;:::o;1525:189:3:-;1583:7;1602:9;1618:1;1614;:5;1602:17;;1642:1;1637;:6;;1629:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1706:1;1699:8;;;1525:189;;;;:::o",
"source": "/*******************************************************************************\n * Copyright (C) 2019, Florian Mitterbauer\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and\n * associated documentation files (the \"Software\"), to deal in the Software without restriction,\n * including without limitation the rights to use, copy, modify, merge, publish, distribute,\n * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all copies or\n * substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT\n * NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n ******************************************************************************/\n\npragma solidity >=0.4.23 <0.6.0;\n\nimport './SafeMath.sol';\nimport './BaseCoin.sol';\n\ncontract MyCoin is BaseCoin {\n\n using SafeMath for uint256;\n\n mapping (address => uint256) private _balances;\n\n mapping (address => mapping (address => uint256)) private _allowed;\n\n uint256 private _totalSupply;\n address private _ownerAddress;\n\n constructor(uint256 totalSupply) BaseCoin(totalSupply) public {\n }\n\n\n function totalSupply() public view returns (uint256) {\n return super.totalSupply();\n }\n\n function balanceOf(address owner) public view returns (uint256) {\n return super.balanceOf(owner);\n }\n\n function allowance(address owner, address spender) public view returns (uint256) {\n return super.allowance(owner, spender);\n }\n\n function transfer(address to, uint256 value) public returns (bool) {\n return super.transfer(to, value);\n }\n\n function approve(address spender, uint256 value) public returns (bool) {\n super.approve(spender, value);\n }\n\n function transferFrom(address from, address to, uint256 value) public returns (bool) {\n return super.transferFrom(from, to, value);\n }\n\n}",
"sourcePath": "/home/george/dev/work/business_boom/rust-custody-wallet/contracts/tronbox/trc20/contracts/MyCoin.sol",
"ast": {
"absolutePath": "/home/george/dev/work/business_boom/rust-custody-wallet/contracts/tronbox/trc20/contracts/MyCoin.sol",
"exportedSymbols": {
"MyCoin": [513]
},
"id": 514,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 391,
"literals": ["solidity", ">=", "0.4", ".23", "<", "0.6", ".0"],
"nodeType": "PragmaDirective",
"src": "1272:32:2"
},
{
"absolutePath": "/home/george/dev/work/business_boom/rust-custody-wallet/contracts/tronbox/trc20/contracts/SafeMath.sol",
"file": "./SafeMath.sol",
"id": 392,
"nodeType": "ImportDirective",
"scope": 514,
"sourceUnit": 647,
"src": "1306:24:2",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/george/dev/work/business_boom/rust-custody-wallet/contracts/tronbox/trc20/contracts/BaseCoin.sol",
"file": "./BaseCoin.sol",
"id": 393,
"nodeType": "ImportDirective",
"scope": 514,
"sourceUnit": 333,
"src": "1331:24:2",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 394,
"name": "BaseCoin",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 332,
"src": "1376:8:2",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseCoin_$332",
"typeString": "contract BaseCoin"
}
},
"id": 395,
"nodeType": "InheritanceSpecifier",
"src": "1376:8:2"
}
],
"contractDependencies": [332, 715],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 513,
"linearizedBaseContracts": [513, 332, 715],
"name": "MyCoin",
"nodeType": "ContractDefinition",
"nodes": [
{
"id": 398,
"libraryName": {
"contractScope": null,
"id": 396,
"name": "SafeMath",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 646,
"src": "1398:8:2",
"typeDescriptions": {
"typeIdentifier": "t_contract$_SafeMath_$646",
"typeString": "library SafeMath"
}
},
"nodeType": "UsingForDirective",
"src": "1392:27:2",
"typeName": {
"id": 397,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1411:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
},
{
"constant": false,
"id": 402,
"name": "_balances",
"nodeType": "VariableDeclaration",
"scope": 513,
"src": "1425:46:2",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
},
"typeName": {
"id": 401,
"keyType": {
"id": 399,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1434:7:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
"src": "1425:28:2",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
},
"valueType": {
"id": 400,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1445:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
},
"value": null,
"visibility": "private"
},
{
"constant": false,
"id": 408,
"name": "_allowed",
"nodeType": "VariableDeclaration",
"scope": 513,
"src": "1478:66:2",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
"typeString": "mapping(address => mapping(address => uint256))"
},
"typeName": {
"id": 407,
"keyType": {
"id": 403,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1487:7:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
"src": "1478:49:2",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
"typeString": "mapping(address => mapping(address => uint256))"
},
"valueType": {
"id": 406,
"keyType": {
"id": 404,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1507:7:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
"src": "1498:28:2",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
},
"valueType": {
"id": 405,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1518:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
}
},
"value": null,
"visibility": "private"
},
{
"constant": false,
"id": 410,
"name": "_totalSupply",
"nodeType": "VariableDeclaration",
"scope": 513,
"src": "1551:28:2",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 409,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1551:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "private"
},
{
"constant": false,
"id": 412,
"name": "_ownerAddress",
"nodeType": "VariableDeclaration",
"scope": 513,
"src": "1585:29:2",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 411,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1585:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "private"
},
{
"body": {
"id": 420,
"nodeType": "Block",
"src": "1683:7:2",
"statements": []
},
"documentation": null,
"id": 421,
"implemented": true,
"kind": "constructor",
"modifiers": [
{
"arguments": [
{
"argumentTypes": null,
"id": 417,
"name": "totalSupply",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 414,
"src": "1663:11:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"id": 418,
"modifierName": {
"argumentTypes": null,
"id": 416,
"name": "BaseCoin",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 332,
"src": "1654:8:2",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_BaseCoin_$332_$",
"typeString": "type(contract BaseCoin)"
}
},
"nodeType": "ModifierInvocation",
"src": "1654:21:2"
}
],
"name": "",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 415,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 414,
"name": "totalSupply",
"nodeType": "VariableDeclaration",
"scope": 421,
"src": "1633:19:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 413,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1633:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1632:21:2"
},
"returnParameters": {
"id": 419,
"nodeType": "ParameterList",
"parameters": [],
"src": "1683:0:2"
},
"scope": 513,
"src": "1621:69:2",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 430,
"nodeType": "Block",
"src": "1750:43:2",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 426,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 770,
"src": "1767:5:2",
"typeDescriptions": {
"typeIdentifier": "t_super$_MyCoin_$513",
"typeString": "contract super MyCoin"
}
},
"id": 427,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "totalSupply",
"nodeType": "MemberAccess",
"referencedDeclaration": 51,
"src": "1767:17:2",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$",
"typeString": "function () view returns (uint256)"
}
},
"id": 428,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1767:19:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 425,
"id": 429,
"nodeType": "Return",
"src": "1760:26:2"
}
]
},
"documentation": null,
"id": 431,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "totalSupply",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 422,
"nodeType": "ParameterList",
"parameters": [],
"src": "1717:2:2"
},
"returnParameters": {
"id": 425,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 424,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 431,
"src": "1741:7:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 423,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1741:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1740:9:2"
},
"scope": 513,
"src": "1697:96:2",
"stateMutability": "view",
"superFunction": 51,
"visibility": "public"
},
{
"body": {
"id": 443,
"nodeType": "Block",
"src": "1863:46:2",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 440,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 433,
"src": "1896:5:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"argumentTypes": null,
"id": 438,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 770,
"src": "1880:5:2",
"typeDescriptions": {
"typeIdentifier": "t_super$_MyCoin_$513",
"typeString": "contract super MyCoin"
}
},
"id": 439,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "balanceOf",
"nodeType": "MemberAccess",
"referencedDeclaration": 63,
"src": "1880:15:2",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$",
"typeString": "function (address) view returns (uint256)"
}
},
"id": 441,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1880:22:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 437,
"id": 442,
"nodeType": "Return",
"src": "1873:29:2"
}
]
},
"documentation": null,
"id": 444,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "balanceOf",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 434,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 433,
"name": "owner",
"nodeType": "VariableDeclaration",
"scope": 444,
"src": "1818:13:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 432,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1818:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1817:15:2"
},
"returnParameters": {
"id": 437,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 436,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 444,
"src": "1854:7:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 435,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1854:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1853:9:2"
},
"scope": 513,
"src": "1799:110:2",
"stateMutability": "view",
"superFunction": 63,
"visibility": "public"
},
{
"body": {
"id": 459,
"nodeType": "Block",
"src": "1996:55:2",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 455,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 446,
"src": "2029:5:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 456,
"name": "spender",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 448,
"src": "2036:7:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"argumentTypes": null,
"id": 453,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 770,
"src": "2013:5:2",
"typeDescriptions": {
"typeIdentifier": "t_super$_MyCoin_$513",
"typeString": "contract super MyCoin"
}
},
"id": 454,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "allowance",
"nodeType": "MemberAccess",
"referencedDeclaration": 79,
"src": "2013:15:2",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$",
"typeString": "function (address,address) view returns (uint256)"
}
},
"id": 457,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2013:31:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 452,
"id": 458,
"nodeType": "Return",
"src": "2006:38:2"
}
]
},
"documentation": null,
"id": 460,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "allowance",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 449,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 446,
"name": "owner",
"nodeType": "VariableDeclaration",
"scope": 460,
"src": "1934:13:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 445,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1934:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 448,
"name": "spender",
"nodeType": "VariableDeclaration",
"scope": 460,
"src": "1949:15:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 447,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1949:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1933:32:2"
},
"returnParameters": {
"id": 452,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 451,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 460,
"src": "1987:7:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 450,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1987:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1986:9:2"
},
"scope": 513,
"src": "1915:136:2",
"stateMutability": "view",
"superFunction": 79,
"visibility": "public"
},
{
"body": {
"id": 475,
"nodeType": "Block",
"src": "2124:49:2",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 471,
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 462,
"src": "2156:2:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 472,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 464,
"src": "2160:5:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 469,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 770,
"src": "2141:5:2",
"typeDescriptions": {
"typeIdentifier": "t_super$_MyCoin_$513",
"typeString": "contract super MyCoin"
}
},
"id": 470,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "transfer",
"nodeType": "MemberAccess",
"referencedDeclaration": 98,
"src": "2141:14:2",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
"typeString": "function (address,uint256) returns (bool)"
}
},
"id": 473,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2141:25:2",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"functionReturnParameters": 468,
"id": 474,
"nodeType": "Return",
"src": "2134:32:2"
}
]
},
"documentation": null,
"id": 476,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "transfer",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 465,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 462,
"name": "to",
"nodeType": "VariableDeclaration",
"scope": 476,
"src": "2075:10:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 461,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2075:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 464,
"name": "value",
"nodeType": "VariableDeclaration",
"scope": 476,
"src": "2087:13:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 463,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2087:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2074:27:2"
},
"returnParameters": {
"id": 468,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 467,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 476,
"src": "2118:4:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 466,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "2118:4:2",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2117:6:2"
},
"scope": 513,
"src": "2057:116:2",
"stateMutability": "nonpayable",
"superFunction": 98,
"visibility": "public"
},
{
"body": {
"id": 492,
"nodeType": "Block",
"src": "2250:46:2",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 488,
"name": "spender",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 478,
"src": "2274:7:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 489,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 480,
"src": "2283:5:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 485,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 770,
"src": "2260:5:2",
"typeDescriptions": {
"typeIdentifier": "t_super$_MyCoin_$513",
"typeString": "contract super MyCoin"
}
},
"id": 487,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "approve",
"nodeType": "MemberAccess",
"referencedDeclaration": 135,
"src": "2260:13:2",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
"typeString": "function (address,uint256) returns (bool)"
}
},
"id": 490,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2260:29:2",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 491,
"nodeType": "ExpressionStatement",
"src": "2260:29:2"
}
]
},
"documentation": null,
"id": 493,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "approve",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 481,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 478,
"name": "spender",
"nodeType": "VariableDeclaration",
"scope": 493,
"src": "2196:15:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 477,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2196:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 480,
"name": "value",
"nodeType": "VariableDeclaration",
"scope": 493,
"src": "2213:13:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 479,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2213:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2195:32:2"
},
"returnParameters": {
"id": 484,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 483,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 493,
"src": "2244:4:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 482,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "2244:4:2",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2243:6:2"
},
"scope": 513,
"src": "2179:117:2",
"stateMutability": "nonpayable",
"superFunction": 135,
"visibility": "public"
},
{
"body": {
"id": 511,
"nodeType": "Block",
"src": "2387:59:2",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 506,
"name": "from",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 495,
"src": "2423:4:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 507,
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 497,
"src": "2429:2:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 508,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 499,
"src": "2433:5:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 504,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 770,
"src": "2404:5:2",
"typeDescriptions": {
"typeIdentifier": "t_super$_MyCoin_$513",
"typeString": "contract super MyCoin"
}
},
"id": 505,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "transferFrom",
"nodeType": "MemberAccess",
"referencedDeclaration": 172,
"src": "2404:18:2",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$",
"typeString": "function (address,address,uint256) returns (bool)"
}
},
"id": 509,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2404:35:2",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"functionReturnParameters": 503,
"id": 510,
"nodeType": "Return",
"src": "2397:42:2"
}
]
},
"documentation": null,
"id": 512,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "transferFrom",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 500,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 495,
"name": "from",
"nodeType": "VariableDeclaration",
"scope": 512,
"src": "2324:12:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 494,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2324:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 497,
"name": "to",
"nodeType": "VariableDeclaration",
"scope": 512,
"src": "2338:10:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 496,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2338:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 499,
"name": "value",
"nodeType": "VariableDeclaration",
"scope": 512,
"src": "2350:13:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 498,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2350:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2323:41:2"
},
"returnParameters": {
"id": 503,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 502,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 512,
"src": "2381:4:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 501,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "2381:4:2",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2380:6:2"
},
"scope": 513,
"src": "2302:144:2",
"stateMutability": "nonpayable",
"superFunction": 172,
"visibility": "public"
}
],
"scope": 514,
"src": "1357:1092:2"
}
],
"src": "1272:1177:2"
},
"legacyAST": {
"absolutePath": "/home/george/dev/work/business_boom/rust-custody-wallet/contracts/tronbox/trc20/contracts/MyCoin.sol",
"exportedSymbols": {
"MyCoin": [513]
},
"id": 514,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 391,
"literals": ["solidity", ">=", "0.4", ".23", "<", "0.6", ".0"],
"nodeType": "PragmaDirective",
"src": "1272:32:2"
},
{
"absolutePath": "/home/george/dev/work/business_boom/rust-custody-wallet/contracts/tronbox/trc20/contracts/SafeMath.sol",
"file": "./SafeMath.sol",
"id": 392,
"nodeType": "ImportDirective",
"scope": 514,
"sourceUnit": 647,
"src": "1306:24:2",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/george/dev/work/business_boom/rust-custody-wallet/contracts/tronbox/trc20/contracts/BaseCoin.sol",
"file": "./BaseCoin.sol",
"id": 393,
"nodeType": "ImportDirective",
"scope": 514,
"sourceUnit": 333,
"src": "1331:24:2",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 394,
"name": "BaseCoin",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 332,
"src": "1376:8:2",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseCoin_$332",
"typeString": "contract BaseCoin"
}
},
"id": 395,
"nodeType": "InheritanceSpecifier",
"src": "1376:8:2"
}
],
"contractDependencies": [332, 715],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 513,
"linearizedBaseContracts": [513, 332, 715],
"name": "MyCoin",
"nodeType": "ContractDefinition",
"nodes": [
{
"id": 398,
"libraryName": {
"contractScope": null,
"id": 396,
"name": "SafeMath",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 646,
"src": "1398:8:2",
"typeDescriptions": {
"typeIdentifier": "t_contract$_SafeMath_$646",
"typeString": "library SafeMath"
}
},
"nodeType": "UsingForDirective",
"src": "1392:27:2",
"typeName": {
"id": 397,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1411:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
},
{
"constant": false,
"id": 402,
"name": "_balances",
"nodeType": "VariableDeclaration",
"scope": 513,
"src": "1425:46:2",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
},
"typeName": {
"id": 401,
"keyType": {
"id": 399,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1434:7:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
"src": "1425:28:2",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
},
"valueType": {
"id": 400,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1445:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
},
"value": null,
"visibility": "private"
},
{
"constant": false,
"id": 408,
"name": "_allowed",
"nodeType": "VariableDeclaration",
"scope": 513,
"src": "1478:66:2",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
"typeString": "mapping(address => mapping(address => uint256))"
},
"typeName": {
"id": 407,
"keyType": {
"id": 403,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1487:7:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
"src": "1478:49:2",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
"typeString": "mapping(address => mapping(address => uint256))"
},
"valueType": {
"id": 406,
"keyType": {
"id": 404,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1507:7:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
"src": "1498:28:2",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
},
"valueType": {
"id": 405,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1518:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
}
},
"value": null,
"visibility": "private"
},
{
"constant": false,
"id": 410,
"name": "_totalSupply",
"nodeType": "VariableDeclaration",
"scope": 513,
"src": "1551:28:2",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 409,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1551:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "private"
},
{
"constant": false,
"id": 412,
"name": "_ownerAddress",
"nodeType": "VariableDeclaration",
"scope": 513,
"src": "1585:29:2",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 411,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1585:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "private"
},
{
"body": {
"id": 420,
"nodeType": "Block",
"src": "1683:7:2",
"statements": []
},
"documentation": null,
"id": 421,
"implemented": true,
"kind": "constructor",
"modifiers": [
{
"arguments": [
{
"argumentTypes": null,
"id": 417,
"name": "totalSupply",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 414,
"src": "1663:11:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"id": 418,
"modifierName": {
"argumentTypes": null,
"id": 416,
"name": "BaseCoin",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 332,
"src": "1654:8:2",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_BaseCoin_$332_$",
"typeString": "type(contract BaseCoin)"
}
},
"nodeType": "ModifierInvocation",
"src": "1654:21:2"
}
],
"name": "",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 415,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 414,
"name": "totalSupply",
"nodeType": "VariableDeclaration",
"scope": 421,
"src": "1633:19:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 413,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1633:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1632:21:2"
},
"returnParameters": {
"id": 419,
"nodeType": "ParameterList",
"parameters": [],
"src": "1683:0:2"
},
"scope": 513,
"src": "1621:69:2",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 430,
"nodeType": "Block",
"src": "1750:43:2",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 426,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 770,
"src": "1767:5:2",
"typeDescriptions": {
"typeIdentifier": "t_super$_MyCoin_$513",
"typeString": "contract super MyCoin"
}
},
"id": 427,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "totalSupply",
"nodeType": "MemberAccess",
"referencedDeclaration": 51,
"src": "1767:17:2",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$",
"typeString": "function () view returns (uint256)"
}
},
"id": 428,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1767:19:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 425,
"id": 429,
"nodeType": "Return",
"src": "1760:26:2"
}
]
},
"documentation": null,
"id": 431,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "totalSupply",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 422,
"nodeType": "ParameterList",
"parameters": [],
"src": "1717:2:2"
},
"returnParameters": {
"id": 425,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 424,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 431,
"src": "1741:7:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 423,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1741:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1740:9:2"
},
"scope": 513,
"src": "1697:96:2",
"stateMutability": "view",
"superFunction": 51,
"visibility": "public"
},
{
"body": {
"id": 443,
"nodeType": "Block",
"src": "1863:46:2",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 440,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 433,
"src": "1896:5:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"argumentTypes": null,
"id": 438,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 770,
"src": "1880:5:2",
"typeDescriptions": {
"typeIdentifier": "t_super$_MyCoin_$513",
"typeString": "contract super MyCoin"
}
},
"id": 439,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "balanceOf",
"nodeType": "MemberAccess",
"referencedDeclaration": 63,
"src": "1880:15:2",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$",
"typeString": "function (address) view returns (uint256)"
}
},
"id": 441,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1880:22:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 437,
"id": 442,
"nodeType": "Return",
"src": "1873:29:2"
}
]
},
"documentation": null,
"id": 444,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "balanceOf",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 434,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 433,
"name": "owner",
"nodeType": "VariableDeclaration",
"scope": 444,
"src": "1818:13:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 432,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1818:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1817:15:2"
},
"returnParameters": {
"id": 437,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 436,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 444,
"src": "1854:7:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 435,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1854:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1853:9:2"
},
"scope": 513,
"src": "1799:110:2",
"stateMutability": "view",
"superFunction": 63,
"visibility": "public"
},
{
"body": {
"id": 459,
"nodeType": "Block",
"src": "1996:55:2",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 455,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 446,
"src": "2029:5:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 456,
"name": "spender",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 448,
"src": "2036:7:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"argumentTypes": null,
"id": 453,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 770,
"src": "2013:5:2",
"typeDescriptions": {
"typeIdentifier": "t_super$_MyCoin_$513",
"typeString": "contract super MyCoin"
}
},
"id": 454,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "allowance",
"nodeType": "MemberAccess",
"referencedDeclaration": 79,
"src": "2013:15:2",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$",
"typeString": "function (address,address) view returns (uint256)"
}
},
"id": 457,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2013:31:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 452,
"id": 458,
"nodeType": "Return",
"src": "2006:38:2"
}
]
},
"documentation": null,
"id": 460,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "allowance",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 449,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 446,
"name": "owner",
"nodeType": "VariableDeclaration",
"scope": 460,
"src": "1934:13:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 445,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1934:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 448,
"name": "spender",
"nodeType": "VariableDeclaration",
"scope": 460,
"src": "1949:15:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 447,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1949:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1933:32:2"
},
"returnParameters": {
"id": 452,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 451,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 460,
"src": "1987:7:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 450,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1987:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1986:9:2"
},
"scope": 513,
"src": "1915:136:2",
"stateMutability": "view",
"superFunction": 79,
"visibility": "public"
},
{
"body": {
"id": 475,
"nodeType": "Block",
"src": "2124:49:2",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 471,
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 462,
"src": "2156:2:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 472,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 464,
"src": "2160:5:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 469,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 770,
"src": "2141:5:2",
"typeDescriptions": {
"typeIdentifier": "t_super$_MyCoin_$513",
"typeString": "contract super MyCoin"
}
},
"id": 470,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "transfer",
"nodeType": "MemberAccess",
"referencedDeclaration": 98,
"src": "2141:14:2",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
"typeString": "function (address,uint256) returns (bool)"
}
},
"id": 473,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2141:25:2",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"functionReturnParameters": 468,
"id": 474,
"nodeType": "Return",
"src": "2134:32:2"
}
]
},
"documentation": null,
"id": 476,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "transfer",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 465,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 462,
"name": "to",
"nodeType": "VariableDeclaration",
"scope": 476,
"src": "2075:10:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 461,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2075:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 464,
"name": "value",
"nodeType": "VariableDeclaration",
"scope": 476,
"src": "2087:13:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 463,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2087:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2074:27:2"
},
"returnParameters": {
"id": 468,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 467,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 476,
"src": "2118:4:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 466,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "2118:4:2",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2117:6:2"
},
"scope": 513,
"src": "2057:116:2",
"stateMutability": "nonpayable",
"superFunction": 98,
"visibility": "public"
},
{
"body": {
"id": 492,
"nodeType": "Block",
"src": "2250:46:2",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 488,
"name": "spender",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 478,
"src": "2274:7:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 489,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 480,
"src": "2283:5:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 485,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 770,
"src": "2260:5:2",
"typeDescriptions": {
"typeIdentifier": "t_super$_MyCoin_$513",
"typeString": "contract super MyCoin"
}
},
"id": 487,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "approve",
"nodeType": "MemberAccess",
"referencedDeclaration": 135,
"src": "2260:13:2",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
"typeString": "function (address,uint256) returns (bool)"
}
},
"id": 490,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2260:29:2",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 491,
"nodeType": "ExpressionStatement",
"src": "2260:29:2"
}
]
},
"documentation": null,
"id": 493,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "approve",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 481,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 478,
"name": "spender",
"nodeType": "VariableDeclaration",
"scope": 493,
"src": "2196:15:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 477,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2196:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 480,
"name": "value",
"nodeType": "VariableDeclaration",
"scope": 493,
"src": "2213:13:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 479,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2213:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2195:32:2"
},
"returnParameters": {
"id": 484,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 483,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 493,
"src": "2244:4:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 482,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "2244:4:2",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2243:6:2"
},
"scope": 513,
"src": "2179:117:2",
"stateMutability": "nonpayable",
"superFunction": 135,
"visibility": "public"
},
{
"body": {
"id": 511,
"nodeType": "Block",
"src": "2387:59:2",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 506,
"name": "from",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 495,
"src": "2423:4:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 507,
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 497,
"src": "2429:2:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 508,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 499,
"src": "2433:5:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 504,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 770,
"src": "2404:5:2",
"typeDescriptions": {
"typeIdentifier": "t_super$_MyCoin_$513",
"typeString": "contract super MyCoin"
}
},
"id": 505,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "transferFrom",
"nodeType": "MemberAccess",
"referencedDeclaration": 172,
"src": "2404:18:2",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$",
"typeString": "function (address,address,uint256) returns (bool)"
}
},
"id": 509,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2404:35:2",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"functionReturnParameters": 503,
"id": 510,
"nodeType": "Return",
"src": "2397:42:2"
}
]
},
"documentation": null,
"id": 512,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "transferFrom",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 500,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 495,
"name": "from",
"nodeType": "VariableDeclaration",
"scope": 512,
"src": "2324:12:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 494,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2324:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 497,
"name": "to",
"nodeType": "VariableDeclaration",
"scope": 512,
"src": "2338:10:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 496,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2338:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 499,
"name": "value",
"nodeType": "VariableDeclaration",
"scope": 512,
"src": "2350:13:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 498,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2350:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2323:41:2"
},
"returnParameters": {
"id": 503,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 502,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 512,
"src": "2381:4:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 501,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "2381:4:2",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2380:6:2"
},
"scope": 513,
"src": "2302:144:2",
"stateMutability": "nonpayable",
"superFunction": 172,
"visibility": "public"
}
],
"scope": 514,
"src": "1357:1092:2"
}
],
"src": "1272:1177:2"
},
"compiler": {
"name": "solc",
"version": "0.5.18+commit.6124c569.mod.Emscripten.clang"
},
"networks": {
"9": {
"events": {},
"links": {},
"address": "41a6bed993f7e7d20fb9667cfbcf5aad2691d4fe22",
"transactionHash": "93c9931a7cbf5a6448ad440b2b3bae756d480b27dc7ff0412fe9831f8ca6108c"
},
"*": {
"events": {},
"links": {},
"address": "41b0ce54a25b090cd13adc4a9630a7c6b39a732237",
"transactionHash": "0abaa2724e4bc1b5d70c0740b46dece7ce90254aef756084ddfd2e9ac2abba40"
}
},
"schemaVersion": "2.0.1",
"updatedAt": "2025-08-04T04:24:52.509Z"
}