Skip to content

Instantly share code, notes, and snippets.

@anvacaru
Created August 6, 2021 12:53
Show Gist options
  • Save anvacaru/5be17918d3ef210ab7cbe7069a9ed9c2 to your computer and use it in GitHub Desktop.
Save anvacaru/5be17918d3ef210ab7cbe7069a9ed9c2 to your computer and use it in GitHub Desktop.
{
"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