Created
August 6, 2021 12:53
-
-
Save anvacaru/5be17918d3ef210ab7cbe7069a9ed9c2 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"contractName": "ERC20EXT", | |
"abi": [ | |
{ | |
"inputs": [ | |
{ | |
"internalType": "string", | |
"name": "name", | |
"type": "string" | |
}, | |
{ | |
"internalType": "string", | |
"name": "symbol", | |
"type": "string" | |
}, | |
{ | |
"internalType": "address", | |
"name": "initAccount", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "initSupply", | |
"type": "uint256" | |
} | |
], | |
"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" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "owner", | |
"type": "address" | |
}, | |
{ | |
"internalType": "address", | |
"name": "spender", | |
"type": "address" | |
} | |
], | |
"name": "allowance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "spender", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "approve", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "account", | |
"type": "address" | |
} | |
], | |
"name": "balanceOf", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "spender", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "subtractedValue", | |
"type": "uint256" | |
} | |
], | |
"name": "decreaseAllowance", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "spender", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "addedValue", | |
"type": "uint256" | |
} | |
], | |
"name": "increaseAllowance", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "name", | |
"outputs": [ | |
{ | |
"internalType": "string", | |
"name": "", | |
"type": "string" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "symbol", | |
"outputs": [ | |
{ | |
"internalType": "string", | |
"name": "", | |
"type": "string" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "totalSupply", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "recipient", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "transfer", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "sender", | |
"type": "address" | |
}, | |
{ | |
"internalType": "address", | |
"name": "recipient", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "transferFrom", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "account", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "mint", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "account", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "burn", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "displayName", | |
"outputs": [ | |
{ | |
"internalType": "string", | |
"name": "", | |
"type": "string" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
} | |
], | |
"metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"initAccount\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"initSupply\",\"type\":\"uint256\"}],\"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\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"displayName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/andrei/projects/firefly/tests/demos/firefly-demo/contracts/ERC20EXT.sol\":\"ERC20EXT\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/andrei/projects/firefly/tests/demos/firefly-demo/contracts/ERC20.sol\":{\"keccak256\":\"0xcdadbe122ab268b945a6912aa0a8256000450bcb6c5be783cd24e62b2a5e8a24\",\"urls\":[\"bzz-raw://07307ed9d97354ce1eae1e1ca90dc53e3396b9a37201124cf1f4e9432170ed5f\",\"dweb:/ipfs/QmRY9ykFYkh6hGGC4xyJE9WRy2YvMN2ET7ogjf45owMy2E\"]},\"/home/andrei/projects/firefly/tests/demos/firefly-demo/contracts/ERC20EXT.sol\":{\"keccak256\":\"0x79ddb72fe50372d03d3078e62d8120caa3e8fa987eecca75ab0a162cd520c911\",\"urls\":[\"bzz-raw://6fd399fa4c8b12dd7533d9ef29758fbd19d041dd354791f7897ef395e8ce33cb\",\"dweb:/ipfs/Qmem71HdLboLgbCWqQv5E7SmpzT6VRQoUv9uWGejcdFQCE\"]},\"/home/andrei/projects/firefly/tests/demos/firefly-demo/contracts/Owned.sol\":{\"keccak256\":\"0xea4a100255cafccae80d94d6d5e01d12bd7832caf4defecade554ddf8d931184\",\"urls\":[\"bzz-raw://acd914075856b56060b15ff9c90f125752167ac4ecf12f9d55596925c3bdbd4d\",\"dweb:/ipfs/QmR2Rzr1JRjJc9PkrZjvD12J3Ldud2yw1sheUETMQtxVRM\"]}},\"version\":1}", | |
"bytecode": "0x60806040523480156200001157600080fd5b506040516200186638038062001866833981810160405260808110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b838201915060208201858111156200006f57600080fd5b82518660018202830111640100000000821117156200008d57600080fd5b8083526020830192505050908051906020019080838360005b83811015620000c3578082015181840152602081019050620000a6565b50505050905090810190601f168015620000f15780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011557600080fd5b838201915060208201858111156200012c57600080fd5b82518660018202830111640100000000821117156200014a57600080fd5b8083526020830192505050908051906020019080838360005b838110156200018057808201518184015260208101905062000163565b50505050905090810190601f168015620001ae5780820380516001836020036101000a031916815260200191505b506040526020018051906020019092919080519060200190929190505050838383838360039080519060200190620001e8929190620003ff565b50826004908051906020019062000201929190620003ff565b506200021482826200026360201b60201c565b5050505033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050620004a5565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000307576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b8060025401600281905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054016000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200044257805160ff191683800117855562000473565b8280016001018555821562000473579182015b828111156200047257825182559160200191906001019062000455565b5b50905062000482919062000486565b5090565b5b80821115620004a157600081600090555060010162000487565b5090565b6113b180620004b56000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80634affb2601161008c5780639dc29fac116100665780639dc29fac14610483578063a457c2d7146104e7578063a9059cbb1461054b578063dd62ed3e146105af576100cf565b80634affb2601461032557806370a08231146103a857806395d89b4114610400576100cf565b806306fdde03146100d4578063095ea7b31461015757806318160ddd146101bb57806323b872dd146101d9578063395093511461025d57806340c10f19146102c1575b600080fd5b6100dc610627565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561011c578082015181840152602081019050610101565b50505050905090810190601f1680156101495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a36004803603604081101561016d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106c9565b60405180821515815260200191505060405180910390f35b6101c36106e0565b6040518082815260200191505060405180910390f35b610245600480360360608110156101ef57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ea565b60405180821515815260200191505060405180910390f35b6102a96004803603604081101561027357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061078b565b60405180821515815260200191505060405180910390f35b61030d600480360360408110156102d757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610820565b60405180821515815260200191505060405180910390f35b61032d610836565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561036d578082015181840152602081019050610352565b50505050905090810190601f16801561039a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103ea600480360360208110156103be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108eb565b6040518082815260200191505060405180910390f35b610408610933565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561044857808201518184015260208101905061042d565b50505050905090810190601f1680156104755780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104cf6004803603604081101561049957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109d5565b60405180821515815260200191505060405180910390f35b610533600480360360408110156104fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109eb565b60405180821515815260200191505060405180910390f35b6105976004803603604081101561056157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a80565b60405180821515815260200191505060405180910390f35b610611600480360360408110156105c557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a97565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106bf5780601f10610694576101008083540402835291602001916106bf565b820191906000526020600020905b8154815290600101906020018083116106a257829003601f168201915b5050505050905090565b60006106d6338484610b1e565b6001905092915050565b6000600254905090565b60006106f7848484610d15565b610780843384600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403610b1e565b600190509392505050565b6000610816338484600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401610b1e565b6001905092915050565b600061082c8383610f91565b6001905092915050565b6060600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806112ce6022913960400191505060405180910390fd5b6108e6610627565b905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109cb5780601f106109a0576101008083540402835291602001916109cb565b820191906000526020600020905b8154815290600101906020018083116109ae57829003601f168201915b5050505050905090565b60006109e1838361112c565b6001905092915050565b6000610a76338484600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403610b1e565b6001905092915050565b6000610a8d338484610d15565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ba4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806113586024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c2a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806112f06022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d9b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806113336025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e21576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806112ab6023913960400191505060405180910390fd5b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054016000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611034576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b8060025401600281905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054016000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806113126021913960400191505060405180910390fd5b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054036000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508060025403600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f6e2e45524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220053e6c5f402483fd7fec1d251421e71668053a033fd2ba0febbb18e050055cd064736f6c634300060c0033", | |
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80634affb2601161008c5780639dc29fac116100665780639dc29fac14610483578063a457c2d7146104e7578063a9059cbb1461054b578063dd62ed3e146105af576100cf565b80634affb2601461032557806370a08231146103a857806395d89b4114610400576100cf565b806306fdde03146100d4578063095ea7b31461015757806318160ddd146101bb57806323b872dd146101d9578063395093511461025d57806340c10f19146102c1575b600080fd5b6100dc610627565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561011c578082015181840152602081019050610101565b50505050905090810190601f1680156101495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a36004803603604081101561016d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106c9565b60405180821515815260200191505060405180910390f35b6101c36106e0565b6040518082815260200191505060405180910390f35b610245600480360360608110156101ef57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106ea565b60405180821515815260200191505060405180910390f35b6102a96004803603604081101561027357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061078b565b60405180821515815260200191505060405180910390f35b61030d600480360360408110156102d757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610820565b60405180821515815260200191505060405180910390f35b61032d610836565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561036d578082015181840152602081019050610352565b50505050905090810190601f16801561039a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103ea600480360360208110156103be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108eb565b6040518082815260200191505060405180910390f35b610408610933565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561044857808201518184015260208101905061042d565b50505050905090810190601f1680156104755780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104cf6004803603604081101561049957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109d5565b60405180821515815260200191505060405180910390f35b610533600480360360408110156104fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109eb565b60405180821515815260200191505060405180910390f35b6105976004803603604081101561056157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a80565b60405180821515815260200191505060405180910390f35b610611600480360360408110156105c557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a97565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106bf5780601f10610694576101008083540402835291602001916106bf565b820191906000526020600020905b8154815290600101906020018083116106a257829003601f168201915b5050505050905090565b60006106d6338484610b1e565b6001905092915050565b6000600254905090565b60006106f7848484610d15565b610780843384600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403610b1e565b600190509392505050565b6000610816338484600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401610b1e565b6001905092915050565b600061082c8383610f91565b6001905092915050565b6060600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806112ce6022913960400191505060405180910390fd5b6108e6610627565b905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109cb5780601f106109a0576101008083540402835291602001916109cb565b820191906000526020600020905b8154815290600101906020018083116109ae57829003601f168201915b5050505050905090565b60006109e1838361112c565b6001905092915050565b6000610a76338484600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403610b1e565b6001905092915050565b6000610a8d338484610d15565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ba4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806113586024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c2a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806112f06022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d9b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806113336025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e21576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806112ab6023913960400191505060405180910390fd5b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054016000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611034576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b8060025401600281905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054016000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806113126021913960400191505060405180910390fd5b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054036000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508060025403600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f6e2e45524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220053e6c5f402483fd7fec1d251421e71668053a033fd2ba0febbb18e050055cd064736f6c634300060c0033", | |
"immutableReferences": {}, | |
"sourceMap": "70:666:1:-:0;;;110:249;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;256:4;262:6;270:11;283:10;547:4:0;539:5;:12;;;;;;;;;;;;:::i;:::-;;571:6;561:7;:16;;;;;;;;;;;;:::i;:::-;;587:30;593:11;606:10;587:5;;;:30;;:::i;:::-;426:198;;;;86:10:2;78:5;;:18;;;;;;;;;;;;;;;;;;110:249:1;;;;70:666;;2697:296:0;2791:1;2772:21;;:7;:21;;;;2764:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2870:6;2855:12;;:21;2840:12;:36;;;;2928:6;2907:9;:18;2917:7;2907:18;;;;;;;;;;;;;;;;:27;2886:9;:18;2896:7;2886:18;;;;;;;;;;;;;;;:48;;;;2970:7;2949:37;;2966:1;2949:37;;;2979:6;2949:37;;;;;;;;;;;;;;;;;;2697:296;;:::o;70:666:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", | |
"deployedSourceMap": "70:666:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;630:126:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1445:147;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;892:126;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1598:249;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1853:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;365:129:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;635:99;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1023:126:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;761;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;500:129:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2059:210:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1286:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1154:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;630;702:13;726:5;719:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;630:126;:::o;1445:147::-;1511:4;1527:37;1536:10;1548:7;1557:6;1527:8;:37::i;:::-;1581:4;1574:11;;1445:147;;;;:::o;892:126::-;964:7;988:12;;981:19;;892:126;:::o;1598:249::-;1687:4;1703:36;1713:6;1721:9;1732:6;1703:9;:36::i;:::-;1749:70;1758:6;1766:10;1812:6;1778:11;:19;1790:6;1778:19;;;;;;;;;;;;;;;:31;1798:10;1778:31;;;;;;;;;;;;;;;;:40;1749:8;:70::i;:::-;1836:4;1829:11;;1598:249;;;;;:::o;1853:200::-;1933:4;1949:76;1958:10;1970:7;2014:10;1979:11;:23;1991:10;1979:23;;;;;;;;;;;;;;;:32;2003:7;1979:32;;;;;;;;;;;;;;;;:45;1949:8;:76::i;:::-;2042:4;2035:11;;1853:200;;;;:::o;365:129:1:-;428:4;444:22;450:7;459:6;444:5;:22::i;:::-;483:4;476:11;;365:129;;;;:::o;635:99::-;689:13;180:5:2;;;;;;;;;;;166:19;;:10;:19;;;158:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;721:6:1::1;:4;:6::i;:::-;714:13;;635:99:::0;:::o;1023:126:0:-;1095:7;1119:9;:18;1129:7;1119:18;;;;;;;;;;;;;;;;1112:25;;1023:126;;;:::o;761:::-;833:13;857:7;850:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;761:126;:::o;500:129:1:-;563:4;579:22;585:7;594:6;579:5;:22::i;:::-;618:4;611:11;;500:129;;;;:::o;2059:210:0:-;2144:4;2160:81;2169:10;2181:7;2225:15;2190:11;:23;2202:10;2190:23;;;;;;;;;;;;;;;:32;2214:7;2190:32;;;;;;;;;;;;;;;;:50;2160:8;:81::i;:::-;2258:4;2251:11;;2059:210;;;;:::o;1286:153::-;1355:4;1371:40;1381:10;1393:9;1404:6;1371:9;:40::i;:::-;1428:4;1421:11;;1286:153;;;;:::o;1154:126::-;1226:7;1250:11;:18;1262:5;1250:18;;;;;;;;;;;;;;;:27;1269:7;1250:27;;;;;;;;;;;;;;;;1243:34;;1154:126;;;;:::o;3303:332::-;3413:1;3396:19;;:5;:19;;;;3388:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3493:1;3474:21;;:7;:21;;;;3466:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3575:6;3545:11;:18;3557:5;3545:18;;;;;;;;;;;;;;;:27;3564:7;3545:27;;;;;;;;;;;;;;;:36;;;;3612:7;3596:32;;3605:5;3596:32;;;3621:6;3596:32;;;;;;;;;;;;;;;;;;3303:332;;;:::o;2275:416::-;2390:1;2372:20;;:6;:20;;;;2364:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2473:1;2452:23;;:9;:23;;;;2444:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2566:6;2546:9;:17;2556:6;2546:17;;;;;;;;;;;;;;;;:26;2526:9;:17;2536:6;2526:17;;;;;;;;;;;;;;;:46;;;;2628:6;2605:9;:20;2615:9;2605:20;;;;;;;;;;;;;;;;:29;2582:9;:20;2592:9;2582:20;;;;;;;;;;;;;;;:52;;;;2666:9;2649:35;;2658:6;2649:35;;;2677:6;2649:35;;;;;;;;;;;;;;;;;;2275:416;;;:::o;2697:296::-;2791:1;2772:21;;:7;:21;;;;2764:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2870:6;2855:12;;:21;2840:12;:36;;;;2928:6;2907:9;:18;2917:7;2907:18;;;;;;;;;;;;;;;;:27;2886:9;:18;2896:7;2886:18;;;;;;;;;;;;;;;:48;;;;2970:7;2949:37;;2966:1;2949:37;;;2979:6;2949:37;;;;;;;;;;;;;;;;;;2697:296;;:::o;2999:298::-;3093:1;3074:21;;:7;:21;;;;3066:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3186:6;3165:9;:18;3175:7;3165:18;;;;;;;;;;;;;;;;:27;3144:9;:18;3154:7;3144:18;;;;;;;;;;;;;;;:48;;;;3232:6;3217:12;;:21;3202:12;:36;;;;3279:1;3253:37;;3262:7;3253:37;;;3283:6;3253:37;;;;;;;;;;;;;;;;;;2999:298;;:::o", | |
"source": "pragma solidity >=0.6.0;\nimport \"./ERC20.sol\";\nimport \"./Owned.sol\";\n\ncontract ERC20EXT is ERC20, Owned {\n constructor(\n string memory name,\n string memory symbol,\n address initAccount,\n uint256 initSupply\n ) public ERC20(name, symbol, initAccount, initSupply) {\n // solhint-disable-previous-line no-empty-blocks\n }\n\n function mint(address account, uint256 amount) public returns (bool) {\n _mint(account, amount);\n return true;\n }\n\n function burn(address account, uint256 amount) public returns (bool) {\n _burn(account, amount);\n return true;\n }\n\n function displayName() public view onlyOwner returns (string memory) {\n return name();\n }\n}\n", | |
"sourcePath": "/home/andrei/projects/firefly/tests/demos/firefly-demo/contracts/ERC20EXT.sol", | |
"ast": { | |
"absolutePath": "/home/andrei/projects/firefly/tests/demos/firefly-demo/contracts/ERC20EXT.sol", | |
"exportedSymbols": { | |
"ERC20EXT": [ | |
493 | |
] | |
}, | |
"id": 494, | |
"license": null, | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 423, | |
"literals": [ | |
"solidity", | |
">=", | |
"0.6", | |
".0" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "0:24:1" | |
}, | |
{ | |
"absolutePath": "/home/andrei/projects/firefly/tests/demos/firefly-demo/contracts/ERC20.sol", | |
"file": "./ERC20.sol", | |
"id": 424, | |
"nodeType": "ImportDirective", | |
"scope": 494, | |
"sourceUnit": 422, | |
"src": "25:21:1", | |
"symbolAliases": [], | |
"unitAlias": "" | |
}, | |
{ | |
"absolutePath": "/home/andrei/projects/firefly/tests/demos/firefly-demo/contracts/Owned.sol", | |
"file": "./Owned.sol", | |
"id": 425, | |
"nodeType": "ImportDirective", | |
"scope": 494, | |
"sourceUnit": 520, | |
"src": "47:21:1", | |
"symbolAliases": [], | |
"unitAlias": "" | |
}, | |
{ | |
"abstract": false, | |
"baseContracts": [ | |
{ | |
"arguments": null, | |
"baseName": { | |
"contractScope": null, | |
"id": 426, | |
"name": "ERC20", | |
"nodeType": "UserDefinedTypeName", | |
"referencedDeclaration": 421, | |
"src": "91:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_ERC20_$421", | |
"typeString": "contract ERC20" | |
} | |
}, | |
"id": 427, | |
"nodeType": "InheritanceSpecifier", | |
"src": "91:5:1" | |
}, | |
{ | |
"arguments": null, | |
"baseName": { | |
"contractScope": null, | |
"id": 428, | |
"name": "Owned", | |
"nodeType": "UserDefinedTypeName", | |
"referencedDeclaration": 519, | |
"src": "98:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_Owned_$519", | |
"typeString": "contract Owned" | |
} | |
}, | |
"id": 429, | |
"nodeType": "InheritanceSpecifier", | |
"src": "98:5:1" | |
} | |
], | |
"contractDependencies": [ | |
421, | |
519 | |
], | |
"contractKind": "contract", | |
"documentation": null, | |
"fullyImplemented": true, | |
"id": 493, | |
"linearizedBaseContracts": [ | |
493, | |
519, | |
421 | |
], | |
"name": "ERC20EXT", | |
"nodeType": "ContractDefinition", | |
"nodes": [ | |
{ | |
"body": { | |
"id": 446, | |
"nodeType": "Block", | |
"src": "295:64:1", | |
"statements": [] | |
}, | |
"documentation": null, | |
"id": 447, | |
"implemented": true, | |
"kind": "constructor", | |
"modifiers": [ | |
{ | |
"arguments": [ | |
{ | |
"argumentTypes": null, | |
"id": 440, | |
"name": "name", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 431, | |
"src": "256:4:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory_ptr", | |
"typeString": "string memory" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 441, | |
"name": "symbol", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 433, | |
"src": "262:6:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory_ptr", | |
"typeString": "string memory" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 442, | |
"name": "initAccount", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 435, | |
"src": "270:11:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 443, | |
"name": "initSupply", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 437, | |
"src": "283:10:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"id": 444, | |
"modifierName": { | |
"argumentTypes": null, | |
"id": 439, | |
"name": "ERC20", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 421, | |
"src": "250:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_contract$_ERC20_$421_$", | |
"typeString": "type(contract ERC20)" | |
} | |
}, | |
"nodeType": "ModifierInvocation", | |
"src": "250:44:1" | |
} | |
], | |
"name": "", | |
"nodeType": "FunctionDefinition", | |
"overrides": null, | |
"parameters": { | |
"id": 438, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 431, | |
"mutability": "mutable", | |
"name": "name", | |
"nodeType": "VariableDeclaration", | |
"overrides": null, | |
"scope": 447, | |
"src": "131:18:1", | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory_ptr", | |
"typeString": "string" | |
}, | |
"typeName": { | |
"id": 430, | |
"name": "string", | |
"nodeType": "ElementaryTypeName", | |
"src": "131:6:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_storage_ptr", | |
"typeString": "string" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 433, | |
"mutability": "mutable", | |
"name": "symbol", | |
"nodeType": "VariableDeclaration", | |
"overrides": null, | |
"scope": 447, | |
"src": "159:20:1", | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory_ptr", | |
"typeString": "string" | |
}, | |
"typeName": { | |
"id": 432, | |
"name": "string", | |
"nodeType": "ElementaryTypeName", | |
"src": "159:6:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_storage_ptr", | |
"typeString": "string" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 435, | |
"mutability": "mutable", | |
"name": "initAccount", | |
"nodeType": "VariableDeclaration", | |
"overrides": null, | |
"scope": 447, | |
"src": "189:19:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 434, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "189:7:1", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 437, | |
"mutability": "mutable", | |
"name": "initSupply", | |
"nodeType": "VariableDeclaration", | |
"overrides": null, | |
"scope": 447, | |
"src": "218:18:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 436, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "218:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "121:121:1" | |
}, | |
"returnParameters": { | |
"id": 445, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "295:0:1" | |
}, | |
"scope": 493, | |
"src": "110:249:1", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 463, | |
"nodeType": "Block", | |
"src": "434:60:1", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"arguments": [ | |
{ | |
"argumentTypes": null, | |
"id": 457, | |
"name": "account", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 449, | |
"src": "450:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 458, | |
"name": "amount", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 451, | |
"src": "459:6:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"id": 456, | |
"name": "_mint", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 333, | |
"src": "444:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", | |
"typeString": "function (address,uint256)" | |
} | |
}, | |
"id": 459, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "444:22:1", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 460, | |
"nodeType": "ExpressionStatement", | |
"src": "444:22:1" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "74727565", | |
"id": 461, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "483:4:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 455, | |
"id": 462, | |
"nodeType": "Return", | |
"src": "476:11:1" | |
} | |
] | |
}, | |
"documentation": null, | |
"functionSelector": "40c10f19", | |
"id": 464, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "mint", | |
"nodeType": "FunctionDefinition", | |
"overrides": null, | |
"parameters": { | |
"id": 452, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 449, | |
"mutability": "mutable", | |
"name": "account", | |
"nodeType": "VariableDeclaration", | |
"overrides": null, | |
"scope": 464, | |
"src": "379:15:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 448, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "379:7:1", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 451, | |
"mutability": "mutable", | |
"name": "amount", | |
"nodeType": "VariableDeclaration", | |
"overrides": null, | |
"scope": 464, | |
"src": "396:14:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 450, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "396:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "378:33:1" | |
}, | |
"returnParameters": { | |
"id": 455, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 454, | |
"mutability": "mutable", | |
"name": "", | |
"nodeType": "VariableDeclaration", | |
"overrides": null, | |
"scope": 464, | |
"src": "428:4:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 453, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "428:4:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "427:6:1" | |
}, | |
"scope": 493, | |
"src": "365:129:1", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 480, | |
"nodeType": "Block", | |
"src": "569:60:1", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"arguments": [ | |
{ | |
"argumentTypes": null, | |
"id": 474, | |
"name": "account", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 466, | |
"src": "585:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 475, | |
"name": "amount", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 468, | |
"src": "594:6:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"id": 473, | |
"name": "_burn", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 376, | |
"src": "579:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", | |
"typeString": "function (address,uint256)" | |
} | |
}, | |
"id": 476, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "579:22:1", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 477, | |
"nodeType": "ExpressionStatement", | |
"src": "579:22:1" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "74727565", | |
"id": 478, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "618:4:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 472, | |
"id": 479, | |
"nodeType": "Return", | |
"src": "611:11:1" | |
} | |
] | |
}, | |
"documentation": null, | |
"functionSelector": "9dc29fac", | |
"id": 481, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "burn", | |
"nodeType": "FunctionDefinition", | |
"overrides": null, | |
"parameters": { | |
"id": 469, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 466, | |
"mutability": "mutable", | |
"name": "account", | |
"nodeType": "VariableDeclaration", | |
"overrides": null, | |
"scope": 481, | |
"src": "514:15:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 465, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "514:7:1", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 468, | |
"mutability": "mutable", | |
"name": "amount", | |
"nodeType": "VariableDeclaration", | |
"overrides": null, | |
"scope": 481, | |
"src": "531:14:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 467, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "531:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "513:33:1" | |
}, | |
"returnParameters": { | |
"id": 472, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 471, | |
"mutability": "mutable", | |
"name": "", | |
"nodeType": "VariableDeclaration", | |
"overrides": null, | |
"scope": 481, | |
"src": "563:4:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 470, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "563:4:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "562:6:1" | |
}, | |
"scope": 493, | |
"src": "500:129:1", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 491, | |
"nodeType": "Block", | |
"src": "704:30:1", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"arguments": [], | |
"expression": { | |
"argumentTypes": [], | |
"id": 488, | |
"name": "name", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 66, | |
"src": "721:4:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", | |
"typeString": "function () view returns (string memory)" | |
} | |
}, | |
"id": 489, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "721:6:1", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory_ptr", | |
"typeString": "string memory" | |
} | |
}, | |
"functionReturnParameters": 487, | |
"id": 490, | |
"nodeType": "Return", | |
"src": "714:13:1" | |
} | |
] | |
}, | |
"documentation": null, | |
"functionSelector": "4affb260", | |
"id": 492, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [ | |
{ | |
"arguments": null, | |
"id": 484, | |
"modifierName": { | |
"argumentTypes": null, | |
"id": 483, | |
"name": "onlyOwner", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 518, | |
"src": "670:9:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_modifier$__$", | |
"typeString": "modifier ()" | |
} | |
}, | |
"nodeType": "ModifierInvocation", | |
"src": "670:9:1" | |
} | |
], | |
"name": "displayName", | |
"nodeType": "FunctionDefinition", | |
"overrides": null, | |
"parameters": { | |
"id": 482, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "655:2:1" | |
}, | |
"returnParameters": { | |
"id": 487, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 486, | |
"mutability": "mutable", | |
"name": "", | |
"nodeType": "VariableDeclaration", | |
"overrides": null, | |
"scope": 492, | |
"src": "689:13:1", | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory_ptr", | |
"typeString": "string" | |
}, | |
"typeName": { | |
"id": 485, | |
"name": "string", | |
"nodeType": "ElementaryTypeName", | |
"src": "689:6:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_storage_ptr", | |
"typeString": "string" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "688:15:1" | |
}, | |
"scope": 493, | |
"src": "635:99:1", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "public" | |
} | |
], | |
"scope": 494, | |
"src": "70:666:1" | |
} | |
], | |
"src": "0:737:1" | |
}, | |
"legacyAST": { | |
"attributes": { | |
"absolutePath": "/home/andrei/projects/firefly/tests/demos/firefly-demo/contracts/ERC20EXT.sol", | |
"exportedSymbols": { | |
"ERC20EXT": [ | |
493 | |
] | |
}, | |
"license": null | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"literals": [ | |
"solidity", | |
">=", | |
"0.6", | |
".0" | |
] | |
}, | |
"id": 423, | |
"name": "PragmaDirective", | |
"src": "0:24:1" | |
}, | |
{ | |
"attributes": { | |
"SourceUnit": 422, | |
"absolutePath": "/home/andrei/projects/firefly/tests/demos/firefly-demo/contracts/ERC20.sol", | |
"file": "./ERC20.sol", | |
"scope": 494, | |
"symbolAliases": [ | |
null | |
], | |
"unitAlias": "" | |
}, | |
"id": 424, | |
"name": "ImportDirective", | |
"src": "25:21:1" | |
}, | |
{ | |
"attributes": { | |
"SourceUnit": 520, | |
"absolutePath": "/home/andrei/projects/firefly/tests/demos/firefly-demo/contracts/Owned.sol", | |
"file": "./Owned.sol", | |
"scope": 494, | |
"symbolAliases": [ | |
null | |
], | |
"unitAlias": "" | |
}, | |
"id": 425, | |
"name": "ImportDirective", | |
"src": "47:21:1" | |
}, | |
{ | |
"attributes": { | |
"abstract": false, | |
"contractDependencies": [ | |
421, | |
519 | |
], | |
"contractKind": "contract", | |
"documentation": null, | |
"fullyImplemented": true, | |
"linearizedBaseContracts": [ | |
493, | |
519, | |
421 | |
], | |
"name": "ERC20EXT", | |
"scope": 494 | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"arguments": null | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"contractScope": null, | |
"name": "ERC20", | |
"referencedDeclaration": 421, | |
"type": "contract ERC20" | |
}, | |
"id": 426, | |
"name": "UserDefinedTypeName", | |
"src": "91:5:1" | |
} | |
], | |
"id": 427, | |
"name": "InheritanceSpecifier", | |
"src": "91:5:1" | |
}, | |
{ | |
"attributes": { | |
"arguments": null | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"contractScope": null, | |
"name": "Owned", | |
"referencedDeclaration": 519, | |
"type": "contract Owned" | |
}, | |
"id": 428, | |
"name": "UserDefinedTypeName", | |
"src": "98:5:1" | |
} | |
], | |
"id": 429, | |
"name": "InheritanceSpecifier", | |
"src": "98:5:1" | |
}, | |
{ | |
"attributes": { | |
"documentation": null, | |
"implemented": true, | |
"isConstructor": true, | |
"kind": "constructor", | |
"name": "", | |
"overrides": null, | |
"scope": 493, | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"mutability": "mutable", | |
"name": "name", | |
"overrides": null, | |
"scope": 447, | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"type": "string", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "string", | |
"type": "string" | |
}, | |
"id": 430, | |
"name": "ElementaryTypeName", | |
"src": "131:6:1" | |
} | |
], | |
"id": 431, | |
"name": "VariableDeclaration", | |
"src": "131:18:1" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"mutability": "mutable", | |
"name": "symbol", | |
"overrides": null, | |
"scope": 447, | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"type": "string", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "string", | |
"type": "string" | |
}, | |
"id": 432, | |
"name": "ElementaryTypeName", | |
"src": "159:6:1" | |
} | |
], | |
"id": 433, | |
"name": "VariableDeclaration", | |
"src": "159:20:1" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"mutability": "mutable", | |
"name": "initAccount", | |
"overrides": null, | |
"scope": 447, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "address", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"stateMutability": "nonpayable", | |
"type": "address" | |
}, | |
"id": 434, | |
"name": "ElementaryTypeName", | |
"src": "189:7:1" | |
} | |
], | |
"id": 435, | |
"name": "VariableDeclaration", | |
"src": "189:19:1" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"mutability": "mutable", | |
"name": "initSupply", | |
"overrides": null, | |
"scope": 447, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 436, | |
"name": "ElementaryTypeName", | |
"src": "218:7:1" | |
} | |
], | |
"id": 437, | |
"name": "VariableDeclaration", | |
"src": "218:18:1" | |
} | |
], | |
"id": 438, | |
"name": "ParameterList", | |
"src": "121:121:1" | |
}, | |
{ | |
"attributes": { | |
"parameters": [ | |
null | |
] | |
}, | |
"children": [], | |
"id": 445, | |
"name": "ParameterList", | |
"src": "295:0:1" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 421, | |
"type": "type(contract ERC20)", | |
"value": "ERC20" | |
}, | |
"id": 439, | |
"name": "Identifier", | |
"src": "250:5:1" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 431, | |
"type": "string memory", | |
"value": "name" | |
}, | |
"id": 440, | |
"name": "Identifier", | |
"src": "256:4:1" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 433, | |
"type": "string memory", | |
"value": "symbol" | |
}, | |
"id": 441, | |
"name": "Identifier", | |
"src": "262:6:1" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 435, | |
"type": "address", | |
"value": "initAccount" | |
}, | |
"id": 442, | |
"name": "Identifier", | |
"src": "270:11:1" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 437, | |
"type": "uint256", | |
"value": "initSupply" | |
}, | |
"id": 443, | |
"name": "Identifier", | |
"src": "283:10:1" | |
} | |
], | |
"id": 444, | |
"name": "ModifierInvocation", | |
"src": "250:44:1" | |
}, | |
{ | |
"attributes": { | |
"statements": [ | |
null | |
] | |
}, | |
"children": [], | |
"id": 446, | |
"name": "Block", | |
"src": "295:64:1" | |
} | |
], | |
"id": 447, | |
"name": "FunctionDefinition", | |
"src": "110:249:1" | |
}, | |
{ | |
"attributes": { | |
"documentation": null, | |
"functionSelector": "40c10f19", | |
"implemented": true, | |
"isConstructor": false, | |
"kind": "function", | |
"modifiers": [ | |
null | |
], | |
"name": "mint", | |
"overrides": null, | |
"scope": 493, | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"mutability": "mutable", | |
"name": "account", | |
"overrides": null, | |
"scope": 464, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "address", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"stateMutability": "nonpayable", | |
"type": "address" | |
}, | |
"id": 448, | |
"name": "ElementaryTypeName", | |
"src": "379:7:1" | |
} | |
], | |
"id": 449, | |
"name": "VariableDeclaration", | |
"src": "379:15:1" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"mutability": "mutable", | |
"name": "amount", | |
"overrides": null, | |
"scope": 464, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 450, | |
"name": "ElementaryTypeName", | |
"src": "396:7:1" | |
} | |
], | |
"id": 451, | |
"name": "VariableDeclaration", | |
"src": "396:14:1" | |
} | |
], | |
"id": 452, | |
"name": "ParameterList", | |
"src": "378:33:1" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"mutability": "mutable", | |
"name": "", | |
"overrides": null, | |
"scope": 464, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "bool", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "bool", | |
"type": "bool" | |
}, | |
"id": 453, | |
"name": "ElementaryTypeName", | |
"src": "428:4:1" | |
} | |
], | |
"id": 454, | |
"name": "VariableDeclaration", | |
"src": "428:4:1" | |
} | |
], | |
"id": 455, | |
"name": "ParameterList", | |
"src": "427:6:1" | |
}, | |
{ | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"isStructConstructorCall": false, | |
"lValueRequested": false, | |
"names": [ | |
null | |
], | |
"tryCall": false, | |
"type": "tuple()", | |
"type_conversion": false | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 333, | |
"type": "function (address,uint256)", | |
"value": "_mint" | |
}, | |
"id": 456, | |
"name": "Identifier", | |
"src": "444:5:1" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 449, | |
"type": "address", | |
"value": "account" | |
}, | |
"id": 457, | |
"name": "Identifier", | |
"src": "450:7:1" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 451, | |
"type": "uint256", | |
"value": "amount" | |
}, | |
"id": 458, | |
"name": "Identifier", | |
"src": "459:6:1" | |
} | |
], | |
"id": 459, | |
"name": "FunctionCall", | |
"src": "444:22:1" | |
} | |
], | |
"id": 460, | |
"name": "ExpressionStatement", | |
"src": "444:22:1" | |
}, | |
{ | |
"attributes": { | |
"functionReturnParameters": 455 | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"hexvalue": "74727565", | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"subdenomination": null, | |
"token": "bool", | |
"type": "bool", | |
"value": "true" | |
}, | |
"id": 461, | |
"name": "Literal", | |
"src": "483:4:1" | |
} | |
], | |
"id": 462, | |
"name": "Return", | |
"src": "476:11:1" | |
} | |
], | |
"id": 463, | |
"name": "Block", | |
"src": "434:60:1" | |
} | |
], | |
"id": 464, | |
"name": "FunctionDefinition", | |
"src": "365:129:1" | |
}, | |
{ | |
"attributes": { | |
"documentation": null, | |
"functionSelector": "9dc29fac", | |
"implemented": true, | |
"isConstructor": false, | |
"kind": "function", | |
"modifiers": [ | |
null | |
], | |
"name": "burn", | |
"overrides": null, | |
"scope": 493, | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"mutability": "mutable", | |
"name": "account", | |
"overrides": null, | |
"scope": 481, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "address", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"stateMutability": "nonpayable", | |
"type": "address" | |
}, | |
"id": 465, | |
"name": "ElementaryTypeName", | |
"src": "514:7:1" | |
} | |
], | |
"id": 466, | |
"name": "VariableDeclaration", | |
"src": "514:15:1" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"mutability": "mutable", | |
"name": "amount", | |
"overrides": null, | |
"scope": 481, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 467, | |
"name": "ElementaryTypeName", | |
"src": "531:7:1" | |
} | |
], | |
"id": 468, | |
"name": "VariableDeclaration", | |
"src": "531:14:1" | |
} | |
], | |
"id": 469, | |
"name": "ParameterList", | |
"src": "513:33:1" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"mutability": "mutable", | |
"name": "", | |
"overrides": null, | |
"scope": 481, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "bool", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "bool", | |
"type": "bool" | |
}, | |
"id": 470, | |
"name": "ElementaryTypeName", | |
"src": "563:4:1" | |
} | |
], | |
"id": 471, | |
"name": "VariableDeclaration", | |
"src": "563:4:1" | |
} | |
], | |
"id": 472, | |
"name": "ParameterList", | |
"src": "562:6:1" | |
}, | |
{ | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"isStructConstructorCall": false, | |
"lValueRequested": false, | |
"names": [ | |
null | |
], | |
"tryCall": false, | |
"type": "tuple()", | |
"type_conversion": false | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 376, | |
"type": "function (address,uint256)", | |
"value": "_burn" | |
}, | |
"id": 473, | |
"name": "Identifier", | |
"src": "579:5:1" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 466, | |
"type": "address", | |
"value": "account" | |
}, | |
"id": 474, | |
"name": "Identifier", | |
"src": "585:7:1" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 468, | |
"type": "uint256", | |
"value": "amount" | |
}, | |
"id": 475, | |
"name": "Identifier", | |
"src": "594:6:1" | |
} | |
], | |
"id": 476, | |
"name": "FunctionCall", | |
"src": "579:22:1" | |
} | |
], | |
"id": 477, | |
"name": "ExpressionStatement", | |
"src": "579:22:1" | |
}, | |
{ | |
"attributes": { | |
"functionReturnParameters": 472 | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"hexvalue": "74727565", | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"subdenomination": null, | |
"token": "bool", | |
"type": "bool", | |
"value": "true" | |
}, | |
"id": 478, | |
"name": "Literal", | |
"src": "618:4:1" | |
} | |
], | |
"id": 479, | |
"name": "Return", | |
"src": "611:11:1" | |
} | |
], | |
"id": 480, | |
"name": "Block", | |
"src": "569:60:1" | |
} | |
], | |
"id": 481, | |
"name": "FunctionDefinition", | |
"src": "500:129:1" | |
}, | |
{ | |
"attributes": { | |
"documentation": null, | |
"functionSelector": "4affb260", | |
"implemented": true, | |
"isConstructor": false, | |
"kind": "function", | |
"name": "displayName", | |
"overrides": null, | |
"scope": 493, | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"parameters": [ | |
null | |
] | |
}, | |
"children": [], | |
"id": 482, | |
"name": "ParameterList", | |
"src": "655:2:1" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"mutability": "mutable", | |
"name": "", | |
"overrides": null, | |
"scope": 492, | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"type": "string", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "string", | |
"type": "string" | |
}, | |
"id": 485, | |
"name": "ElementaryTypeName", | |
"src": "689:6:1" | |
} | |
], | |
"id": 486, | |
"name": "VariableDeclaration", | |
"src": "689:13:1" | |
} | |
], | |
"id": 487, | |
"name": "ParameterList", | |
"src": "688:15:1" | |
}, | |
{ | |
"attributes": { | |
"arguments": null | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 518, | |
"type": "modifier ()", | |
"value": "onlyOwner" | |
}, | |
"id": 483, | |
"name": "Identifier", | |
"src": "670:9:1" | |
} | |
], | |
"id": 484, | |
"name": "ModifierInvocation", | |
"src": "670:9:1" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"functionReturnParameters": 487 | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"arguments": [ | |
null | |
], | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"isStructConstructorCall": false, | |
"lValueRequested": false, | |
"names": [ | |
null | |
], | |
"tryCall": false, | |
"type": "string memory", | |
"type_conversion": false | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": [ | |
null | |
], | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 66, | |
"type": "function () view returns (string memory)", | |
"value": "name" | |
}, | |
"id": 488, | |
"name": "Identifier", | |
"src": "721:4:1" | |
} | |
], | |
"id": 489, | |
"name": "FunctionCall", | |
"src": "721:6:1" | |
} | |
], | |
"id": 490, | |
"name": "Return", | |
"src": "714:13:1" | |
} | |
], | |
"id": 491, | |
"name": "Block", | |
"src": "704:30:1" | |
} | |
], | |
"id": 492, | |
"name": "FunctionDefinition", | |
"src": "635:99:1" | |
} | |
], | |
"id": 493, | |
"name": "ContractDefinition", | |
"src": "70:666:1" | |
} | |
], | |
"id": 494, | |
"name": "SourceUnit", | |
"src": "0:737:1" | |
}, | |
"compiler": { | |
"name": "solc", | |
"version": "0.6.12+commit.27d51765.Emscripten.clang" | |
}, | |
"networks": {}, | |
"schemaVersion": "3.3.3", | |
"updatedAt": "2021-08-04T09:15:23.765Z", | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment