From 75fe910d0811b2e8bdbd9fce4c3a0d387a8c4796 Mon Sep 17 00:00:00 2001 From: apanizo Date: Tue, 17 Jul 2018 13:30:31 +0200 Subject: [PATCH] WA-232 Adding ERC20 tokens contracts without human readable properties like synmbol or name --- .../{ERC20Interface.json => EmptyToken.json} | 4018 +++-- .../build/contracts/test/Owned.json | 14264 ---------------- .../build/contracts/test/SafeMath.json | 14189 --------------- .../{FixedSupplyToken.json => TestToken.json} | 5609 +++--- .../tokens/store/actions/fetchTokens.js | 10 + src/test/utils/tokenMovements.js | 2 +- 6 files changed, 4749 insertions(+), 33343 deletions(-) rename safe-contracts/build/contracts/test/{ERC20Interface.json => EmptyToken.json} (85%) delete mode 100644 safe-contracts/build/contracts/test/Owned.json delete mode 100644 safe-contracts/build/contracts/test/SafeMath.json rename safe-contracts/build/contracts/test/{FixedSupplyToken.json => TestToken.json} (81%) diff --git a/safe-contracts/build/contracts/test/ERC20Interface.json b/safe-contracts/build/contracts/test/EmptyToken.json similarity index 85% rename from safe-contracts/build/contracts/test/ERC20Interface.json rename to safe-contracts/build/contracts/test/EmptyToken.json index 6f728a43..7c27f435 100644 --- a/safe-contracts/build/contracts/test/ERC20Interface.json +++ b/safe-contracts/build/contracts/test/EmptyToken.json @@ -1,6 +1,99 @@ { - "contractName": "ERC20Interface", + "contractName": "EmptyToken", "abi": [ + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "newOwner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_from", + "type": "address" + }, + { + "indexed": true, + "name": "_to", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -78,29 +171,6 @@ "stateMutability": "view", "type": "function" }, - { - "constant": true, - "inputs": [ - { - "name": "tokenOwner", - "type": "address" - }, - { - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "name": "remaining", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, { "constant": false, "inputs": [ @@ -173,16 +243,89 @@ "payable": false, "stateMutability": "nonpayable", "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "tokenOwner", + "type": "address" + }, + { + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "name": "remaining", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "spender", + "type": "address" + }, + { + "name": "tokens", + "type": "uint256" + }, + { + "name": "data", + "type": "bytes" + } + ], + "name": "approveAndCall", + "outputs": [ + { + "name": "success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "tokenAddress", + "type": "address" + }, + { + "name": "tokens", + "type": "uint256" + } + ], + "name": "transferAnyERC20Token", + "outputs": [ + { + "name": "success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" } ], - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.4.24;\n\n// ----------------------------------------------------------------------------\n// 'FIXED' 'Example Fixed Supply Token' token contract\n//\n// Symbol : FIXED\n// Name : Example Fixed Supply Token\n// Total supply: 1,000,000.000000000000000000\n// Decimals : 18\n//\n// Enjoy.\n//\n// (c) BokkyPooBah / Bok Consulting Pty Ltd 2018. The MIT Licence.\n// ----------------------------------------------------------------------------\n\n\n// ----------------------------------------------------------------------------\n// Safe maths\n// ----------------------------------------------------------------------------\nlibrary SafeMath {\n function add(uint a, uint b) internal pure returns (uint c) {\n c = a + b;\n require(c >= a);\n }\n function sub(uint a, uint b) internal pure returns (uint c) {\n require(b <= a);\n c = a - b;\n }\n function mul(uint a, uint b) internal pure returns (uint c) {\n c = a * b;\n require(a == 0 || c / a == b);\n }\n function div(uint a, uint b) internal pure returns (uint c) {\n require(b > 0);\n c = a / b;\n }\n}\n\n\n// ----------------------------------------------------------------------------\n// ERC Token Standard #20 Interface\n// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md\n// ----------------------------------------------------------------------------\ncontract ERC20Interface {\n function totalSupply() public constant returns (uint);\n function balanceOf(address tokenOwner) public constant returns (uint balance);\n function allowance(address tokenOwner, address spender) public constant returns (uint remaining);\n function transfer(address to, uint tokens) public returns (bool success);\n function approve(address spender, uint tokens) public returns (bool success);\n function transferFrom(address from, address to, uint tokens) public returns (bool success);\n\n event Transfer(address indexed from, address indexed to, uint tokens);\n event Approval(address indexed tokenOwner, address indexed spender, uint tokens);\n}\n\n\n// ----------------------------------------------------------------------------\n// Contract function to receive approval and execute function in one call\n//\n// Borrowed from MiniMeToken\n// ----------------------------------------------------------------------------\ncontract ApproveAndCallFallBack {\n function receiveApproval(address from, uint256 tokens, address token, bytes data) public;\n}\n\n\n// ----------------------------------------------------------------------------\n// Owned contract\n// ----------------------------------------------------------------------------\ncontract Owned {\n address public owner;\n address public newOwner;\n\n event OwnershipTransferred(address indexed _from, address indexed _to);\n\n constructor() public {\n owner = msg.sender;\n }\n\n modifier onlyOwner {\n require(msg.sender == owner);\n _;\n }\n\n function transferOwnership(address _newOwner) public onlyOwner {\n newOwner = _newOwner;\n }\n function acceptOwnership() public {\n require(msg.sender == newOwner);\n emit OwnershipTransferred(owner, newOwner);\n owner = newOwner;\n newOwner = address(0);\n }\n}\n\n\n// ----------------------------------------------------------------------------\n// ERC20 Token, with the addition of symbol, name and decimals and a\n// fixed supply\n// ----------------------------------------------------------------------------\ncontract FixedSupplyToken is ERC20Interface, Owned {\n using SafeMath for uint;\n\n string public symbol;\n string public name;\n uint8 public decimals;\n uint _totalSupply;\n\n mapping(address => uint) balances;\n mapping(address => mapping(address => uint)) allowed;\n\n\n // ------------------------------------------------------------------------\n // Constructor\n // ------------------------------------------------------------------------\n constructor() public {\n symbol = \"TKN\";\n name = \"Token Example\";\n decimals = 18;\n _totalSupply = 1000000 * 10**uint(decimals);\n balances[owner] = _totalSupply;\n emit Transfer(address(0), owner, _totalSupply);\n }\n\n\n // ------------------------------------------------------------------------\n // Total supply\n // ------------------------------------------------------------------------\n function totalSupply() public view returns (uint) {\n return _totalSupply.sub(balances[address(0)]);\n }\n\n\n // ------------------------------------------------------------------------\n // Get the token balance for account `tokenOwner`\n // ------------------------------------------------------------------------\n function balanceOf(address tokenOwner) public view returns (uint balance) {\n return balances[tokenOwner];\n }\n\n\n // ------------------------------------------------------------------------\n // Transfer the balance from token owner's account to `to` account\n // - Owner's account must have sufficient balance to transfer\n // - 0 value transfers are allowed\n // ------------------------------------------------------------------------\n function transfer(address to, uint tokens) public returns (bool success) {\n balances[msg.sender] = balances[msg.sender].sub(tokens);\n balances[to] = balances[to].add(tokens);\n emit Transfer(msg.sender, to, tokens);\n return true;\n }\n\n\n // ------------------------------------------------------------------------\n // Token owner can approve for `spender` to transferFrom(...) `tokens`\n // from the token owner's account\n //\n // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md\n // recommends that there are no checks for the approval double-spend attack\n // as this should be implemented in user interfaces \n // ------------------------------------------------------------------------\n function approve(address spender, uint tokens) public returns (bool success) {\n allowed[msg.sender][spender] = tokens;\n emit Approval(msg.sender, spender, tokens);\n return true;\n }\n\n\n // ------------------------------------------------------------------------\n // Transfer `tokens` from the `from` account to the `to` account\n // \n // The calling account must already have sufficient tokens approve(...)-d\n // for spending from the `from` account and\n // - From account must have sufficient balance to transfer\n // - Spender must have sufficient allowance to transfer\n // - 0 value transfers are allowed\n // ------------------------------------------------------------------------\n function transferFrom(address from, address to, uint tokens) public returns (bool success) {\n balances[from] = balances[from].sub(tokens);\n allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);\n balances[to] = balances[to].add(tokens);\n emit Transfer(from, to, tokens);\n return true;\n }\n\n\n // ------------------------------------------------------------------------\n // Returns the amount of tokens approved by the owner that can be\n // transferred to the spender's account\n // ------------------------------------------------------------------------\n function allowance(address tokenOwner, address spender) public view returns (uint remaining) {\n return allowed[tokenOwner][spender];\n }\n\n\n // ------------------------------------------------------------------------\n // Token owner can approve for `spender` to transferFrom(...) `tokens`\n // from the token owner's account. The `spender` contract function\n // `receiveApproval(...)` is then executed\n // ------------------------------------------------------------------------\n function approveAndCall(address spender, uint tokens, bytes data) public returns (bool success) {\n allowed[msg.sender][spender] = tokens;\n emit Approval(msg.sender, spender, tokens);\n ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, this, data);\n return true;\n }\n\n\n // ------------------------------------------------------------------------\n // Don't accept ETH\n // ------------------------------------------------------------------------\n function () public payable {\n revert();\n }\n\n\n // ------------------------------------------------------------------------\n // Owner can transfer out any accidentally sent ERC20 tokens\n // ------------------------------------------------------------------------\n function transferAnyERC20Token(address tokenAddress, uint tokens) public onlyOwner returns (bool success) {\n return ERC20Interface(tokenAddress).transfer(owner, tokens);\n }\n}", - "sourcePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/test/MyToken.sol", + "bytecode": "0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600160146101000a81548160ff021916908360ff160217905550600160149054906101000a900460ff1660ff16600a0a620f424002600281905550600254600360008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6002546040518082815260200191505060405180910390a36112718061018d6000396000f3006080604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b3146100ca57806318160ddd1461012f57806323b872dd1461015a578063313ce567146101df57806370a082311461021057806379ba5097146102675780638da5cb5b1461027e578063a9059cbb146102d5578063cae9ca511461033a578063d4ee1d90146103e5578063dc39d06d1461043c578063dd62ed3e146104a1578063f2fde38b14610518575b600080fd5b3480156100d657600080fd5b50610115600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061055b565b604051808215151515815260200191505060405180910390f35b34801561013b57600080fd5b5061014461064d565b6040518082815260200191505060405180910390f35b34801561016657600080fd5b506101c5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106a8565b604051808215151515815260200191505060405180910390f35b3480156101eb57600080fd5b506101f4610953565b604051808260ff1660ff16815260200191505060405180910390f35b34801561021c57600080fd5b50610251600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610966565b6040518082815260200191505060405180910390f35b34801561027357600080fd5b5061027c6109af565b005b34801561028a57600080fd5b50610293610b4e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102e157600080fd5b50610320600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b73565b604051808215151515815260200191505060405180910390f35b34801561034657600080fd5b506103cb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610d0e565b604051808215151515815260200191505060405180910390f35b3480156103f157600080fd5b506103fa610f5d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561044857600080fd5b50610487600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f83565b604051808215151515815260200191505060405180910390f35b3480156104ad57600080fd5b50610502600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110e7565b6040518082815260200191505060405180910390f35b34801561052457600080fd5b50610559600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061116e565b005b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60006106a3600360008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460025461120d90919063ffffffff16565b905090565b60006106fc82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461120d90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107ce82600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461120d90919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108a082600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461122990919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600160149054906101000a900460ff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a0b57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610bc782600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461120d90919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c5c82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461122990919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600082600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610eeb578082015181840152602081019050610ed0565b50505050905090810190601f168015610f185780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610f3a57600080fd5b505af1158015610f4e573d6000803e3d6000fd5b50505050600190509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fe057600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156110a457600080fd5b505af11580156110b8573d6000803e3d6000fd5b505050506040513d60208110156110ce57600080fd5b8101908080519060200190929190505050905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111c957600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600082821115151561121e57600080fd5b818303905092915050565b6000818301905082811015151561123f57600080fd5b929150505600a165627a7a7230582086ec8e422bd8c5ddad32eb09a806eeb6d1ed5c20827c3010d77b0278f363ecbe0029", + "deployedBytecode": "0x6080604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b3146100ca57806318160ddd1461012f57806323b872dd1461015a578063313ce567146101df57806370a082311461021057806379ba5097146102675780638da5cb5b1461027e578063a9059cbb146102d5578063cae9ca511461033a578063d4ee1d90146103e5578063dc39d06d1461043c578063dd62ed3e146104a1578063f2fde38b14610518575b600080fd5b3480156100d657600080fd5b50610115600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061055b565b604051808215151515815260200191505060405180910390f35b34801561013b57600080fd5b5061014461064d565b6040518082815260200191505060405180910390f35b34801561016657600080fd5b506101c5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106a8565b604051808215151515815260200191505060405180910390f35b3480156101eb57600080fd5b506101f4610953565b604051808260ff1660ff16815260200191505060405180910390f35b34801561021c57600080fd5b50610251600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610966565b6040518082815260200191505060405180910390f35b34801561027357600080fd5b5061027c6109af565b005b34801561028a57600080fd5b50610293610b4e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102e157600080fd5b50610320600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b73565b604051808215151515815260200191505060405180910390f35b34801561034657600080fd5b506103cb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610d0e565b604051808215151515815260200191505060405180910390f35b3480156103f157600080fd5b506103fa610f5d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561044857600080fd5b50610487600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f83565b604051808215151515815260200191505060405180910390f35b3480156104ad57600080fd5b50610502600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110e7565b6040518082815260200191505060405180910390f35b34801561052457600080fd5b50610559600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061116e565b005b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60006106a3600360008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460025461120d90919063ffffffff16565b905090565b60006106fc82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461120d90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107ce82600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461120d90919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108a082600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461122990919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600160149054906101000a900460ff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a0b57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610bc782600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461120d90919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c5c82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461122990919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600082600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610eeb578082015181840152602081019050610ed0565b50505050905090810190601f168015610f185780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610f3a57600080fd5b505af1158015610f4e573d6000803e3d6000fd5b50505050600190509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fe057600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156110a457600080fd5b505af11580156110b8573d6000803e3d6000fd5b505050506040513d60208110156110ce57600080fd5b8101908080519060200190929190505050905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111c957600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600082821115151561121e57600080fd5b818303905092915050565b6000818301905082811015151561123f57600080fd5b929150505600a165627a7a7230582086ec8e422bd8c5ddad32eb09a806eeb6d1ed5c20827c3010d77b0278f363ecbe0029", + "sourceMap": "3506:5189:0:-;;;3916:200;8:9:-1;5:2;;;30:1;27;20:12;5:2;3916:200:0;2856:10;2848:5;;:18;;;;;;;;;;;;;;;;;;3958:2;3947:8;;:13;;;;;;;;;;;;;;;;;;4004:8;;;;;;;;;;;3999:14;;3995:2;:18;3985:7;:28;3970:12;:43;;;;4041:12;;4023:8;:15;4032:5;;;;;;;;;;;4023:15;;;;;;;;;;;;;;;:30;;;;4089:5;;;;;;;;;;;4068:41;;4085:1;4068:41;;;4096:12;;4068:41;;;;;;;;;;;;;;;;;;3506:5189;;;;;;", + "deployedSourceMap": "3506:5189:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8264:8;;;5865:204;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5865:204:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4303:112;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4303:112:0;;;;;;;;;;;;;;;;;;;;;;;6601:337;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6601:337:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3587:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3587:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4636:118;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4636:118:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3065:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3065:191:0;;;;;;2684:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2684:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5097:262;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5097:262:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7724:312;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7724:312:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2710:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2710:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;8511:182;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8511:182:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7219:145;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7219:145:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2960:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2960:100:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5865:204;5928:12;5983:6;5952:7;:19;5960:10;5952:19;;;;;;;;;;;;;;;:28;5972:7;5952:28;;;;;;;;;;;;;;;:37;;;;6025:7;6004:37;;6013:10;6004:37;;;6034:6;6004:37;;;;;;;;;;;;;;;;;;6058:4;6051:11;;5865:204;;;;:::o;4303:112::-;4347:4;4370:38;4387:8;:20;4404:1;4387:20;;;;;;;;;;;;;;;;4370:12;;:16;;:38;;;;:::i;:::-;4363:45;;4303:112;:::o;6601:337::-;6678:12;6719:26;6738:6;6719:8;:14;6728:4;6719:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;6702:8;:14;6711:4;6702:14;;;;;;;;;;;;;;;:43;;;;6783:37;6813:6;6783:7;:13;6791:4;6783:13;;;;;;;;;;;;;;;:25;6797:10;6783:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;6755:7;:13;6763:4;6755:13;;;;;;;;;;;;;;;:25;6769:10;6755:25;;;;;;;;;;;;;;;:65;;;;6845:24;6862:6;6845:8;:12;6854:2;6845:12;;;;;;;;;;;;;;;;:16;;:24;;;;:::i;:::-;6830:8;:12;6839:2;6830:12;;;;;;;;;;;;;;;:39;;;;6899:2;6884:26;;6893:4;6884:26;;;6903:6;6884:26;;;;;;;;;;;;;;;;;;6927:4;6920:11;;6601:337;;;;;:::o;3587:21::-;;;;;;;;;;;;;:::o;4636:118::-;4696:12;4727:8;:20;4736:10;4727:20;;;;;;;;;;;;;;;;4720:27;;4636:118;;;:::o;3065:191::-;3131:8;;;;;;;;;;;3117:22;;:10;:22;;;3109:31;;;;;;;;3183:8;;;;;;;;;;;3155:37;;3176:5;;;;;;;;;;;3155:37;;;;;;;;;;;;3210:8;;;;;;;;;;;3202:5;;:16;;;;;;;;;;;;;;;;;;3247:1;3228:8;;:21;;;;;;;;;;;;;;;;;;3065:191::o;2684:20::-;;;;;;;;;;;;;:::o;5097:262::-;5156:12;5203:32;5228:6;5203:8;:20;5212:10;5203:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;5180:8;:20;5189:10;5180:20;;;;;;;;;;;;;;;:55;;;;5260:24;5277:6;5260:8;:12;5269:2;5260:12;;;;;;;;;;;;;;;;:16;;:24;;;;:::i;:::-;5245:8;:12;5254:2;5245:12;;;;;;;;;;;;;;;:39;;;;5320:2;5299:32;;5308:10;5299:32;;;5324:6;5299:32;;;;;;;;;;;;;;;;;;5348:4;5341:11;;5097:262;;;;:::o;7724:312::-;7806:12;7861:6;7830:7;:19;7838:10;7830:19;;;;;;;;;;;;;;;:28;7850:7;7830:28;;;;;;;;;;;;;;;:37;;;;7903:7;7882:37;;7891:10;7882:37;;;7912:6;7882:37;;;;;;;;;;;;;;;;;;7952:7;7929:47;;;7977:10;7989:6;7997:4;8003;7929:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;7929:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7929:79:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7929:79:0;;;;8025:4;8018:11;;7724:312;;;;;:::o;2710:23::-;;;;;;;;;;;;;:::o;8511:182::-;8603:12;2930:5;;;;;;;;;;;2916:19;;:10;:19;;;2908:28;;;;;;;;8649:12;8634:37;;;8672:5;;;;;;;;;;;8679:6;8634:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8634:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8634:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8634:52:0;;;;;;;;;;;;;;;;8627:59;;8511:182;;;;:::o;7219:145::-;7296:14;7329:7;:19;7337:10;7329:19;;;;;;;;;;;;;;;:28;7349:7;7329:28;;;;;;;;;;;;;;;;7322:35;;7219:145;;;;:::o;2960:100::-;2930:5;;;;;;;;;;;2916:19;;:10;:19;;;2908:28;;;;;;;;3044:9;3033:8;;:20;;;;;;;;;;;;;;;;;;2960:100;:::o;775:111::-;827:6;858:1;853;:6;;845:15;;;;;;;;878:1;874;:5;870:9;;775:111;;;;:::o;659:::-;711:6;737:1;733;:5;729:9;;761:1;756;:6;;748:15;;;;;;;;659:111;;;;:::o", + "source": "pragma solidity ^0.4.24;\n\n// ----------------------------------------------------------------------------\n// 'FIXED' 'Example Fixed Supply Token' token contract\n//\n// Symbol : FIXED\n// Name : Example Fixed Supply Token\n// Total supply: 1,000,000.000000000000000000\n// Decimals : 18\n//\n// Enjoy.\n//\n// (c) BokkyPooBah / Bok Consulting Pty Ltd 2018. The MIT Licence.\n// ----------------------------------------------------------------------------\n\n\n// ----------------------------------------------------------------------------\n// Safe maths\n// ----------------------------------------------------------------------------\nlibrary SafeMath {\n function add(uint a, uint b) internal pure returns (uint c) {\n c = a + b;\n require(c >= a);\n }\n function sub(uint a, uint b) internal pure returns (uint c) {\n require(b <= a);\n c = a - b;\n }\n function mul(uint a, uint b) internal pure returns (uint c) {\n c = a * b;\n require(a == 0 || c / a == b);\n }\n function div(uint a, uint b) internal pure returns (uint c) {\n require(b > 0);\n c = a / b;\n }\n}\n\n\n// ----------------------------------------------------------------------------\n// ERC Token Standard #20 Interface\n// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md\n// ----------------------------------------------------------------------------\ncontract ERC20Interface {\n function totalSupply() public constant returns (uint);\n function balanceOf(address tokenOwner) public constant returns (uint balance);\n function allowance(address tokenOwner, address spender) public constant returns (uint remaining);\n function transfer(address to, uint tokens) public returns (bool success);\n function approve(address spender, uint tokens) public returns (bool success);\n function transferFrom(address from, address to, uint tokens) public returns (bool success);\n\n event Transfer(address indexed from, address indexed to, uint tokens);\n event Approval(address indexed tokenOwner, address indexed spender, uint tokens);\n}\n\n\n// ----------------------------------------------------------------------------\n// Contract function to receive approval and execute function in one call\n//\n// Borrowed from MiniMeToken\n// ----------------------------------------------------------------------------\ncontract ApproveAndCallFallBack {\n function receiveApproval(address from, uint256 tokens, address token, bytes data) public;\n}\n\n\n// ----------------------------------------------------------------------------\n// Owned contract\n// ----------------------------------------------------------------------------\ncontract Owned {\n address public owner;\n address public newOwner;\n\n event OwnershipTransferred(address indexed _from, address indexed _to);\n\n constructor() public {\n owner = msg.sender;\n }\n\n modifier onlyOwner {\n require(msg.sender == owner);\n _;\n }\n\n function transferOwnership(address _newOwner) public onlyOwner {\n newOwner = _newOwner;\n }\n function acceptOwnership() public {\n require(msg.sender == newOwner);\n emit OwnershipTransferred(owner, newOwner);\n owner = newOwner;\n newOwner = address(0);\n }\n}\n\n\n// ----------------------------------------------------------------------------\n// ERC20 Token, with the addition of symbol, name and decimals and a\n// fixed supply\n// ----------------------------------------------------------------------------\ncontract EmptyToken is ERC20Interface, Owned {\n using SafeMath for uint;\n\n uint8 public decimals;\n uint _totalSupply;\n\n mapping(address => uint) balances;\n mapping(address => mapping(address => uint)) allowed;\n\n\n // ------------------------------------------------------------------------\n // Constructor\n // ------------------------------------------------------------------------\n constructor() public {\n decimals = 18;\n _totalSupply = 1000000 * 10**uint(decimals);\n balances[owner] = _totalSupply;\n emit Transfer(address(0), owner, _totalSupply);\n }\n\n\n // ------------------------------------------------------------------------\n // Total supply\n // ------------------------------------------------------------------------\n function totalSupply() public view returns (uint) {\n return _totalSupply.sub(balances[address(0)]);\n }\n\n\n // ------------------------------------------------------------------------\n // Get the token balance for account `tokenOwner`\n // ------------------------------------------------------------------------\n function balanceOf(address tokenOwner) public view returns (uint balance) {\n return balances[tokenOwner];\n }\n\n\n // ------------------------------------------------------------------------\n // Transfer the balance from token owner's account to `to` account\n // - Owner's account must have sufficient balance to transfer\n // - 0 value transfers are allowed\n // ------------------------------------------------------------------------\n function transfer(address to, uint tokens) public returns (bool success) {\n balances[msg.sender] = balances[msg.sender].sub(tokens);\n balances[to] = balances[to].add(tokens);\n emit Transfer(msg.sender, to, tokens);\n return true;\n }\n\n\n // ------------------------------------------------------------------------\n // Token owner can approve for `spender` to transferFrom(...) `tokens`\n // from the token owner's account\n //\n // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md\n // recommends that there are no checks for the approval double-spend attack\n // as this should be implemented in user interfaces \n // ------------------------------------------------------------------------\n function approve(address spender, uint tokens) public returns (bool success) {\n allowed[msg.sender][spender] = tokens;\n emit Approval(msg.sender, spender, tokens);\n return true;\n }\n\n\n // ------------------------------------------------------------------------\n // Transfer `tokens` from the `from` account to the `to` account\n // \n // The calling account must already have sufficient tokens approve(...)-d\n // for spending from the `from` account and\n // - From account must have sufficient balance to transfer\n // - Spender must have sufficient allowance to transfer\n // - 0 value transfers are allowed\n // ------------------------------------------------------------------------\n function transferFrom(address from, address to, uint tokens) public returns (bool success) {\n balances[from] = balances[from].sub(tokens);\n allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);\n balances[to] = balances[to].add(tokens);\n emit Transfer(from, to, tokens);\n return true;\n }\n\n\n // ------------------------------------------------------------------------\n // Returns the amount of tokens approved by the owner that can be\n // transferred to the spender's account\n // ------------------------------------------------------------------------\n function allowance(address tokenOwner, address spender) public view returns (uint remaining) {\n return allowed[tokenOwner][spender];\n }\n\n\n // ------------------------------------------------------------------------\n // Token owner can approve for `spender` to transferFrom(...) `tokens`\n // from the token owner's account. The `spender` contract function\n // `receiveApproval(...)` is then executed\n // ------------------------------------------------------------------------\n function approveAndCall(address spender, uint tokens, bytes data) public returns (bool success) {\n allowed[msg.sender][spender] = tokens;\n emit Approval(msg.sender, spender, tokens);\n ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, this, data);\n return true;\n }\n\n\n // ------------------------------------------------------------------------\n // Don't accept ETH\n // ------------------------------------------------------------------------\n function () public payable {\n revert();\n }\n\n\n // ------------------------------------------------------------------------\n // Owner can transfer out any accidentally sent ERC20 tokens\n // ------------------------------------------------------------------------\n function transferAnyERC20Token(address tokenAddress, uint tokens) public onlyOwner returns (bool success) {\n return ERC20Interface(tokenAddress).transfer(owner, tokens);\n }\n}", + "sourcePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/test/EmptyToken.sol", "ast": { - "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/test/MyToken.sol", + "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/test/EmptyToken.sol", "exportedSymbols": { "ApproveAndCallFallBack": [ 175 @@ -190,8 +333,8 @@ "ERC20Interface": [ 163 ], - "FixedSupplyToken": [ - 551 + "EmptyToken": [ + 539 ], "Owned": [ 244 @@ -200,7 +343,7 @@ 96 ] }, - "id": 552, + "id": 540, "nodeType": "SourceUnit", "nodes": [ { @@ -372,10 +515,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 569, - 570 + 1109, + 1110 ], - "referencedDeclaration": 569, + "referencedDeclaration": 1109, "src": "748:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -576,10 +719,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 569, - 570 + 1109, + 1110 ], - "referencedDeclaration": 569, + "referencedDeclaration": 1109, "src": "845:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -1037,10 +1180,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 569, - 570 + 1109, + 1110 ], - "referencedDeclaration": 569, + "referencedDeclaration": 1109, "src": "980:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -1246,10 +1389,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 569, - 570 + 1109, + 1110 ], - "referencedDeclaration": 569, + "referencedDeclaration": 1109, "src": "1091:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -1462,7 +1605,7 @@ "visibility": "internal" } ], - "scope": 552, + "scope": 540, "src": "636:497:0" }, { @@ -2272,7 +2415,7 @@ "src": "2001:81:0" } ], - "scope": 552, + "scope": 540, "src": "1395:689:0" }, { @@ -2423,7 +2566,7 @@ "visibility": "public" } ], - "scope": 552, + "scope": 540, "src": "2353:129:0" }, { @@ -2597,7 +2740,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, + "referencedDeclaration": 1106, "src": "2856:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2686,7 +2829,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, + "referencedDeclaration": 1106, "src": "2916:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2740,10 +2883,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 569, - 570 + 1109, + 1110 ], - "referencedDeclaration": 569, + "referencedDeclaration": 1109, "src": "2908:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -2945,7 +3088,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, + "referencedDeclaration": 1106, "src": "3117:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2999,10 +3142,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 569, - 570 + 1109, + 1110 ], - "referencedDeclaration": 569, + "referencedDeclaration": 1109, "src": "3109:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -3263,7 +3406,7 @@ "visibility": "public" } ], - "scope": 552, + "scope": 540, "src": "2663:595:0" }, { @@ -3276,7 +3419,7 @@ "name": "ERC20Interface", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 163, - "src": "3535:14:0", + "src": "3529:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20Interface_$163", "typeString": "contract ERC20Interface" @@ -3284,7 +3427,7 @@ }, "id": 246, "nodeType": "InheritanceSpecifier", - "src": "3535:14:0" + "src": "3529:14:0" }, { "arguments": null, @@ -3294,7 +3437,7 @@ "name": "Owned", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 244, - "src": "3551:5:0", + "src": "3545:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Owned_$244", "typeString": "contract Owned" @@ -3302,23 +3445,23 @@ }, "id": 248, "nodeType": "InheritanceSpecifier", - "src": "3551:5:0" + "src": "3545:5:0" } ], "contractDependencies": [ - 244, - 163 + 163, + 244 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 551, + "id": 539, "linearizedBaseContracts": [ - 551, + 539, 244, 163 ], - "name": "FixedSupplyToken", + "name": "EmptyToken", "nodeType": "ContractDefinition", "nodes": [ { @@ -3329,19 +3472,19 @@ "name": "SafeMath", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 96, - "src": "3569:8:0", + "src": "3563:8:0", "typeDescriptions": { "typeIdentifier": "t_contract$_SafeMath_$96", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "3563:24:0", + "src": "3557:24:0", "typeName": { "id": 250, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3582:4:0", + "src": "3576:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3351,62 +3494,10 @@ { "constant": false, "id": 253, - "name": "symbol", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3593:20:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 252, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3593:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 255, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3619:19:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 254, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3619:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 257, "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3644:21:0", + "scope": 539, + "src": "3587:21:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3414,10 +3505,10 @@ "typeString": "uint8" }, "typeName": { - "id": 256, + "id": 252, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3644:5:0", + "src": "3587:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3428,11 +3519,11 @@ }, { "constant": false, - "id": 259, + "id": 255, "name": "_totalSupply", "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3671:17:0", + "scope": 539, + "src": "3614:17:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3440,10 +3531,10 @@ "typeString": "uint256" }, "typeName": { - "id": 258, + "id": 254, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3671:4:0", + "src": "3614:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3454,11 +3545,11 @@ }, { "constant": false, - "id": 263, + "id": 259, "name": "balances", "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3695:33:0", + "scope": 539, + "src": "3638:33:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3466,28 +3557,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 262, + "id": 258, "keyType": { - "id": 260, + "id": 256, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3703:7:0", + "src": "3646:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "3695:24:0", + "src": "3638:24:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 261, + "id": 257, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3714:4:0", + "src": "3657:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3499,11 +3590,11 @@ }, { "constant": false, - "id": 269, + "id": 265, "name": "allowed", "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3734:52:0", + "scope": 539, + "src": "3677:52:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3511,46 +3602,46 @@ "typeString": "mapping(address => mapping(address => uint256))" }, "typeName": { - "id": 268, + "id": 264, "keyType": { - "id": 264, + "id": 260, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3742:7:0", + "src": "3685:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "3734:44:0", + "src": "3677:44:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" }, "valueType": { - "id": 267, + "id": 263, "keyType": { - "id": 265, + "id": 261, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3761:7:0", + "src": "3704:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "3753:24:0", + "src": "3696:24:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 266, + "id": 262, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3772:4:0", + "src": "3715:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3563,128 +3654,26 @@ }, { "body": { - "id": 308, + "id": 296, "nodeType": "Block", - "src": "3994:235:0", + "src": "3937:179:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 274, + "id": 270, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 272, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 253, - "src": "4004:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "544b4e", - "id": 273, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4013:5:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9ee187a325c80a9ca820b4f297a58770bf5a85fede3756f8e7e9d14ff37d7b66", - "typeString": "literal_string \"TKN\"" - }, - "value": "TKN" - }, - "src": "4004:14:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 275, - "nodeType": "ExpressionStatement", - "src": "4004:14:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 276, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 255, - "src": "4028:4:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "546f6b656e204578616d706c65", - "id": 277, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4035:15:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e57db44f555e20abcea99743d90b2c763b40df4478f8c8195ecabb23fc906e9a", - "typeString": "literal_string \"Token Example\"" - }, - "value": "Token Example" - }, - "src": "4028:22:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 279, - "nodeType": "ExpressionStatement", - "src": "4028:22:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 280, + "id": 268, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 257, - "src": "4060:8:0", + "referencedDeclaration": 253, + "src": "3947:8:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3695,14 +3684,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "3138", - "id": 281, + "id": 269, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4071:2:0", + "src": "3958:2:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_18_by_1", @@ -3710,32 +3699,32 @@ }, "value": "18" }, - "src": "4060:13:0", + "src": "3947:13:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 283, + "id": 271, "nodeType": "ExpressionStatement", - "src": "4060:13:0" + "src": "3947:13:0" }, { "expression": { "argumentTypes": null, - "id": 292, + "id": 280, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 284, + "id": 272, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4083:12:0", + "referencedDeclaration": 255, + "src": "3970:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3749,7 +3738,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 291, + "id": 279, "isConstant": false, "isLValue": false, "isPure": false, @@ -3757,14 +3746,14 @@ "leftExpression": { "argumentTypes": null, "hexValue": "31303030303030", - "id": 285, + "id": 273, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4098:7:0", + "src": "3985:7:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1000000_by_1", @@ -3780,7 +3769,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 290, + "id": 278, "isConstant": false, "isLValue": false, "isPure": false, @@ -3788,14 +3777,14 @@ "leftExpression": { "argumentTypes": null, "hexValue": "3130", - "id": 286, + "id": 274, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4108:2:0", + "src": "3995:2:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -3810,12 +3799,12 @@ "arguments": [ { "argumentTypes": null, - "id": 288, + "id": 276, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 257, - "src": "4117:8:0", + "referencedDeclaration": 253, + "src": "4004:8:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3829,20 +3818,20 @@ "typeString": "uint8" } ], - "id": 287, + "id": 275, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4112:4:0", + "src": "3999:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint" }, - "id": 289, + "id": 277, "isConstant": false, "isLValue": false, "isPure": false, @@ -3850,38 +3839,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4112:14:0", + "src": "3999:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4108:18:0", + "src": "3995:18:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4098:28:0", + "src": "3985:28:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4083:43:0", + "src": "3970:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 293, + "id": 281, "nodeType": "ExpressionStatement", - "src": "4083:43:0" + "src": "3970:43:0" }, { "expression": { "argumentTypes": null, - "id": 298, + "id": 286, "isConstant": false, "isLValue": false, "isPure": false, @@ -3890,26 +3879,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 294, + "id": 282, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "4136:8:0", + "referencedDeclaration": 259, + "src": "4023:8:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 296, + "id": 284, "indexExpression": { "argumentTypes": null, - "id": 295, + "id": 283, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 177, - "src": "4145:5:0", + "src": "4032:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3920,7 +3909,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4136:15:0", + "src": "4023:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3930,26 +3919,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 297, + "id": 285, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4154:12:0", + "referencedDeclaration": 255, + "src": "4041:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4136:30:0", + "src": "4023:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 299, + "id": 287, "nodeType": "ExpressionStatement", - "src": "4136:30:0" + "src": "4023:30:0" }, { "eventCall": { @@ -3961,14 +3950,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 302, + "id": 290, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4198:1:0", + "src": "4085:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3984,20 +3973,20 @@ "typeString": "int_const 0" } ], - "id": 301, + "id": 289, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4190:7:0", + "src": "4077:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 303, + "id": 291, "isConstant": false, "isLValue": false, "isPure": true, @@ -4005,7 +3994,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4190:10:0", + "src": "4077:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4013,12 +4002,12 @@ }, { "argumentTypes": null, - "id": 304, + "id": 292, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 177, - "src": "4202:5:0", + "src": "4089:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4026,12 +4015,12 @@ }, { "argumentTypes": null, - "id": 305, + "id": 293, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4209:12:0", + "referencedDeclaration": 255, + "src": "4096:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4053,18 +4042,18 @@ "typeString": "uint256" } ], - "id": 300, + "id": 288, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 154, - "src": "4181:8:0", + "src": "4068:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 306, + "id": 294, "isConstant": false, "isLValue": false, "isPure": false, @@ -4072,20 +4061,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4181:41:0", + "src": "4068:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 307, + "id": 295, "nodeType": "EmitStatement", - "src": "4176:46:0" + "src": "4063:46:0" } ] }, "documentation": null, - "id": 309, + "id": 297, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -4093,29 +4082,29 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 270, + "id": 266, "nodeType": "ParameterList", "parameters": [], - "src": "3984:2:0" + "src": "3927:2:0" }, "payable": false, "returnParameters": { - "id": 271, + "id": 267, "nodeType": "ParameterList", "parameters": [], - "src": "3994:0:0" + "src": "3937:0:0" }, - "scope": 551, - "src": "3973:256:0", + "scope": 539, + "src": "3916:200:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 323, + "id": 311, "nodeType": "Block", - "src": "4466:62:0", + "src": "4353:62:0", "statements": [ { "expression": { @@ -4125,32 +4114,32 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 316, + "id": 304, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "4500:8:0", + "referencedDeclaration": 259, + "src": "4387:8:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 320, + "id": 308, "indexExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", - "id": 318, + "id": 306, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4517:1:0", + "src": "4404:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4166,20 +4155,20 @@ "typeString": "int_const 0" } ], - "id": 317, + "id": 305, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4509:7:0", + "src": "4396:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 319, + "id": 307, "isConstant": false, "isLValue": false, "isPure": true, @@ -4187,7 +4176,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4509:10:0", + "src": "4396:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4198,7 +4187,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4500:20:0", + "src": "4387:20:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4214,18 +4203,18 @@ ], "expression": { "argumentTypes": null, - "id": 314, + "id": 302, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4483:12:0", + "referencedDeclaration": 255, + "src": "4370:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 315, + "id": 303, "isConstant": false, "isLValue": false, "isPure": false, @@ -4233,13 +4222,13 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 45, - "src": "4483:16:0", + "src": "4370:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 321, + "id": 309, "isConstant": false, "isLValue": false, "isPure": false, @@ -4247,21 +4236,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4483:38:0", + "src": "4370:38:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 313, - "id": 322, + "functionReturnParameters": 301, + "id": 310, "nodeType": "Return", - "src": "4476:45:0" + "src": "4363:45:0" } ] }, "documentation": null, - "id": 324, + "id": 312, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -4269,23 +4258,23 @@ "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 310, + "id": 298, "nodeType": "ParameterList", "parameters": [], - "src": "4436:2:0" + "src": "4323:2:0" }, "payable": false, "returnParameters": { - "id": 313, + "id": 301, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 312, + "id": 300, "name": "", "nodeType": "VariableDeclaration", - "scope": 324, - "src": "4460:4:0", + "scope": 312, + "src": "4347:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4293,10 +4282,10 @@ "typeString": "uint256" }, "typeName": { - "id": 311, + "id": 299, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4460:4:0", + "src": "4347:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4306,45 +4295,45 @@ "visibility": "internal" } ], - "src": "4459:6:0" + "src": "4346:6:0" }, - "scope": 551, - "src": "4416:112:0", + "scope": 539, + "src": "4303:112:0", "stateMutability": "view", "superFunction": 101, "visibility": "public" }, { "body": { - "id": 335, + "id": 323, "nodeType": "Block", - "src": "4823:44:0", + "src": "4710:44:0", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 331, + "id": 319, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "4840:8:0", + "referencedDeclaration": 259, + "src": "4727:8:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 333, + "id": 321, "indexExpression": { "argumentTypes": null, - "id": 332, + "id": 320, "name": "tokenOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 326, - "src": "4849:10:0", + "referencedDeclaration": 314, + "src": "4736:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4355,21 +4344,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4840:20:0", + "src": "4727:20:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 330, - "id": 334, + "functionReturnParameters": 318, + "id": 322, "nodeType": "Return", - "src": "4833:27:0" + "src": "4720:27:0" } ] }, "documentation": null, - "id": 336, + "id": 324, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -4377,16 +4366,16 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 327, + "id": 315, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 326, + "id": 314, "name": "tokenOwner", "nodeType": "VariableDeclaration", - "scope": 336, - "src": "4768:18:0", + "scope": 324, + "src": "4655:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4394,10 +4383,10 @@ "typeString": "address" }, "typeName": { - "id": 325, + "id": 313, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4768:7:0", + "src": "4655:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4407,20 +4396,20 @@ "visibility": "internal" } ], - "src": "4767:20:0" + "src": "4654:20:0" }, "payable": false, "returnParameters": { - "id": 330, + "id": 318, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 329, + "id": 317, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 336, - "src": "4809:12:0", + "scope": 324, + "src": "4696:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4428,10 +4417,10 @@ "typeString": "uint256" }, "typeName": { - "id": 328, + "id": 316, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4809:4:0", + "src": "4696:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4441,24 +4430,24 @@ "visibility": "internal" } ], - "src": "4808:14:0" + "src": "4695:14:0" }, - "scope": 551, - "src": "4749:118:0", + "scope": 539, + "src": "4636:118:0", "stateMutability": "view", "superFunction": 108, "visibility": "public" }, { "body": { - "id": 378, + "id": 366, "nodeType": "Block", - "src": "5283:189:0", + "src": "5170:189:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 356, + "id": 344, "isConstant": false, "isLValue": false, "isPure": false, @@ -4467,34 +4456,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 345, + "id": 333, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5293:8:0", + "referencedDeclaration": 259, + "src": "5180:8:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 348, + "id": 336, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 346, + "id": 334, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "5302:3:0", + "referencedDeclaration": 1106, + "src": "5189:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 347, + "id": 335, "isConstant": false, "isLValue": false, "isPure": false, @@ -4502,7 +4491,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5302:10:0", + "src": "5189:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4513,7 +4502,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5293:20:0", + "src": "5180:20:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4526,12 +4515,180 @@ "arguments": [ { "argumentTypes": null, - "id": 354, + "id": 342, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "5341:6:0", + "referencedDeclaration": 328, + "src": "5228:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 337, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 259, + "src": "5203:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 340, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 338, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1106, + "src": "5212:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5212:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5203:20:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 45, + "src": "5203:24:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5203:32:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5180:55:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 345, + "nodeType": "ExpressionStatement", + "src": "5180:55:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 346, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 259, + "src": "5245:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 348, + "indexExpression": { + "argumentTypes": null, + "id": 347, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 326, + "src": "5254:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5245:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 353, + "name": "tokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 328, + "src": "5277:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4553,190 +4710,22 @@ "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5316:8:0", + "referencedDeclaration": 259, + "src": "5260:8:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 352, + "id": 351, "indexExpression": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 350, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "5325:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5325:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5316:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "5316:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5316:32:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5293:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 357, - "nodeType": "ExpressionStatement", - "src": "5293:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 358, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5358:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 360, - "indexExpression": { - "argumentTypes": null, - "id": 359, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "5367:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5358:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 365, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "5390:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 361, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5373:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 363, - "indexExpression": { - "argumentTypes": null, - "id": 362, + "id": 350, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "5382:2:0", + "referencedDeclaration": 326, + "src": "5269:2:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4747,13 +4736,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5373:12:0", + "src": "5260:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 364, + "id": 352, "isConstant": false, "isLValue": false, "isPure": false, @@ -4761,13 +4750,13 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 23, - "src": "5373:16:0", + "src": "5260:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 366, + "id": 354, "isConstant": false, "isLValue": false, "isPure": false, @@ -4775,21 +4764,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5373:24:0", + "src": "5260:24:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5358:39:0", + "src": "5245:39:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 368, + "id": 356, "nodeType": "ExpressionStatement", - "src": "5358:39:0" + "src": "5245:39:0" }, { "eventCall": { @@ -4799,18 +4788,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 370, + "id": 358, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "5421:3:0", + "referencedDeclaration": 1106, + "src": "5308:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 371, + "id": 359, "isConstant": false, "isLValue": false, "isPure": false, @@ -4818,7 +4807,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5421:10:0", + "src": "5308:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4826,12 +4815,12 @@ }, { "argumentTypes": null, - "id": 372, + "id": 360, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "5433:2:0", + "referencedDeclaration": 326, + "src": "5320:2:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4839,12 +4828,12 @@ }, { "argumentTypes": null, - "id": 373, + "id": 361, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "5437:6:0", + "referencedDeclaration": 328, + "src": "5324:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4866,18 +4855,18 @@ "typeString": "uint256" } ], - "id": 369, + "id": 357, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 154, - "src": "5412:8:0", + "src": "5299:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 374, + "id": 362, "isConstant": false, "isLValue": false, "isPure": false, @@ -4885,28 +4874,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5412:32:0", + "src": "5299:32:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 375, + "id": 363, "nodeType": "EmitStatement", - "src": "5407:37:0" + "src": "5294:37:0" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 376, + "id": 364, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "5461:4:0", + "src": "5348:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -4914,15 +4903,15 @@ }, "value": "true" }, - "functionReturnParameters": 344, - "id": 377, + "functionReturnParameters": 332, + "id": 365, "nodeType": "Return", - "src": "5454:11:0" + "src": "5341:11:0" } ] }, "documentation": null, - "id": 379, + "id": 367, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -4930,16 +4919,16 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 341, + "id": 329, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 338, + "id": 326, "name": "to", "nodeType": "VariableDeclaration", - "scope": 379, - "src": "5228:10:0", + "scope": 367, + "src": "5115:10:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4947,10 +4936,10 @@ "typeString": "address" }, "typeName": { - "id": 337, + "id": 325, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5228:7:0", + "src": "5115:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4961,11 +4950,11 @@ }, { "constant": false, - "id": 340, + "id": 328, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 379, - "src": "5240:11:0", + "scope": 367, + "src": "5127:11:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4973,10 +4962,10 @@ "typeString": "uint256" }, "typeName": { - "id": 339, + "id": 327, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "5240:4:0", + "src": "5127:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4986,20 +4975,20 @@ "visibility": "internal" } ], - "src": "5227:25:0" + "src": "5114:25:0" }, "payable": false, "returnParameters": { - "id": 344, + "id": 332, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 343, + "id": 331, "name": "success", "nodeType": "VariableDeclaration", - "scope": 379, - "src": "5269:12:0", + "scope": 367, + "src": "5156:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5007,10 +4996,10 @@ "typeString": "bool" }, "typeName": { - "id": 342, + "id": 330, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5269:4:0", + "src": "5156:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5020,24 +5009,24 @@ "visibility": "internal" } ], - "src": "5268:14:0" + "src": "5155:14:0" }, - "scope": 551, - "src": "5210:262:0", + "scope": 539, + "src": "5097:262:0", "stateMutability": "nonpayable", "superFunction": 126, "visibility": "public" }, { "body": { - "id": 406, + "id": 394, "nodeType": "Block", - "src": "6055:127:0", + "src": "5942:127:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 395, + "id": 383, "isConstant": false, "isLValue": false, "isPure": false, @@ -5048,34 +5037,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 388, + "id": 376, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "6065:7:0", + "referencedDeclaration": 265, + "src": "5952:7:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 392, + "id": 380, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 389, + "id": 377, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6073:3:0", + "referencedDeclaration": 1106, + "src": "5960:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 390, + "id": 378, "isConstant": false, "isLValue": false, "isPure": false, @@ -5083,7 +5072,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6073:10:0", + "src": "5960:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5094,21 +5083,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6065:19:0", + "src": "5952:19:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 393, + "id": 381, "indexExpression": { "argumentTypes": null, - "id": 391, + "id": 379, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 381, - "src": "6085:7:0", + "referencedDeclaration": 369, + "src": "5972:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5119,7 +5108,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6065:28:0", + "src": "5952:28:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5129,26 +5118,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 394, + "id": 382, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 383, - "src": "6096:6:0", + "referencedDeclaration": 371, + "src": "5983:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6065:37:0", + "src": "5952:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 396, + "id": 384, "nodeType": "ExpressionStatement", - "src": "6065:37:0" + "src": "5952:37:0" }, { "eventCall": { @@ -5158,18 +5147,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 398, + "id": 386, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6126:3:0", + "referencedDeclaration": 1106, + "src": "6013:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 399, + "id": 387, "isConstant": false, "isLValue": false, "isPure": false, @@ -5177,7 +5166,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6126:10:0", + "src": "6013:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5185,12 +5174,12 @@ }, { "argumentTypes": null, - "id": 400, + "id": 388, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 381, - "src": "6138:7:0", + "referencedDeclaration": 369, + "src": "6025:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5198,12 +5187,12 @@ }, { "argumentTypes": null, - "id": 401, + "id": 389, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 383, - "src": "6147:6:0", + "referencedDeclaration": 371, + "src": "6034:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5225,18 +5214,18 @@ "typeString": "uint256" } ], - "id": 397, + "id": 385, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 162, - "src": "6117:8:0", + "src": "6004:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 402, + "id": 390, "isConstant": false, "isLValue": false, "isPure": false, @@ -5244,28 +5233,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6117:37:0", + "src": "6004:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 403, + "id": 391, "nodeType": "EmitStatement", - "src": "6112:42:0" + "src": "5999:42:0" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 404, + "id": 392, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "6171:4:0", + "src": "6058:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -5273,15 +5262,15 @@ }, "value": "true" }, - "functionReturnParameters": 387, - "id": 405, + "functionReturnParameters": 375, + "id": 393, "nodeType": "Return", - "src": "6164:11:0" + "src": "6051:11:0" } ] }, "documentation": null, - "id": 407, + "id": 395, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5289,16 +5278,16 @@ "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 384, + "id": 372, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 381, + "id": 369, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 407, - "src": "5995:15:0", + "scope": 395, + "src": "5882:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5306,10 +5295,10 @@ "typeString": "address" }, "typeName": { - "id": 380, + "id": 368, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5995:7:0", + "src": "5882:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5320,11 +5309,11 @@ }, { "constant": false, - "id": 383, + "id": 371, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 407, - "src": "6012:11:0", + "scope": 395, + "src": "5899:11:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5332,10 +5321,10 @@ "typeString": "uint256" }, "typeName": { - "id": 382, + "id": 370, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "6012:4:0", + "src": "5899:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5345,20 +5334,20 @@ "visibility": "internal" } ], - "src": "5994:30:0" + "src": "5881:30:0" }, "payable": false, "returnParameters": { - "id": 387, + "id": 375, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 386, + "id": 374, "name": "success", "nodeType": "VariableDeclaration", - "scope": 407, - "src": "6041:12:0", + "scope": 395, + "src": "5928:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5366,10 +5355,10 @@ "typeString": "bool" }, "typeName": { - "id": 385, + "id": 373, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6041:4:0", + "src": "5928:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5379,24 +5368,24 @@ "visibility": "internal" } ], - "src": "6040:14:0" + "src": "5927:14:0" }, - "scope": 551, - "src": "5978:204:0", + "scope": 539, + "src": "5865:204:0", "stateMutability": "nonpayable", "superFunction": 135, "visibility": "public" }, { "body": { - "id": 465, + "id": 453, "nodeType": "Block", - "src": "6805:246:0", + "src": "6692:246:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 427, + "id": 415, "isConstant": false, "isLValue": false, "isPure": false, @@ -5405,26 +5394,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 418, + "id": 406, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6815:8:0", + "referencedDeclaration": 259, + "src": "6702:8:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 420, + "id": 408, "indexExpression": { "argumentTypes": null, - "id": 419, + "id": 407, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6824:4:0", + "referencedDeclaration": 397, + "src": "6711:4:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5435,7 +5424,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6815:14:0", + "src": "6702:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5448,12 +5437,12 @@ "arguments": [ { "argumentTypes": null, - "id": 425, + "id": 413, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "6851:6:0", + "referencedDeclaration": 401, + "src": "6738:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5471,26 +5460,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 421, + "id": 409, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6832:8:0", + "referencedDeclaration": 259, + "src": "6719:8:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 423, + "id": 411, "indexExpression": { "argumentTypes": null, - "id": 422, + "id": 410, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6841:4:0", + "referencedDeclaration": 397, + "src": "6728:4:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5501,13 +5490,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6832:14:0", + "src": "6719:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 424, + "id": 412, "isConstant": false, "isLValue": false, "isPure": false, @@ -5515,13 +5504,13 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 45, - "src": "6832:18:0", + "src": "6719:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 426, + "id": 414, "isConstant": false, "isLValue": false, "isPure": false, @@ -5529,26 +5518,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6832:26:0", + "src": "6719:26:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6815:43:0", + "src": "6702:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 428, + "id": 416, "nodeType": "ExpressionStatement", - "src": "6815:43:0" + "src": "6702:43:0" }, { "expression": { "argumentTypes": null, - "id": 444, + "id": 432, "isConstant": false, "isLValue": false, "isPure": false, @@ -5559,26 +5548,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 429, + "id": 417, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "6868:7:0", + "referencedDeclaration": 265, + "src": "6755:7:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 433, + "id": 421, "indexExpression": { "argumentTypes": null, - "id": 430, + "id": 418, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6876:4:0", + "referencedDeclaration": 397, + "src": "6763:4:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5589,29 +5578,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6868:13:0", + "src": "6755:13:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 434, + "id": 422, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 431, + "id": 419, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6882:3:0", + "referencedDeclaration": 1106, + "src": "6769:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 432, + "id": 420, "isConstant": false, "isLValue": false, "isPure": false, @@ -5619,7 +5608,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6882:10:0", + "src": "6769:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5630,7 +5619,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6868:25:0", + "src": "6755:25:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5643,12 +5632,12 @@ "arguments": [ { "argumentTypes": null, - "id": 442, + "id": 430, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "6926:6:0", + "referencedDeclaration": 401, + "src": "6813:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5668,26 +5657,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 435, + "id": 423, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "6896:7:0", + "referencedDeclaration": 265, + "src": "6783:7:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 437, + "id": 425, "indexExpression": { "argumentTypes": null, - "id": 436, + "id": 424, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6904:4:0", + "referencedDeclaration": 397, + "src": "6791:4:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5698,29 +5687,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6896:13:0", + "src": "6783:13:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 440, + "id": 428, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 438, + "id": 426, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6910:3:0", + "referencedDeclaration": 1106, + "src": "6797:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 439, + "id": 427, "isConstant": false, "isLValue": false, "isPure": false, @@ -5728,7 +5717,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6910:10:0", + "src": "6797:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5739,13 +5728,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6896:25:0", + "src": "6783:25:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 441, + "id": 429, "isConstant": false, "isLValue": false, "isPure": false, @@ -5753,13 +5742,13 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 45, - "src": "6896:29:0", + "src": "6783:29:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 443, + "id": 431, "isConstant": false, "isLValue": false, "isPure": false, @@ -5767,26 +5756,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6896:37:0", + "src": "6783:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6868:65:0", + "src": "6755:65:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 445, + "id": 433, "nodeType": "ExpressionStatement", - "src": "6868:65:0" + "src": "6755:65:0" }, { "expression": { "argumentTypes": null, - "id": 455, + "id": 443, "isConstant": false, "isLValue": false, "isPure": false, @@ -5795,26 +5784,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 446, + "id": 434, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6943:8:0", + "referencedDeclaration": 259, + "src": "6830:8:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 448, + "id": 436, "indexExpression": { "argumentTypes": null, - "id": 447, + "id": 435, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "6952:2:0", + "referencedDeclaration": 399, + "src": "6839:2:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5825,7 +5814,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6943:12:0", + "src": "6830:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5838,12 +5827,12 @@ "arguments": [ { "argumentTypes": null, - "id": 453, + "id": 441, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "6975:6:0", + "referencedDeclaration": 401, + "src": "6862:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5861,26 +5850,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 449, + "id": 437, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6958:8:0", + "referencedDeclaration": 259, + "src": "6845:8:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 451, + "id": 439, "indexExpression": { "argumentTypes": null, - "id": 450, + "id": 438, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "6967:2:0", + "referencedDeclaration": 399, + "src": "6854:2:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5891,13 +5880,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6958:12:0", + "src": "6845:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 452, + "id": 440, "isConstant": false, "isLValue": false, "isPure": false, @@ -5905,13 +5894,13 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 23, - "src": "6958:16:0", + "src": "6845:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 454, + "id": 442, "isConstant": false, "isLValue": false, "isPure": false, @@ -5919,21 +5908,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6958:24:0", + "src": "6845:24:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6943:39:0", + "src": "6830:39:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 456, + "id": 444, "nodeType": "ExpressionStatement", - "src": "6943:39:0" + "src": "6830:39:0" }, { "eventCall": { @@ -5941,12 +5930,12 @@ "arguments": [ { "argumentTypes": null, - "id": 458, + "id": 446, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "7006:4:0", + "referencedDeclaration": 397, + "src": "6893:4:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5954,12 +5943,12 @@ }, { "argumentTypes": null, - "id": 459, + "id": 447, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "7012:2:0", + "referencedDeclaration": 399, + "src": "6899:2:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5967,12 +5956,12 @@ }, { "argumentTypes": null, - "id": 460, + "id": 448, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "7016:6:0", + "referencedDeclaration": 401, + "src": "6903:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5994,18 +5983,18 @@ "typeString": "uint256" } ], - "id": 457, + "id": 445, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 154, - "src": "6997:8:0", + "src": "6884:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 461, + "id": 449, "isConstant": false, "isLValue": false, "isPure": false, @@ -6013,28 +6002,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6997:26:0", + "src": "6884:26:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 462, + "id": 450, "nodeType": "EmitStatement", - "src": "6992:31:0" + "src": "6879:31:0" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 463, + "id": 451, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "7040:4:0", + "src": "6927:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -6042,15 +6031,15 @@ }, "value": "true" }, - "functionReturnParameters": 417, - "id": 464, + "functionReturnParameters": 405, + "id": 452, "nodeType": "Return", - "src": "7033:11:0" + "src": "6920:11:0" } ] }, "documentation": null, - "id": 466, + "id": 454, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -6058,16 +6047,16 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 414, + "id": 402, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 409, + "id": 397, "name": "from", "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6736:12:0", + "scope": 454, + "src": "6623:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6075,10 +6064,10 @@ "typeString": "address" }, "typeName": { - "id": 408, + "id": 396, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6736:7:0", + "src": "6623:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6089,11 +6078,11 @@ }, { "constant": false, - "id": 411, + "id": 399, "name": "to", "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6750:10:0", + "scope": 454, + "src": "6637:10:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6101,10 +6090,10 @@ "typeString": "address" }, "typeName": { - "id": 410, + "id": 398, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6750:7:0", + "src": "6637:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6115,11 +6104,11 @@ }, { "constant": false, - "id": 413, + "id": 401, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6762:11:0", + "scope": 454, + "src": "6649:11:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6127,10 +6116,10 @@ "typeString": "uint256" }, "typeName": { - "id": 412, + "id": 400, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "6762:4:0", + "src": "6649:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6140,20 +6129,20 @@ "visibility": "internal" } ], - "src": "6735:39:0" + "src": "6622:39:0" }, "payable": false, "returnParameters": { - "id": 417, + "id": 405, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 416, + "id": 404, "name": "success", "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6791:12:0", + "scope": 454, + "src": "6678:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6161,10 +6150,10 @@ "typeString": "bool" }, "typeName": { - "id": 415, + "id": 403, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6791:4:0", + "src": "6678:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6174,19 +6163,19 @@ "visibility": "internal" } ], - "src": "6790:14:0" + "src": "6677:14:0" }, - "scope": 551, - "src": "6714:337:0", + "scope": 539, + "src": "6601:337:0", "stateMutability": "nonpayable", "superFunction": 146, "visibility": "public" }, { "body": { - "id": 481, + "id": 469, "nodeType": "Block", - "src": "7425:52:0", + "src": "7312:52:0", "statements": [ { "expression": { @@ -6195,26 +6184,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 475, + "id": 463, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "7442:7:0", + "referencedDeclaration": 265, + "src": "7329:7:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 477, + "id": 465, "indexExpression": { "argumentTypes": null, - "id": 476, + "id": 464, "name": "tokenOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 468, - "src": "7450:10:0", + "referencedDeclaration": 456, + "src": "7337:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6225,21 +6214,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7442:19:0", + "src": "7329:19:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 479, + "id": 467, "indexExpression": { "argumentTypes": null, - "id": 478, + "id": 466, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 470, - "src": "7462:7:0", + "referencedDeclaration": 458, + "src": "7349:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6250,21 +6239,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7442:28:0", + "src": "7329:28:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 474, - "id": 480, + "functionReturnParameters": 462, + "id": 468, "nodeType": "Return", - "src": "7435:35:0" + "src": "7322:35:0" } ] }, "documentation": null, - "id": 482, + "id": 470, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -6272,16 +6261,16 @@ "name": "allowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 471, + "id": 459, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 468, + "id": 456, "name": "tokenOwner", "nodeType": "VariableDeclaration", - "scope": 482, - "src": "7351:18:0", + "scope": 470, + "src": "7238:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6289,10 +6278,10 @@ "typeString": "address" }, "typeName": { - "id": 467, + "id": 455, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7351:7:0", + "src": "7238:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6303,11 +6292,11 @@ }, { "constant": false, - "id": 470, + "id": 458, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 482, - "src": "7371:15:0", + "scope": 470, + "src": "7258:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6315,10 +6304,10 @@ "typeString": "address" }, "typeName": { - "id": 469, + "id": 457, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7371:7:0", + "src": "7258:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6328,20 +6317,20 @@ "visibility": "internal" } ], - "src": "7350:37:0" + "src": "7237:37:0" }, "payable": false, "returnParameters": { - "id": 474, + "id": 462, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 473, + "id": 461, "name": "remaining", "nodeType": "VariableDeclaration", - "scope": 482, - "src": "7409:14:0", + "scope": 470, + "src": "7296:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6349,10 +6338,10 @@ "typeString": "uint256" }, "typeName": { - "id": 472, + "id": 460, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "7409:4:0", + "src": "7296:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6362,24 +6351,24 @@ "visibility": "internal" } ], - "src": "7408:16:0" + "src": "7295:16:0" }, - "scope": 551, - "src": "7332:145:0", + "scope": 539, + "src": "7219:145:0", "stateMutability": "view", "superFunction": 117, "visibility": "public" }, { "body": { - "id": 522, + "id": 510, "nodeType": "Block", - "src": "7933:216:0", + "src": "7820:216:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 500, + "id": 488, "isConstant": false, "isLValue": false, "isPure": false, @@ -6390,34 +6379,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 493, + "id": 481, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "7943:7:0", + "referencedDeclaration": 265, + "src": "7830:7:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 497, + "id": 485, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 494, + "id": 482, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "7951:3:0", + "referencedDeclaration": 1106, + "src": "7838:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 495, + "id": 483, "isConstant": false, "isLValue": false, "isPure": false, @@ -6425,7 +6414,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7951:10:0", + "src": "7838:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6436,21 +6425,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7943:19:0", + "src": "7830:19:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 498, + "id": 486, "indexExpression": { "argumentTypes": null, - "id": 496, + "id": 484, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "7963:7:0", + "referencedDeclaration": 472, + "src": "7850:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6461,7 +6450,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7943:28:0", + "src": "7830:28:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6471,26 +6460,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 499, + "id": 487, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "7974:6:0", + "referencedDeclaration": 474, + "src": "7861:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7943:37:0", + "src": "7830:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 501, + "id": 489, "nodeType": "ExpressionStatement", - "src": "7943:37:0" + "src": "7830:37:0" }, { "eventCall": { @@ -6500,18 +6489,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 503, + "id": 491, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "8004:3:0", + "referencedDeclaration": 1106, + "src": "7891:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 504, + "id": 492, "isConstant": false, "isLValue": false, "isPure": false, @@ -6519,7 +6508,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8004:10:0", + "src": "7891:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6527,12 +6516,12 @@ }, { "argumentTypes": null, - "id": 505, + "id": 493, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "8016:7:0", + "referencedDeclaration": 472, + "src": "7903:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6540,12 +6529,12 @@ }, { "argumentTypes": null, - "id": 506, + "id": 494, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "8025:6:0", + "referencedDeclaration": 474, + "src": "7912:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6567,18 +6556,18 @@ "typeString": "uint256" } ], - "id": 502, + "id": 490, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 162, - "src": "7995:8:0", + "src": "7882:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 507, + "id": 495, "isConstant": false, "isLValue": false, "isPure": false, @@ -6586,15 +6575,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7995:37:0", + "src": "7882:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 508, + "id": 496, "nodeType": "EmitStatement", - "src": "7990:42:0" + "src": "7877:42:0" }, { "expression": { @@ -6604,18 +6593,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 513, + "id": 501, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "8090:3:0", + "referencedDeclaration": 1106, + "src": "7977:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 514, + "id": 502, "isConstant": false, "isLValue": false, "isPure": false, @@ -6623,7 +6612,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8090:10:0", + "src": "7977:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6631,12 +6620,12 @@ }, { "argumentTypes": null, - "id": 515, + "id": 503, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "8102:6:0", + "referencedDeclaration": 474, + "src": "7989:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6644,25 +6633,25 @@ }, { "argumentTypes": null, - "id": 516, + "id": 504, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 587, - "src": "8110:4:0", + "referencedDeclaration": 1127, + "src": "7997:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_FixedSupplyToken_$551", - "typeString": "contract FixedSupplyToken" + "typeIdentifier": "t_contract$_EmptyToken_$539", + "typeString": "contract EmptyToken" } }, { "argumentTypes": null, - "id": 517, + "id": 505, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 488, - "src": "8116:4:0", + "referencedDeclaration": 476, + "src": "8003:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -6680,8 +6669,8 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_contract$_FixedSupplyToken_$551", - "typeString": "contract FixedSupplyToken" + "typeIdentifier": "t_contract$_EmptyToken_$539", + "typeString": "contract EmptyToken" }, { "typeIdentifier": "t_bytes_memory_ptr", @@ -6693,12 +6682,12 @@ "arguments": [ { "argumentTypes": null, - "id": 510, + "id": 498, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "8065:7:0", + "referencedDeclaration": 472, + "src": "7952:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6712,18 +6701,18 @@ "typeString": "address" } ], - "id": 509, + "id": 497, "name": "ApproveAndCallFallBack", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 175, - "src": "8042:22:0", + "src": "7929:22:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ApproveAndCallFallBack_$175_$", "typeString": "type(contract ApproveAndCallFallBack)" } }, - "id": 511, + "id": 499, "isConstant": false, "isLValue": false, "isPure": false, @@ -6731,13 +6720,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8042:31:0", + "src": "7929:31:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$175", "typeString": "contract ApproveAndCallFallBack" } }, - "id": 512, + "id": 500, "isConstant": false, "isLValue": false, "isPure": false, @@ -6745,13 +6734,13 @@ "memberName": "receiveApproval", "nodeType": "MemberAccess", "referencedDeclaration": 174, - "src": "8042:47:0", + "src": "7929:47:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,uint256,address,bytes memory) external" } }, - "id": 518, + "id": 506, "isConstant": false, "isLValue": false, "isPure": false, @@ -6759,28 +6748,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8042:79:0", + "src": "7929:79:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 519, + "id": 507, "nodeType": "ExpressionStatement", - "src": "8042:79:0" + "src": "7929:79:0" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 520, + "id": 508, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "8138:4:0", + "src": "8025:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -6788,15 +6777,15 @@ }, "value": "true" }, - "functionReturnParameters": 492, - "id": 521, + "functionReturnParameters": 480, + "id": 509, "nodeType": "Return", - "src": "8131:11:0" + "src": "8018:11:0" } ] }, "documentation": null, - "id": 523, + "id": 511, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -6804,16 +6793,16 @@ "name": "approveAndCall", "nodeType": "FunctionDefinition", "parameters": { - "id": 489, + "id": 477, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 484, + "id": 472, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7861:15:0", + "scope": 511, + "src": "7748:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6821,10 +6810,10 @@ "typeString": "address" }, "typeName": { - "id": 483, + "id": 471, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7861:7:0", + "src": "7748:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6835,11 +6824,11 @@ }, { "constant": false, - "id": 486, + "id": 474, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7878:11:0", + "scope": 511, + "src": "7765:11:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6847,10 +6836,10 @@ "typeString": "uint256" }, "typeName": { - "id": 485, + "id": 473, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "7878:4:0", + "src": "7765:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6861,11 +6850,11 @@ }, { "constant": false, - "id": 488, + "id": 476, "name": "data", "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7891:10:0", + "scope": 511, + "src": "7778:10:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6873,10 +6862,10 @@ "typeString": "bytes" }, "typeName": { - "id": 487, + "id": 475, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7891:5:0", + "src": "7778:5:0", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -6886,20 +6875,20 @@ "visibility": "internal" } ], - "src": "7860:42:0" + "src": "7747:42:0" }, "payable": false, "returnParameters": { - "id": 492, + "id": 480, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 491, + "id": 479, "name": "success", "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7919:12:0", + "scope": 511, + "src": "7806:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6907,10 +6896,10 @@ "typeString": "bool" }, "typeName": { - "id": 490, + "id": 478, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7919:4:0", + "src": "7806:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6920,19 +6909,19 @@ "visibility": "internal" } ], - "src": "7918:14:0" + "src": "7805:14:0" }, - "scope": 551, - "src": "7837:312:0", + "scope": 539, + "src": "7724:312:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 529, + "id": 517, "nodeType": "Block", - "src": "8367:25:0", + "src": "8254:25:0", "statements": [ { "expression": { @@ -6940,21 +6929,21 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 526, + "id": 514, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 571, - 572 + 1111, + 1112 ], - "referencedDeclaration": 571, - "src": "8377:6:0", + "referencedDeclaration": 1111, + "src": "8264:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 527, + "id": 515, "isConstant": false, "isLValue": false, "isPure": false, @@ -6962,20 +6951,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8377:8:0", + "src": "8264:8:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 528, + "id": 516, "nodeType": "ExpressionStatement", - "src": "8377:8:0" + "src": "8264:8:0" } ] }, "documentation": null, - "id": 530, + "id": 518, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -6983,29 +6972,29 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 524, + "id": 512, "nodeType": "ParameterList", "parameters": [], - "src": "8349:2:0" + "src": "8236:2:0" }, "payable": true, "returnParameters": { - "id": 525, + "id": 513, "nodeType": "ParameterList", "parameters": [], - "src": "8367:0:0" + "src": "8254:0:0" }, - "scope": 551, - "src": "8340:52:0", + "scope": 539, + "src": "8227:52:0", "stateMutability": "payable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 549, + "id": 537, "nodeType": "Block", - "src": "8730:76:0", + "src": "8617:76:0", "statements": [ { "expression": { @@ -7013,12 +7002,12 @@ "arguments": [ { "argumentTypes": null, - "id": 545, + "id": 533, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 177, - "src": "8785:5:0", + "src": "8672:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7026,12 +7015,12 @@ }, { "argumentTypes": null, - "id": 546, + "id": 534, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 534, - "src": "8792:6:0", + "referencedDeclaration": 522, + "src": "8679:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7054,12 +7043,12 @@ "arguments": [ { "argumentTypes": null, - "id": 542, + "id": 530, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 532, - "src": "8762:12:0", + "referencedDeclaration": 520, + "src": "8649:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7073,18 +7062,18 @@ "typeString": "address" } ], - "id": 541, + "id": 529, "name": "ERC20Interface", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 163, - "src": "8747:14:0", + "src": "8634:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ERC20Interface_$163_$", "typeString": "type(contract ERC20Interface)" } }, - "id": 543, + "id": 531, "isConstant": false, "isLValue": false, "isPure": false, @@ -7092,13 +7081,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8747:28:0", + "src": "8634:28:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20Interface_$163", "typeString": "contract ERC20Interface" } }, - "id": 544, + "id": 532, "isConstant": false, "isLValue": false, "isPure": false, @@ -7106,13 +7095,13 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 126, - "src": "8747:37:0", + "src": "8634:37:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 547, + "id": 535, "isConstant": false, "isLValue": false, "isPure": false, @@ -7120,58 +7109,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8747:52:0", + "src": "8634:52:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 540, - "id": 548, + "functionReturnParameters": 528, + "id": 536, "nodeType": "Return", - "src": "8740:59:0" + "src": "8627:59:0" } ] }, "documentation": null, - "id": 550, + "id": 538, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 537, + "id": 525, "modifierName": { "argumentTypes": null, - "id": 536, + "id": 524, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 205, - "src": "8697:9:0", + "src": "8584:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "8697:9:0" + "src": "8584:9:0" } ], "name": "transferAnyERC20Token", "nodeType": "FunctionDefinition", "parameters": { - "id": 535, + "id": 523, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 532, + "id": 520, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 550, - "src": "8655:20:0", + "scope": 538, + "src": "8542:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7179,10 +7168,10 @@ "typeString": "address" }, "typeName": { - "id": 531, + "id": 519, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8655:7:0", + "src": "8542:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7193,11 +7182,11 @@ }, { "constant": false, - "id": 534, + "id": 522, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 550, - "src": "8677:11:0", + "scope": 538, + "src": "8564:11:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7205,10 +7194,10 @@ "typeString": "uint256" }, "typeName": { - "id": 533, + "id": 521, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "8677:4:0", + "src": "8564:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7218,20 +7207,20 @@ "visibility": "internal" } ], - "src": "8654:35:0" + "src": "8541:35:0" }, "payable": false, "returnParameters": { - "id": 540, + "id": 528, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 539, + "id": 527, "name": "success", "nodeType": "VariableDeclaration", - "scope": 550, - "src": "8716:12:0", + "scope": 538, + "src": "8603:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7239,10 +7228,10 @@ "typeString": "bool" }, "typeName": { - "id": 538, + "id": 526, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "8716:4:0", + "src": "8603:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7252,23 +7241,23 @@ "visibility": "internal" } ], - "src": "8715:14:0" + "src": "8602:14:0" }, - "scope": 551, - "src": "8624:182:0", + "scope": 539, + "src": "8511:182:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 552, - "src": "3506:5302:0" + "scope": 540, + "src": "3506:5189:0" } ], - "src": "0:8808:0" + "src": "0:8695:0" }, "legacyAST": { - "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/test/MyToken.sol", + "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/test/EmptyToken.sol", "exportedSymbols": { "ApproveAndCallFallBack": [ 175 @@ -7276,8 +7265,8 @@ "ERC20Interface": [ 163 ], - "FixedSupplyToken": [ - 551 + "EmptyToken": [ + 539 ], "Owned": [ 244 @@ -7286,7 +7275,7 @@ 96 ] }, - "id": 552, + "id": 540, "nodeType": "SourceUnit", "nodes": [ { @@ -7458,10 +7447,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 569, - 570 + 1109, + 1110 ], - "referencedDeclaration": 569, + "referencedDeclaration": 1109, "src": "748:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -7662,10 +7651,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 569, - 570 + 1109, + 1110 ], - "referencedDeclaration": 569, + "referencedDeclaration": 1109, "src": "845:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -8123,10 +8112,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 569, - 570 + 1109, + 1110 ], - "referencedDeclaration": 569, + "referencedDeclaration": 1109, "src": "980:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -8332,10 +8321,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 569, - 570 + 1109, + 1110 ], - "referencedDeclaration": 569, + "referencedDeclaration": 1109, "src": "1091:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -8548,7 +8537,7 @@ "visibility": "internal" } ], - "scope": 552, + "scope": 540, "src": "636:497:0" }, { @@ -9358,7 +9347,7 @@ "src": "2001:81:0" } ], - "scope": 552, + "scope": 540, "src": "1395:689:0" }, { @@ -9509,7 +9498,7 @@ "visibility": "public" } ], - "scope": 552, + "scope": 540, "src": "2353:129:0" }, { @@ -9683,7 +9672,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, + "referencedDeclaration": 1106, "src": "2856:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -9772,7 +9761,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, + "referencedDeclaration": 1106, "src": "2916:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -9826,10 +9815,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 569, - 570 + 1109, + 1110 ], - "referencedDeclaration": 569, + "referencedDeclaration": 1109, "src": "2908:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -10031,7 +10020,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, + "referencedDeclaration": 1106, "src": "3117:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -10085,10 +10074,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 569, - 570 + 1109, + 1110 ], - "referencedDeclaration": 569, + "referencedDeclaration": 1109, "src": "3109:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -10349,7 +10338,7 @@ "visibility": "public" } ], - "scope": 552, + "scope": 540, "src": "2663:595:0" }, { @@ -10362,7 +10351,7 @@ "name": "ERC20Interface", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 163, - "src": "3535:14:0", + "src": "3529:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20Interface_$163", "typeString": "contract ERC20Interface" @@ -10370,7 +10359,7 @@ }, "id": 246, "nodeType": "InheritanceSpecifier", - "src": "3535:14:0" + "src": "3529:14:0" }, { "arguments": null, @@ -10380,7 +10369,7 @@ "name": "Owned", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 244, - "src": "3551:5:0", + "src": "3545:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Owned_$244", "typeString": "contract Owned" @@ -10388,23 +10377,23 @@ }, "id": 248, "nodeType": "InheritanceSpecifier", - "src": "3551:5:0" + "src": "3545:5:0" } ], "contractDependencies": [ - 244, - 163 + 163, + 244 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 551, + "id": 539, "linearizedBaseContracts": [ - 551, + 539, 244, 163 ], - "name": "FixedSupplyToken", + "name": "EmptyToken", "nodeType": "ContractDefinition", "nodes": [ { @@ -10415,19 +10404,19 @@ "name": "SafeMath", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 96, - "src": "3569:8:0", + "src": "3563:8:0", "typeDescriptions": { "typeIdentifier": "t_contract$_SafeMath_$96", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "3563:24:0", + "src": "3557:24:0", "typeName": { "id": 250, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3582:4:0", + "src": "3576:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10437,62 +10426,10 @@ { "constant": false, "id": 253, - "name": "symbol", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3593:20:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 252, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3593:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 255, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3619:19:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 254, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3619:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 257, "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3644:21:0", + "scope": 539, + "src": "3587:21:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -10500,10 +10437,10 @@ "typeString": "uint8" }, "typeName": { - "id": 256, + "id": 252, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3644:5:0", + "src": "3587:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -10514,11 +10451,11 @@ }, { "constant": false, - "id": 259, + "id": 255, "name": "_totalSupply", "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3671:17:0", + "scope": 539, + "src": "3614:17:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -10526,10 +10463,10 @@ "typeString": "uint256" }, "typeName": { - "id": 258, + "id": 254, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3671:4:0", + "src": "3614:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10540,11 +10477,11 @@ }, { "constant": false, - "id": 263, + "id": 259, "name": "balances", "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3695:33:0", + "scope": 539, + "src": "3638:33:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -10552,28 +10489,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 262, + "id": 258, "keyType": { - "id": 260, + "id": 256, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3703:7:0", + "src": "3646:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "3695:24:0", + "src": "3638:24:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 261, + "id": 257, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3714:4:0", + "src": "3657:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10585,11 +10522,11 @@ }, { "constant": false, - "id": 269, + "id": 265, "name": "allowed", "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3734:52:0", + "scope": 539, + "src": "3677:52:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -10597,46 +10534,46 @@ "typeString": "mapping(address => mapping(address => uint256))" }, "typeName": { - "id": 268, + "id": 264, "keyType": { - "id": 264, + "id": 260, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3742:7:0", + "src": "3685:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "3734:44:0", + "src": "3677:44:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" }, "valueType": { - "id": 267, + "id": 263, "keyType": { - "id": 265, + "id": 261, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3761:7:0", + "src": "3704:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "3753:24:0", + "src": "3696:24:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 266, + "id": 262, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3772:4:0", + "src": "3715:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10649,128 +10586,26 @@ }, { "body": { - "id": 308, + "id": 296, "nodeType": "Block", - "src": "3994:235:0", + "src": "3937:179:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 274, + "id": 270, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 272, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 253, - "src": "4004:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "544b4e", - "id": 273, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4013:5:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9ee187a325c80a9ca820b4f297a58770bf5a85fede3756f8e7e9d14ff37d7b66", - "typeString": "literal_string \"TKN\"" - }, - "value": "TKN" - }, - "src": "4004:14:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 275, - "nodeType": "ExpressionStatement", - "src": "4004:14:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 276, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 255, - "src": "4028:4:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "546f6b656e204578616d706c65", - "id": 277, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4035:15:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e57db44f555e20abcea99743d90b2c763b40df4478f8c8195ecabb23fc906e9a", - "typeString": "literal_string \"Token Example\"" - }, - "value": "Token Example" - }, - "src": "4028:22:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 279, - "nodeType": "ExpressionStatement", - "src": "4028:22:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 280, + "id": 268, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 257, - "src": "4060:8:0", + "referencedDeclaration": 253, + "src": "3947:8:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -10781,14 +10616,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "3138", - "id": 281, + "id": 269, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4071:2:0", + "src": "3958:2:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_18_by_1", @@ -10796,32 +10631,32 @@ }, "value": "18" }, - "src": "4060:13:0", + "src": "3947:13:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 283, + "id": 271, "nodeType": "ExpressionStatement", - "src": "4060:13:0" + "src": "3947:13:0" }, { "expression": { "argumentTypes": null, - "id": 292, + "id": 280, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 284, + "id": 272, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4083:12:0", + "referencedDeclaration": 255, + "src": "3970:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10835,7 +10670,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 291, + "id": 279, "isConstant": false, "isLValue": false, "isPure": false, @@ -10843,14 +10678,14 @@ "leftExpression": { "argumentTypes": null, "hexValue": "31303030303030", - "id": 285, + "id": 273, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4098:7:0", + "src": "3985:7:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1000000_by_1", @@ -10866,7 +10701,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 290, + "id": 278, "isConstant": false, "isLValue": false, "isPure": false, @@ -10874,14 +10709,14 @@ "leftExpression": { "argumentTypes": null, "hexValue": "3130", - "id": 286, + "id": 274, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4108:2:0", + "src": "3995:2:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -10896,12 +10731,12 @@ "arguments": [ { "argumentTypes": null, - "id": 288, + "id": 276, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 257, - "src": "4117:8:0", + "referencedDeclaration": 253, + "src": "4004:8:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -10915,20 +10750,20 @@ "typeString": "uint8" } ], - "id": 287, + "id": 275, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4112:4:0", + "src": "3999:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint" }, - "id": 289, + "id": 277, "isConstant": false, "isLValue": false, "isPure": false, @@ -10936,38 +10771,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4112:14:0", + "src": "3999:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4108:18:0", + "src": "3995:18:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4098:28:0", + "src": "3985:28:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4083:43:0", + "src": "3970:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 293, + "id": 281, "nodeType": "ExpressionStatement", - "src": "4083:43:0" + "src": "3970:43:0" }, { "expression": { "argumentTypes": null, - "id": 298, + "id": 286, "isConstant": false, "isLValue": false, "isPure": false, @@ -10976,26 +10811,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 294, + "id": 282, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "4136:8:0", + "referencedDeclaration": 259, + "src": "4023:8:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 296, + "id": 284, "indexExpression": { "argumentTypes": null, - "id": 295, + "id": 283, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 177, - "src": "4145:5:0", + "src": "4032:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11006,7 +10841,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4136:15:0", + "src": "4023:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11016,26 +10851,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 297, + "id": 285, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4154:12:0", + "referencedDeclaration": 255, + "src": "4041:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4136:30:0", + "src": "4023:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 299, + "id": 287, "nodeType": "ExpressionStatement", - "src": "4136:30:0" + "src": "4023:30:0" }, { "eventCall": { @@ -11047,14 +10882,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 302, + "id": 290, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4198:1:0", + "src": "4085:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11070,20 +10905,20 @@ "typeString": "int_const 0" } ], - "id": 301, + "id": 289, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4190:7:0", + "src": "4077:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 303, + "id": 291, "isConstant": false, "isLValue": false, "isPure": true, @@ -11091,7 +10926,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4190:10:0", + "src": "4077:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11099,12 +10934,12 @@ }, { "argumentTypes": null, - "id": 304, + "id": 292, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 177, - "src": "4202:5:0", + "src": "4089:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11112,12 +10947,12 @@ }, { "argumentTypes": null, - "id": 305, + "id": 293, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4209:12:0", + "referencedDeclaration": 255, + "src": "4096:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11139,18 +10974,18 @@ "typeString": "uint256" } ], - "id": 300, + "id": 288, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 154, - "src": "4181:8:0", + "src": "4068:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 306, + "id": 294, "isConstant": false, "isLValue": false, "isPure": false, @@ -11158,20 +10993,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4181:41:0", + "src": "4068:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 307, + "id": 295, "nodeType": "EmitStatement", - "src": "4176:46:0" + "src": "4063:46:0" } ] }, "documentation": null, - "id": 309, + "id": 297, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -11179,29 +11014,29 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 270, + "id": 266, "nodeType": "ParameterList", "parameters": [], - "src": "3984:2:0" + "src": "3927:2:0" }, "payable": false, "returnParameters": { - "id": 271, + "id": 267, "nodeType": "ParameterList", "parameters": [], - "src": "3994:0:0" + "src": "3937:0:0" }, - "scope": 551, - "src": "3973:256:0", + "scope": 539, + "src": "3916:200:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 323, + "id": 311, "nodeType": "Block", - "src": "4466:62:0", + "src": "4353:62:0", "statements": [ { "expression": { @@ -11211,32 +11046,32 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 316, + "id": 304, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "4500:8:0", + "referencedDeclaration": 259, + "src": "4387:8:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 320, + "id": 308, "indexExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", - "id": 318, + "id": 306, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4517:1:0", + "src": "4404:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11252,20 +11087,20 @@ "typeString": "int_const 0" } ], - "id": 317, + "id": 305, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4509:7:0", + "src": "4396:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 319, + "id": 307, "isConstant": false, "isLValue": false, "isPure": true, @@ -11273,7 +11108,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4509:10:0", + "src": "4396:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11284,7 +11119,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4500:20:0", + "src": "4387:20:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11300,18 +11135,18 @@ ], "expression": { "argumentTypes": null, - "id": 314, + "id": 302, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4483:12:0", + "referencedDeclaration": 255, + "src": "4370:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 315, + "id": 303, "isConstant": false, "isLValue": false, "isPure": false, @@ -11319,13 +11154,13 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 45, - "src": "4483:16:0", + "src": "4370:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 321, + "id": 309, "isConstant": false, "isLValue": false, "isPure": false, @@ -11333,21 +11168,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4483:38:0", + "src": "4370:38:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 313, - "id": 322, + "functionReturnParameters": 301, + "id": 310, "nodeType": "Return", - "src": "4476:45:0" + "src": "4363:45:0" } ] }, "documentation": null, - "id": 324, + "id": 312, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -11355,23 +11190,23 @@ "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 310, + "id": 298, "nodeType": "ParameterList", "parameters": [], - "src": "4436:2:0" + "src": "4323:2:0" }, "payable": false, "returnParameters": { - "id": 313, + "id": 301, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 312, + "id": 300, "name": "", "nodeType": "VariableDeclaration", - "scope": 324, - "src": "4460:4:0", + "scope": 312, + "src": "4347:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11379,10 +11214,10 @@ "typeString": "uint256" }, "typeName": { - "id": 311, + "id": 299, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4460:4:0", + "src": "4347:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11392,45 +11227,45 @@ "visibility": "internal" } ], - "src": "4459:6:0" + "src": "4346:6:0" }, - "scope": 551, - "src": "4416:112:0", + "scope": 539, + "src": "4303:112:0", "stateMutability": "view", "superFunction": 101, "visibility": "public" }, { "body": { - "id": 335, + "id": 323, "nodeType": "Block", - "src": "4823:44:0", + "src": "4710:44:0", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 331, + "id": 319, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "4840:8:0", + "referencedDeclaration": 259, + "src": "4727:8:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 333, + "id": 321, "indexExpression": { "argumentTypes": null, - "id": 332, + "id": 320, "name": "tokenOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 326, - "src": "4849:10:0", + "referencedDeclaration": 314, + "src": "4736:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11441,21 +11276,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4840:20:0", + "src": "4727:20:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 330, - "id": 334, + "functionReturnParameters": 318, + "id": 322, "nodeType": "Return", - "src": "4833:27:0" + "src": "4720:27:0" } ] }, "documentation": null, - "id": 336, + "id": 324, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -11463,16 +11298,16 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 327, + "id": 315, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 326, + "id": 314, "name": "tokenOwner", "nodeType": "VariableDeclaration", - "scope": 336, - "src": "4768:18:0", + "scope": 324, + "src": "4655:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11480,10 +11315,10 @@ "typeString": "address" }, "typeName": { - "id": 325, + "id": 313, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4768:7:0", + "src": "4655:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11493,20 +11328,20 @@ "visibility": "internal" } ], - "src": "4767:20:0" + "src": "4654:20:0" }, "payable": false, "returnParameters": { - "id": 330, + "id": 318, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 329, + "id": 317, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 336, - "src": "4809:12:0", + "scope": 324, + "src": "4696:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11514,10 +11349,10 @@ "typeString": "uint256" }, "typeName": { - "id": 328, + "id": 316, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4809:4:0", + "src": "4696:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11527,24 +11362,24 @@ "visibility": "internal" } ], - "src": "4808:14:0" + "src": "4695:14:0" }, - "scope": 551, - "src": "4749:118:0", + "scope": 539, + "src": "4636:118:0", "stateMutability": "view", "superFunction": 108, "visibility": "public" }, { "body": { - "id": 378, + "id": 366, "nodeType": "Block", - "src": "5283:189:0", + "src": "5170:189:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 356, + "id": 344, "isConstant": false, "isLValue": false, "isPure": false, @@ -11553,34 +11388,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 345, + "id": 333, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5293:8:0", + "referencedDeclaration": 259, + "src": "5180:8:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 348, + "id": 336, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 346, + "id": 334, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "5302:3:0", + "referencedDeclaration": 1106, + "src": "5189:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 347, + "id": 335, "isConstant": false, "isLValue": false, "isPure": false, @@ -11588,7 +11423,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5302:10:0", + "src": "5189:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11599,7 +11434,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5293:20:0", + "src": "5180:20:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11612,12 +11447,180 @@ "arguments": [ { "argumentTypes": null, - "id": 354, + "id": 342, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "5341:6:0", + "referencedDeclaration": 328, + "src": "5228:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 337, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 259, + "src": "5203:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 340, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 338, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1106, + "src": "5212:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5212:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5203:20:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 45, + "src": "5203:24:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5203:32:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5180:55:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 345, + "nodeType": "ExpressionStatement", + "src": "5180:55:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 346, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 259, + "src": "5245:8:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 348, + "indexExpression": { + "argumentTypes": null, + "id": 347, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 326, + "src": "5254:2:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5245:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 353, + "name": "tokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 328, + "src": "5277:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11639,190 +11642,22 @@ "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5316:8:0", + "referencedDeclaration": 259, + "src": "5260:8:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 352, + "id": 351, "indexExpression": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 350, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "5325:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5325:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5316:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "5316:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5316:32:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5293:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 357, - "nodeType": "ExpressionStatement", - "src": "5293:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 358, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5358:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 360, - "indexExpression": { - "argumentTypes": null, - "id": 359, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "5367:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5358:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 365, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "5390:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 361, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5373:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 363, - "indexExpression": { - "argumentTypes": null, - "id": 362, + "id": 350, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "5382:2:0", + "referencedDeclaration": 326, + "src": "5269:2:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11833,13 +11668,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5373:12:0", + "src": "5260:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 364, + "id": 352, "isConstant": false, "isLValue": false, "isPure": false, @@ -11847,13 +11682,13 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 23, - "src": "5373:16:0", + "src": "5260:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 366, + "id": 354, "isConstant": false, "isLValue": false, "isPure": false, @@ -11861,21 +11696,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5373:24:0", + "src": "5260:24:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5358:39:0", + "src": "5245:39:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 368, + "id": 356, "nodeType": "ExpressionStatement", - "src": "5358:39:0" + "src": "5245:39:0" }, { "eventCall": { @@ -11885,18 +11720,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 370, + "id": 358, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "5421:3:0", + "referencedDeclaration": 1106, + "src": "5308:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 371, + "id": 359, "isConstant": false, "isLValue": false, "isPure": false, @@ -11904,7 +11739,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5421:10:0", + "src": "5308:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11912,12 +11747,12 @@ }, { "argumentTypes": null, - "id": 372, + "id": 360, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "5433:2:0", + "referencedDeclaration": 326, + "src": "5320:2:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11925,12 +11760,12 @@ }, { "argumentTypes": null, - "id": 373, + "id": 361, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "5437:6:0", + "referencedDeclaration": 328, + "src": "5324:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11952,18 +11787,18 @@ "typeString": "uint256" } ], - "id": 369, + "id": 357, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 154, - "src": "5412:8:0", + "src": "5299:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 374, + "id": 362, "isConstant": false, "isLValue": false, "isPure": false, @@ -11971,28 +11806,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5412:32:0", + "src": "5299:32:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 375, + "id": 363, "nodeType": "EmitStatement", - "src": "5407:37:0" + "src": "5294:37:0" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 376, + "id": 364, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "5461:4:0", + "src": "5348:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -12000,15 +11835,15 @@ }, "value": "true" }, - "functionReturnParameters": 344, - "id": 377, + "functionReturnParameters": 332, + "id": 365, "nodeType": "Return", - "src": "5454:11:0" + "src": "5341:11:0" } ] }, "documentation": null, - "id": 379, + "id": 367, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -12016,16 +11851,16 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 341, + "id": 329, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 338, + "id": 326, "name": "to", "nodeType": "VariableDeclaration", - "scope": 379, - "src": "5228:10:0", + "scope": 367, + "src": "5115:10:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12033,10 +11868,10 @@ "typeString": "address" }, "typeName": { - "id": 337, + "id": 325, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5228:7:0", + "src": "5115:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12047,11 +11882,11 @@ }, { "constant": false, - "id": 340, + "id": 328, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 379, - "src": "5240:11:0", + "scope": 367, + "src": "5127:11:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12059,10 +11894,10 @@ "typeString": "uint256" }, "typeName": { - "id": 339, + "id": 327, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "5240:4:0", + "src": "5127:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12072,20 +11907,20 @@ "visibility": "internal" } ], - "src": "5227:25:0" + "src": "5114:25:0" }, "payable": false, "returnParameters": { - "id": 344, + "id": 332, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 343, + "id": 331, "name": "success", "nodeType": "VariableDeclaration", - "scope": 379, - "src": "5269:12:0", + "scope": 367, + "src": "5156:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12093,10 +11928,10 @@ "typeString": "bool" }, "typeName": { - "id": 342, + "id": 330, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5269:4:0", + "src": "5156:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12106,24 +11941,24 @@ "visibility": "internal" } ], - "src": "5268:14:0" + "src": "5155:14:0" }, - "scope": 551, - "src": "5210:262:0", + "scope": 539, + "src": "5097:262:0", "stateMutability": "nonpayable", "superFunction": 126, "visibility": "public" }, { "body": { - "id": 406, + "id": 394, "nodeType": "Block", - "src": "6055:127:0", + "src": "5942:127:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 395, + "id": 383, "isConstant": false, "isLValue": false, "isPure": false, @@ -12134,34 +11969,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 388, + "id": 376, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "6065:7:0", + "referencedDeclaration": 265, + "src": "5952:7:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 392, + "id": 380, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 389, + "id": 377, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6073:3:0", + "referencedDeclaration": 1106, + "src": "5960:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 390, + "id": 378, "isConstant": false, "isLValue": false, "isPure": false, @@ -12169,7 +12004,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6073:10:0", + "src": "5960:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12180,21 +12015,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6065:19:0", + "src": "5952:19:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 393, + "id": 381, "indexExpression": { "argumentTypes": null, - "id": 391, + "id": 379, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 381, - "src": "6085:7:0", + "referencedDeclaration": 369, + "src": "5972:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12205,7 +12040,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6065:28:0", + "src": "5952:28:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12215,26 +12050,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 394, + "id": 382, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 383, - "src": "6096:6:0", + "referencedDeclaration": 371, + "src": "5983:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6065:37:0", + "src": "5952:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 396, + "id": 384, "nodeType": "ExpressionStatement", - "src": "6065:37:0" + "src": "5952:37:0" }, { "eventCall": { @@ -12244,18 +12079,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 398, + "id": 386, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6126:3:0", + "referencedDeclaration": 1106, + "src": "6013:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 399, + "id": 387, "isConstant": false, "isLValue": false, "isPure": false, @@ -12263,7 +12098,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6126:10:0", + "src": "6013:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12271,12 +12106,12 @@ }, { "argumentTypes": null, - "id": 400, + "id": 388, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 381, - "src": "6138:7:0", + "referencedDeclaration": 369, + "src": "6025:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12284,12 +12119,12 @@ }, { "argumentTypes": null, - "id": 401, + "id": 389, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 383, - "src": "6147:6:0", + "referencedDeclaration": 371, + "src": "6034:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12311,18 +12146,18 @@ "typeString": "uint256" } ], - "id": 397, + "id": 385, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 162, - "src": "6117:8:0", + "src": "6004:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 402, + "id": 390, "isConstant": false, "isLValue": false, "isPure": false, @@ -12330,28 +12165,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6117:37:0", + "src": "6004:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 403, + "id": 391, "nodeType": "EmitStatement", - "src": "6112:42:0" + "src": "5999:42:0" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 404, + "id": 392, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "6171:4:0", + "src": "6058:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -12359,15 +12194,15 @@ }, "value": "true" }, - "functionReturnParameters": 387, - "id": 405, + "functionReturnParameters": 375, + "id": 393, "nodeType": "Return", - "src": "6164:11:0" + "src": "6051:11:0" } ] }, "documentation": null, - "id": 407, + "id": 395, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -12375,16 +12210,16 @@ "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 384, + "id": 372, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 381, + "id": 369, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 407, - "src": "5995:15:0", + "scope": 395, + "src": "5882:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12392,10 +12227,10 @@ "typeString": "address" }, "typeName": { - "id": 380, + "id": 368, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5995:7:0", + "src": "5882:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12406,11 +12241,11 @@ }, { "constant": false, - "id": 383, + "id": 371, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 407, - "src": "6012:11:0", + "scope": 395, + "src": "5899:11:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12418,10 +12253,10 @@ "typeString": "uint256" }, "typeName": { - "id": 382, + "id": 370, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "6012:4:0", + "src": "5899:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12431,20 +12266,20 @@ "visibility": "internal" } ], - "src": "5994:30:0" + "src": "5881:30:0" }, "payable": false, "returnParameters": { - "id": 387, + "id": 375, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 386, + "id": 374, "name": "success", "nodeType": "VariableDeclaration", - "scope": 407, - "src": "6041:12:0", + "scope": 395, + "src": "5928:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12452,10 +12287,10 @@ "typeString": "bool" }, "typeName": { - "id": 385, + "id": 373, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6041:4:0", + "src": "5928:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12465,24 +12300,24 @@ "visibility": "internal" } ], - "src": "6040:14:0" + "src": "5927:14:0" }, - "scope": 551, - "src": "5978:204:0", + "scope": 539, + "src": "5865:204:0", "stateMutability": "nonpayable", "superFunction": 135, "visibility": "public" }, { "body": { - "id": 465, + "id": 453, "nodeType": "Block", - "src": "6805:246:0", + "src": "6692:246:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 427, + "id": 415, "isConstant": false, "isLValue": false, "isPure": false, @@ -12491,26 +12326,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 418, + "id": 406, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6815:8:0", + "referencedDeclaration": 259, + "src": "6702:8:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 420, + "id": 408, "indexExpression": { "argumentTypes": null, - "id": 419, + "id": 407, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6824:4:0", + "referencedDeclaration": 397, + "src": "6711:4:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12521,7 +12356,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6815:14:0", + "src": "6702:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12534,12 +12369,12 @@ "arguments": [ { "argumentTypes": null, - "id": 425, + "id": 413, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "6851:6:0", + "referencedDeclaration": 401, + "src": "6738:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12557,26 +12392,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 421, + "id": 409, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6832:8:0", + "referencedDeclaration": 259, + "src": "6719:8:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 423, + "id": 411, "indexExpression": { "argumentTypes": null, - "id": 422, + "id": 410, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6841:4:0", + "referencedDeclaration": 397, + "src": "6728:4:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12587,13 +12422,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6832:14:0", + "src": "6719:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 424, + "id": 412, "isConstant": false, "isLValue": false, "isPure": false, @@ -12601,13 +12436,13 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 45, - "src": "6832:18:0", + "src": "6719:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 426, + "id": 414, "isConstant": false, "isLValue": false, "isPure": false, @@ -12615,26 +12450,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6832:26:0", + "src": "6719:26:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6815:43:0", + "src": "6702:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 428, + "id": 416, "nodeType": "ExpressionStatement", - "src": "6815:43:0" + "src": "6702:43:0" }, { "expression": { "argumentTypes": null, - "id": 444, + "id": 432, "isConstant": false, "isLValue": false, "isPure": false, @@ -12645,26 +12480,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 429, + "id": 417, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "6868:7:0", + "referencedDeclaration": 265, + "src": "6755:7:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 433, + "id": 421, "indexExpression": { "argumentTypes": null, - "id": 430, + "id": 418, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6876:4:0", + "referencedDeclaration": 397, + "src": "6763:4:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12675,29 +12510,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6868:13:0", + "src": "6755:13:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 434, + "id": 422, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 431, + "id": 419, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6882:3:0", + "referencedDeclaration": 1106, + "src": "6769:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 432, + "id": 420, "isConstant": false, "isLValue": false, "isPure": false, @@ -12705,7 +12540,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6882:10:0", + "src": "6769:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12716,7 +12551,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6868:25:0", + "src": "6755:25:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12729,12 +12564,12 @@ "arguments": [ { "argumentTypes": null, - "id": 442, + "id": 430, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "6926:6:0", + "referencedDeclaration": 401, + "src": "6813:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12754,26 +12589,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 435, + "id": 423, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "6896:7:0", + "referencedDeclaration": 265, + "src": "6783:7:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 437, + "id": 425, "indexExpression": { "argumentTypes": null, - "id": 436, + "id": 424, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6904:4:0", + "referencedDeclaration": 397, + "src": "6791:4:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12784,29 +12619,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6896:13:0", + "src": "6783:13:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 440, + "id": 428, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 438, + "id": 426, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6910:3:0", + "referencedDeclaration": 1106, + "src": "6797:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 439, + "id": 427, "isConstant": false, "isLValue": false, "isPure": false, @@ -12814,7 +12649,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6910:10:0", + "src": "6797:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12825,13 +12660,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6896:25:0", + "src": "6783:25:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 441, + "id": 429, "isConstant": false, "isLValue": false, "isPure": false, @@ -12839,13 +12674,13 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 45, - "src": "6896:29:0", + "src": "6783:29:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 443, + "id": 431, "isConstant": false, "isLValue": false, "isPure": false, @@ -12853,26 +12688,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6896:37:0", + "src": "6783:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6868:65:0", + "src": "6755:65:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 445, + "id": 433, "nodeType": "ExpressionStatement", - "src": "6868:65:0" + "src": "6755:65:0" }, { "expression": { "argumentTypes": null, - "id": 455, + "id": 443, "isConstant": false, "isLValue": false, "isPure": false, @@ -12881,26 +12716,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 446, + "id": 434, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6943:8:0", + "referencedDeclaration": 259, + "src": "6830:8:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 448, + "id": 436, "indexExpression": { "argumentTypes": null, - "id": 447, + "id": 435, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "6952:2:0", + "referencedDeclaration": 399, + "src": "6839:2:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12911,7 +12746,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6943:12:0", + "src": "6830:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12924,12 +12759,12 @@ "arguments": [ { "argumentTypes": null, - "id": 453, + "id": 441, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "6975:6:0", + "referencedDeclaration": 401, + "src": "6862:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12947,26 +12782,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 449, + "id": 437, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6958:8:0", + "referencedDeclaration": 259, + "src": "6845:8:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 451, + "id": 439, "indexExpression": { "argumentTypes": null, - "id": 450, + "id": 438, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "6967:2:0", + "referencedDeclaration": 399, + "src": "6854:2:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12977,13 +12812,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6958:12:0", + "src": "6845:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 452, + "id": 440, "isConstant": false, "isLValue": false, "isPure": false, @@ -12991,13 +12826,13 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 23, - "src": "6958:16:0", + "src": "6845:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 454, + "id": 442, "isConstant": false, "isLValue": false, "isPure": false, @@ -13005,21 +12840,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6958:24:0", + "src": "6845:24:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6943:39:0", + "src": "6830:39:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 456, + "id": 444, "nodeType": "ExpressionStatement", - "src": "6943:39:0" + "src": "6830:39:0" }, { "eventCall": { @@ -13027,12 +12862,12 @@ "arguments": [ { "argumentTypes": null, - "id": 458, + "id": 446, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "7006:4:0", + "referencedDeclaration": 397, + "src": "6893:4:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13040,12 +12875,12 @@ }, { "argumentTypes": null, - "id": 459, + "id": 447, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "7012:2:0", + "referencedDeclaration": 399, + "src": "6899:2:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13053,12 +12888,12 @@ }, { "argumentTypes": null, - "id": 460, + "id": 448, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "7016:6:0", + "referencedDeclaration": 401, + "src": "6903:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13080,18 +12915,18 @@ "typeString": "uint256" } ], - "id": 457, + "id": 445, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 154, - "src": "6997:8:0", + "src": "6884:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 461, + "id": 449, "isConstant": false, "isLValue": false, "isPure": false, @@ -13099,28 +12934,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6997:26:0", + "src": "6884:26:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 462, + "id": 450, "nodeType": "EmitStatement", - "src": "6992:31:0" + "src": "6879:31:0" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 463, + "id": 451, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "7040:4:0", + "src": "6927:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13128,15 +12963,15 @@ }, "value": "true" }, - "functionReturnParameters": 417, - "id": 464, + "functionReturnParameters": 405, + "id": 452, "nodeType": "Return", - "src": "7033:11:0" + "src": "6920:11:0" } ] }, "documentation": null, - "id": 466, + "id": 454, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -13144,16 +12979,16 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 414, + "id": 402, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 409, + "id": 397, "name": "from", "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6736:12:0", + "scope": 454, + "src": "6623:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13161,10 +12996,10 @@ "typeString": "address" }, "typeName": { - "id": 408, + "id": 396, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6736:7:0", + "src": "6623:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13175,11 +13010,11 @@ }, { "constant": false, - "id": 411, + "id": 399, "name": "to", "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6750:10:0", + "scope": 454, + "src": "6637:10:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13187,10 +13022,10 @@ "typeString": "address" }, "typeName": { - "id": 410, + "id": 398, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6750:7:0", + "src": "6637:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13201,11 +13036,11 @@ }, { "constant": false, - "id": 413, + "id": 401, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6762:11:0", + "scope": 454, + "src": "6649:11:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13213,10 +13048,10 @@ "typeString": "uint256" }, "typeName": { - "id": 412, + "id": 400, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "6762:4:0", + "src": "6649:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13226,20 +13061,20 @@ "visibility": "internal" } ], - "src": "6735:39:0" + "src": "6622:39:0" }, "payable": false, "returnParameters": { - "id": 417, + "id": 405, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 416, + "id": 404, "name": "success", "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6791:12:0", + "scope": 454, + "src": "6678:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13247,10 +13082,10 @@ "typeString": "bool" }, "typeName": { - "id": 415, + "id": 403, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6791:4:0", + "src": "6678:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13260,19 +13095,19 @@ "visibility": "internal" } ], - "src": "6790:14:0" + "src": "6677:14:0" }, - "scope": 551, - "src": "6714:337:0", + "scope": 539, + "src": "6601:337:0", "stateMutability": "nonpayable", "superFunction": 146, "visibility": "public" }, { "body": { - "id": 481, + "id": 469, "nodeType": "Block", - "src": "7425:52:0", + "src": "7312:52:0", "statements": [ { "expression": { @@ -13281,26 +13116,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 475, + "id": 463, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "7442:7:0", + "referencedDeclaration": 265, + "src": "7329:7:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 477, + "id": 465, "indexExpression": { "argumentTypes": null, - "id": 476, + "id": 464, "name": "tokenOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 468, - "src": "7450:10:0", + "referencedDeclaration": 456, + "src": "7337:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13311,21 +13146,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7442:19:0", + "src": "7329:19:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 479, + "id": 467, "indexExpression": { "argumentTypes": null, - "id": 478, + "id": 466, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 470, - "src": "7462:7:0", + "referencedDeclaration": 458, + "src": "7349:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13336,21 +13171,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7442:28:0", + "src": "7329:28:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 474, - "id": 480, + "functionReturnParameters": 462, + "id": 468, "nodeType": "Return", - "src": "7435:35:0" + "src": "7322:35:0" } ] }, "documentation": null, - "id": 482, + "id": 470, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -13358,16 +13193,16 @@ "name": "allowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 471, + "id": 459, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 468, + "id": 456, "name": "tokenOwner", "nodeType": "VariableDeclaration", - "scope": 482, - "src": "7351:18:0", + "scope": 470, + "src": "7238:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13375,10 +13210,10 @@ "typeString": "address" }, "typeName": { - "id": 467, + "id": 455, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7351:7:0", + "src": "7238:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13389,11 +13224,11 @@ }, { "constant": false, - "id": 470, + "id": 458, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 482, - "src": "7371:15:0", + "scope": 470, + "src": "7258:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13401,10 +13236,10 @@ "typeString": "address" }, "typeName": { - "id": 469, + "id": 457, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7371:7:0", + "src": "7258:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13414,20 +13249,20 @@ "visibility": "internal" } ], - "src": "7350:37:0" + "src": "7237:37:0" }, "payable": false, "returnParameters": { - "id": 474, + "id": 462, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 473, + "id": 461, "name": "remaining", "nodeType": "VariableDeclaration", - "scope": 482, - "src": "7409:14:0", + "scope": 470, + "src": "7296:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13435,10 +13270,10 @@ "typeString": "uint256" }, "typeName": { - "id": 472, + "id": 460, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "7409:4:0", + "src": "7296:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13448,24 +13283,24 @@ "visibility": "internal" } ], - "src": "7408:16:0" + "src": "7295:16:0" }, - "scope": 551, - "src": "7332:145:0", + "scope": 539, + "src": "7219:145:0", "stateMutability": "view", "superFunction": 117, "visibility": "public" }, { "body": { - "id": 522, + "id": 510, "nodeType": "Block", - "src": "7933:216:0", + "src": "7820:216:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 500, + "id": 488, "isConstant": false, "isLValue": false, "isPure": false, @@ -13476,34 +13311,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 493, + "id": 481, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "7943:7:0", + "referencedDeclaration": 265, + "src": "7830:7:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 497, + "id": 485, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 494, + "id": 482, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "7951:3:0", + "referencedDeclaration": 1106, + "src": "7838:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 495, + "id": 483, "isConstant": false, "isLValue": false, "isPure": false, @@ -13511,7 +13346,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7951:10:0", + "src": "7838:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13522,21 +13357,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7943:19:0", + "src": "7830:19:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 498, + "id": 486, "indexExpression": { "argumentTypes": null, - "id": 496, + "id": 484, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "7963:7:0", + "referencedDeclaration": 472, + "src": "7850:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13547,7 +13382,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7943:28:0", + "src": "7830:28:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13557,26 +13392,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 499, + "id": 487, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "7974:6:0", + "referencedDeclaration": 474, + "src": "7861:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7943:37:0", + "src": "7830:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 501, + "id": 489, "nodeType": "ExpressionStatement", - "src": "7943:37:0" + "src": "7830:37:0" }, { "eventCall": { @@ -13586,18 +13421,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 503, + "id": 491, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "8004:3:0", + "referencedDeclaration": 1106, + "src": "7891:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 504, + "id": 492, "isConstant": false, "isLValue": false, "isPure": false, @@ -13605,7 +13440,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8004:10:0", + "src": "7891:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13613,12 +13448,12 @@ }, { "argumentTypes": null, - "id": 505, + "id": 493, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "8016:7:0", + "referencedDeclaration": 472, + "src": "7903:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13626,12 +13461,12 @@ }, { "argumentTypes": null, - "id": 506, + "id": 494, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "8025:6:0", + "referencedDeclaration": 474, + "src": "7912:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13653,18 +13488,18 @@ "typeString": "uint256" } ], - "id": 502, + "id": 490, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 162, - "src": "7995:8:0", + "src": "7882:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 507, + "id": 495, "isConstant": false, "isLValue": false, "isPure": false, @@ -13672,15 +13507,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7995:37:0", + "src": "7882:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 508, + "id": 496, "nodeType": "EmitStatement", - "src": "7990:42:0" + "src": "7877:42:0" }, { "expression": { @@ -13690,18 +13525,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 513, + "id": 501, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "8090:3:0", + "referencedDeclaration": 1106, + "src": "7977:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 514, + "id": 502, "isConstant": false, "isLValue": false, "isPure": false, @@ -13709,7 +13544,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8090:10:0", + "src": "7977:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13717,12 +13552,12 @@ }, { "argumentTypes": null, - "id": 515, + "id": 503, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "8102:6:0", + "referencedDeclaration": 474, + "src": "7989:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13730,25 +13565,25 @@ }, { "argumentTypes": null, - "id": 516, + "id": 504, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 587, - "src": "8110:4:0", + "referencedDeclaration": 1127, + "src": "7997:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_FixedSupplyToken_$551", - "typeString": "contract FixedSupplyToken" + "typeIdentifier": "t_contract$_EmptyToken_$539", + "typeString": "contract EmptyToken" } }, { "argumentTypes": null, - "id": 517, + "id": 505, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 488, - "src": "8116:4:0", + "referencedDeclaration": 476, + "src": "8003:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13766,8 +13601,8 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_contract$_FixedSupplyToken_$551", - "typeString": "contract FixedSupplyToken" + "typeIdentifier": "t_contract$_EmptyToken_$539", + "typeString": "contract EmptyToken" }, { "typeIdentifier": "t_bytes_memory_ptr", @@ -13779,12 +13614,12 @@ "arguments": [ { "argumentTypes": null, - "id": 510, + "id": 498, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "8065:7:0", + "referencedDeclaration": 472, + "src": "7952:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13798,18 +13633,18 @@ "typeString": "address" } ], - "id": 509, + "id": 497, "name": "ApproveAndCallFallBack", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 175, - "src": "8042:22:0", + "src": "7929:22:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ApproveAndCallFallBack_$175_$", "typeString": "type(contract ApproveAndCallFallBack)" } }, - "id": 511, + "id": 499, "isConstant": false, "isLValue": false, "isPure": false, @@ -13817,13 +13652,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8042:31:0", + "src": "7929:31:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$175", "typeString": "contract ApproveAndCallFallBack" } }, - "id": 512, + "id": 500, "isConstant": false, "isLValue": false, "isPure": false, @@ -13831,13 +13666,13 @@ "memberName": "receiveApproval", "nodeType": "MemberAccess", "referencedDeclaration": 174, - "src": "8042:47:0", + "src": "7929:47:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,uint256,address,bytes memory) external" } }, - "id": 518, + "id": 506, "isConstant": false, "isLValue": false, "isPure": false, @@ -13845,28 +13680,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8042:79:0", + "src": "7929:79:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 519, + "id": 507, "nodeType": "ExpressionStatement", - "src": "8042:79:0" + "src": "7929:79:0" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 520, + "id": 508, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "8138:4:0", + "src": "8025:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13874,15 +13709,15 @@ }, "value": "true" }, - "functionReturnParameters": 492, - "id": 521, + "functionReturnParameters": 480, + "id": 509, "nodeType": "Return", - "src": "8131:11:0" + "src": "8018:11:0" } ] }, "documentation": null, - "id": 523, + "id": 511, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -13890,16 +13725,16 @@ "name": "approveAndCall", "nodeType": "FunctionDefinition", "parameters": { - "id": 489, + "id": 477, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 484, + "id": 472, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7861:15:0", + "scope": 511, + "src": "7748:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13907,10 +13742,10 @@ "typeString": "address" }, "typeName": { - "id": 483, + "id": 471, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7861:7:0", + "src": "7748:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13921,11 +13756,11 @@ }, { "constant": false, - "id": 486, + "id": 474, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7878:11:0", + "scope": 511, + "src": "7765:11:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13933,10 +13768,10 @@ "typeString": "uint256" }, "typeName": { - "id": 485, + "id": 473, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "7878:4:0", + "src": "7765:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13947,11 +13782,11 @@ }, { "constant": false, - "id": 488, + "id": 476, "name": "data", "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7891:10:0", + "scope": 511, + "src": "7778:10:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13959,10 +13794,10 @@ "typeString": "bytes" }, "typeName": { - "id": 487, + "id": 475, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7891:5:0", + "src": "7778:5:0", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -13972,20 +13807,20 @@ "visibility": "internal" } ], - "src": "7860:42:0" + "src": "7747:42:0" }, "payable": false, "returnParameters": { - "id": 492, + "id": 480, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 491, + "id": 479, "name": "success", "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7919:12:0", + "scope": 511, + "src": "7806:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13993,10 +13828,10 @@ "typeString": "bool" }, "typeName": { - "id": 490, + "id": 478, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7919:4:0", + "src": "7806:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14006,19 +13841,19 @@ "visibility": "internal" } ], - "src": "7918:14:0" + "src": "7805:14:0" }, - "scope": 551, - "src": "7837:312:0", + "scope": 539, + "src": "7724:312:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 529, + "id": 517, "nodeType": "Block", - "src": "8367:25:0", + "src": "8254:25:0", "statements": [ { "expression": { @@ -14026,21 +13861,21 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 526, + "id": 514, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 571, - 572 + 1111, + 1112 ], - "referencedDeclaration": 571, - "src": "8377:6:0", + "referencedDeclaration": 1111, + "src": "8264:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 527, + "id": 515, "isConstant": false, "isLValue": false, "isPure": false, @@ -14048,20 +13883,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8377:8:0", + "src": "8264:8:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 528, + "id": 516, "nodeType": "ExpressionStatement", - "src": "8377:8:0" + "src": "8264:8:0" } ] }, "documentation": null, - "id": 530, + "id": 518, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -14069,29 +13904,29 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 524, + "id": 512, "nodeType": "ParameterList", "parameters": [], - "src": "8349:2:0" + "src": "8236:2:0" }, "payable": true, "returnParameters": { - "id": 525, + "id": 513, "nodeType": "ParameterList", "parameters": [], - "src": "8367:0:0" + "src": "8254:0:0" }, - "scope": 551, - "src": "8340:52:0", + "scope": 539, + "src": "8227:52:0", "stateMutability": "payable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 549, + "id": 537, "nodeType": "Block", - "src": "8730:76:0", + "src": "8617:76:0", "statements": [ { "expression": { @@ -14099,12 +13934,12 @@ "arguments": [ { "argumentTypes": null, - "id": 545, + "id": 533, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 177, - "src": "8785:5:0", + "src": "8672:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14112,12 +13947,12 @@ }, { "argumentTypes": null, - "id": 546, + "id": 534, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 534, - "src": "8792:6:0", + "referencedDeclaration": 522, + "src": "8679:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14140,12 +13975,12 @@ "arguments": [ { "argumentTypes": null, - "id": 542, + "id": 530, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 532, - "src": "8762:12:0", + "referencedDeclaration": 520, + "src": "8649:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14159,18 +13994,18 @@ "typeString": "address" } ], - "id": 541, + "id": 529, "name": "ERC20Interface", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 163, - "src": "8747:14:0", + "src": "8634:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ERC20Interface_$163_$", "typeString": "type(contract ERC20Interface)" } }, - "id": 543, + "id": 531, "isConstant": false, "isLValue": false, "isPure": false, @@ -14178,13 +14013,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8747:28:0", + "src": "8634:28:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20Interface_$163", "typeString": "contract ERC20Interface" } }, - "id": 544, + "id": 532, "isConstant": false, "isLValue": false, "isPure": false, @@ -14192,13 +14027,13 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 126, - "src": "8747:37:0", + "src": "8634:37:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 547, + "id": 535, "isConstant": false, "isLValue": false, "isPure": false, @@ -14206,58 +14041,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8747:52:0", + "src": "8634:52:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 540, - "id": 548, + "functionReturnParameters": 528, + "id": 536, "nodeType": "Return", - "src": "8740:59:0" + "src": "8627:59:0" } ] }, "documentation": null, - "id": 550, + "id": 538, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 537, + "id": 525, "modifierName": { "argumentTypes": null, - "id": 536, + "id": 524, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 205, - "src": "8697:9:0", + "src": "8584:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "8697:9:0" + "src": "8584:9:0" } ], "name": "transferAnyERC20Token", "nodeType": "FunctionDefinition", "parameters": { - "id": 535, + "id": 523, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 532, + "id": 520, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 550, - "src": "8655:20:0", + "scope": 538, + "src": "8542:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14265,10 +14100,10 @@ "typeString": "address" }, "typeName": { - "id": 531, + "id": 519, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8655:7:0", + "src": "8542:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14279,11 +14114,11 @@ }, { "constant": false, - "id": 534, + "id": 522, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 550, - "src": "8677:11:0", + "scope": 538, + "src": "8564:11:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14291,10 +14126,10 @@ "typeString": "uint256" }, "typeName": { - "id": 533, + "id": 521, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "8677:4:0", + "src": "8564:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14304,20 +14139,20 @@ "visibility": "internal" } ], - "src": "8654:35:0" + "src": "8541:35:0" }, "payable": false, "returnParameters": { - "id": 540, + "id": 528, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 539, + "id": 527, "name": "success", "nodeType": "VariableDeclaration", - "scope": 550, - "src": "8716:12:0", + "scope": 538, + "src": "8603:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14325,10 +14160,10 @@ "typeString": "bool" }, "typeName": { - "id": 538, + "id": 526, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "8716:4:0", + "src": "8603:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14338,26 +14173,33 @@ "visibility": "internal" } ], - "src": "8715:14:0" + "src": "8602:14:0" }, - "scope": 551, - "src": "8624:182:0", + "scope": 539, + "src": "8511:182:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 552, - "src": "3506:5302:0" + "scope": 540, + "src": "3506:5189:0" } ], - "src": "0:8808:0" + "src": "0:8695:0" }, "compiler": { "name": "solc", "version": "0.4.24+commit.e67f0147.Emscripten.clang" }, - "networks": {}, + "networks": { + "1531736519464": { + "events": {}, + "links": {}, + "address": "0x0bf35169f79c22f2503970a5d8aea1e74a46adc4", + "transactionHash": "0xdbdf2e9d688eb2a0de189479c1d0acd527285b4e89a49e018d75dfa4283a1a9a" + } + }, "schemaVersion": "2.0.0", - "updatedAt": "2018-07-03T10:29:51.528Z" + "updatedAt": "2018-07-17T07:07:22.320Z" } \ No newline at end of file diff --git a/safe-contracts/build/contracts/test/Owned.json b/safe-contracts/build/contracts/test/Owned.json deleted file mode 100644 index d7b13a16..00000000 --- a/safe-contracts/build/contracts/test/Owned.json +++ /dev/null @@ -1,14264 +0,0 @@ -{ - "contractName": "Owned", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "newOwner", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "_from", - "type": "address" - }, - { - "indexed": true, - "name": "_to", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "name": "_newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610424806100606000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806379ba5097146100675780638da5cb5b1461007e578063d4ee1d90146100d5578063f2fde38b1461012c575b600080fd5b34801561007357600080fd5b5061007c61016f565b005b34801561008a57600080fd5b5061009361030e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100e157600080fd5b506100ea610333565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013857600080fd5b5061016d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610359565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156101cb57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103b457600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820f67e6cd481526b422c4411c5c01e29e82a4382c78505361374fc75559cb89cd70029", - "deployedBytecode": "0x608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806379ba5097146100675780638da5cb5b1461007e578063d4ee1d90146100d5578063f2fde38b1461012c575b600080fd5b34801561007357600080fd5b5061007c61016f565b005b34801561008a57600080fd5b5061009361030e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100e157600080fd5b506100ea610333565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013857600080fd5b5061016d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610359565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156101cb57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103b457600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820f67e6cd481526b422c4411c5c01e29e82a4382c78505361374fc75559cb89cd70029", - "sourceMap": "2663:595:0:-;;;2817:56;8:9:-1;5:2;;;30:1;27;20:12;5:2;2817:56:0;2856:10;2848:5;;:18;;;;;;;;;;;;;;;;;;2663:595;;;;;;", - "deployedSourceMap": "2663:595:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3065:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3065:191:0;;;;;;2684:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2684:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2710:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2710:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2960:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2960:100:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3065:191;3131:8;;;;;;;;;;;3117:22;;:10;:22;;;3109:31;;;;;;;;3183:8;;;;;;;;;;;3155:37;;3176:5;;;;;;;;;;;3155:37;;;;;;;;;;;;3210:8;;;;;;;;;;;3202:5;;:16;;;;;;;;;;;;;;;;;;3247:1;3228:8;;:21;;;;;;;;;;;;;;;;;;3065:191::o;2684:20::-;;;;;;;;;;;;;:::o;2710:23::-;;;;;;;;;;;;;:::o;2960:100::-;2930:5;;;;;;;;;;;2916:19;;:10;:19;;;2908:28;;;;;;;;3044:9;3033:8;;:20;;;;;;;;;;;;;;;;;;2960:100;:::o", - "source": "pragma solidity ^0.4.24;\n\n// ----------------------------------------------------------------------------\n// 'FIXED' 'Example Fixed Supply Token' token contract\n//\n// Symbol : FIXED\n// Name : Example Fixed Supply Token\n// Total supply: 1,000,000.000000000000000000\n// Decimals : 18\n//\n// Enjoy.\n//\n// (c) BokkyPooBah / Bok Consulting Pty Ltd 2018. The MIT Licence.\n// ----------------------------------------------------------------------------\n\n\n// ----------------------------------------------------------------------------\n// Safe maths\n// ----------------------------------------------------------------------------\nlibrary SafeMath {\n function add(uint a, uint b) internal pure returns (uint c) {\n c = a + b;\n require(c >= a);\n }\n function sub(uint a, uint b) internal pure returns (uint c) {\n require(b <= a);\n c = a - b;\n }\n function mul(uint a, uint b) internal pure returns (uint c) {\n c = a * b;\n require(a == 0 || c / a == b);\n }\n function div(uint a, uint b) internal pure returns (uint c) {\n require(b > 0);\n c = a / b;\n }\n}\n\n\n// ----------------------------------------------------------------------------\n// ERC Token Standard #20 Interface\n// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md\n// ----------------------------------------------------------------------------\ncontract ERC20Interface {\n function totalSupply() public constant returns (uint);\n function balanceOf(address tokenOwner) public constant returns (uint balance);\n function allowance(address tokenOwner, address spender) public constant returns (uint remaining);\n function transfer(address to, uint tokens) public returns (bool success);\n function approve(address spender, uint tokens) public returns (bool success);\n function transferFrom(address from, address to, uint tokens) public returns (bool success);\n\n event Transfer(address indexed from, address indexed to, uint tokens);\n event Approval(address indexed tokenOwner, address indexed spender, uint tokens);\n}\n\n\n// ----------------------------------------------------------------------------\n// Contract function to receive approval and execute function in one call\n//\n// Borrowed from MiniMeToken\n// ----------------------------------------------------------------------------\ncontract ApproveAndCallFallBack {\n function receiveApproval(address from, uint256 tokens, address token, bytes data) public;\n}\n\n\n// ----------------------------------------------------------------------------\n// Owned contract\n// ----------------------------------------------------------------------------\ncontract Owned {\n address public owner;\n address public newOwner;\n\n event OwnershipTransferred(address indexed _from, address indexed _to);\n\n constructor() public {\n owner = msg.sender;\n }\n\n modifier onlyOwner {\n require(msg.sender == owner);\n _;\n }\n\n function transferOwnership(address _newOwner) public onlyOwner {\n newOwner = _newOwner;\n }\n function acceptOwnership() public {\n require(msg.sender == newOwner);\n emit OwnershipTransferred(owner, newOwner);\n owner = newOwner;\n newOwner = address(0);\n }\n}\n\n\n// ----------------------------------------------------------------------------\n// ERC20 Token, with the addition of symbol, name and decimals and a\n// fixed supply\n// ----------------------------------------------------------------------------\ncontract FixedSupplyToken is ERC20Interface, Owned {\n using SafeMath for uint;\n\n string public symbol;\n string public name;\n uint8 public decimals;\n uint _totalSupply;\n\n mapping(address => uint) balances;\n mapping(address => mapping(address => uint)) allowed;\n\n\n // ------------------------------------------------------------------------\n // Constructor\n // ------------------------------------------------------------------------\n constructor() public {\n symbol = \"TKN\";\n name = \"Token Example\";\n decimals = 18;\n _totalSupply = 1000000 * 10**uint(decimals);\n balances[owner] = _totalSupply;\n emit Transfer(address(0), owner, _totalSupply);\n }\n\n\n // ------------------------------------------------------------------------\n // Total supply\n // ------------------------------------------------------------------------\n function totalSupply() public view returns (uint) {\n return _totalSupply.sub(balances[address(0)]);\n }\n\n\n // ------------------------------------------------------------------------\n // Get the token balance for account `tokenOwner`\n // ------------------------------------------------------------------------\n function balanceOf(address tokenOwner) public view returns (uint balance) {\n return balances[tokenOwner];\n }\n\n\n // ------------------------------------------------------------------------\n // Transfer the balance from token owner's account to `to` account\n // - Owner's account must have sufficient balance to transfer\n // - 0 value transfers are allowed\n // ------------------------------------------------------------------------\n function transfer(address to, uint tokens) public returns (bool success) {\n balances[msg.sender] = balances[msg.sender].sub(tokens);\n balances[to] = balances[to].add(tokens);\n emit Transfer(msg.sender, to, tokens);\n return true;\n }\n\n\n // ------------------------------------------------------------------------\n // Token owner can approve for `spender` to transferFrom(...) `tokens`\n // from the token owner's account\n //\n // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md\n // recommends that there are no checks for the approval double-spend attack\n // as this should be implemented in user interfaces \n // ------------------------------------------------------------------------\n function approve(address spender, uint tokens) public returns (bool success) {\n allowed[msg.sender][spender] = tokens;\n emit Approval(msg.sender, spender, tokens);\n return true;\n }\n\n\n // ------------------------------------------------------------------------\n // Transfer `tokens` from the `from` account to the `to` account\n // \n // The calling account must already have sufficient tokens approve(...)-d\n // for spending from the `from` account and\n // - From account must have sufficient balance to transfer\n // - Spender must have sufficient allowance to transfer\n // - 0 value transfers are allowed\n // ------------------------------------------------------------------------\n function transferFrom(address from, address to, uint tokens) public returns (bool success) {\n balances[from] = balances[from].sub(tokens);\n allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);\n balances[to] = balances[to].add(tokens);\n emit Transfer(from, to, tokens);\n return true;\n }\n\n\n // ------------------------------------------------------------------------\n // Returns the amount of tokens approved by the owner that can be\n // transferred to the spender's account\n // ------------------------------------------------------------------------\n function allowance(address tokenOwner, address spender) public view returns (uint remaining) {\n return allowed[tokenOwner][spender];\n }\n\n\n // ------------------------------------------------------------------------\n // Token owner can approve for `spender` to transferFrom(...) `tokens`\n // from the token owner's account. The `spender` contract function\n // `receiveApproval(...)` is then executed\n // ------------------------------------------------------------------------\n function approveAndCall(address spender, uint tokens, bytes data) public returns (bool success) {\n allowed[msg.sender][spender] = tokens;\n emit Approval(msg.sender, spender, tokens);\n ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, this, data);\n return true;\n }\n\n\n // ------------------------------------------------------------------------\n // Don't accept ETH\n // ------------------------------------------------------------------------\n function () public payable {\n revert();\n }\n\n\n // ------------------------------------------------------------------------\n // Owner can transfer out any accidentally sent ERC20 tokens\n // ------------------------------------------------------------------------\n function transferAnyERC20Token(address tokenAddress, uint tokens) public onlyOwner returns (bool success) {\n return ERC20Interface(tokenAddress).transfer(owner, tokens);\n }\n}", - "sourcePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/test/MyToken.sol", - "ast": { - "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/test/MyToken.sol", - "exportedSymbols": { - "ApproveAndCallFallBack": [ - 175 - ], - "ERC20Interface": [ - 163 - ], - "FixedSupplyToken": [ - 551 - ], - "Owned": [ - 244 - ], - "SafeMath": [ - 96 - ] - }, - "id": 552, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:24:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 96, - "linearizedBaseContracts": [ - 96 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 22, - "nodeType": "Block", - "src": "719:51:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 14, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8, - "src": "729:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "733:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 12, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5, - "src": "737:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "733:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "729:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15, - "nodeType": "ExpressionStatement", - "src": "729:9:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8, - "src": "756:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 18, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "761:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "756:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 569, - 570 - ], - "referencedDeclaration": 569, - "src": "748:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 20, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "748:15:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 21, - "nodeType": "ExpressionStatement", - "src": "748:15:0" - } - ] - }, - "documentation": null, - "id": 23, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 23, - "src": "672:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "672:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 23, - "src": "680:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "680:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "671:16:0" - }, - "payable": false, - "returnParameters": { - "id": 9, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 23, - "src": "711:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "711:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "710:8:0" - }, - "scope": 96, - "src": "659:111:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 44, - "nodeType": "Block", - "src": "835:51:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 35, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 33, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "853:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 34, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "858:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "853:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 32, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 569, - 570 - ], - "referencedDeclaration": 569, - "src": "845:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 36, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "845:15:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 37, - "nodeType": "ExpressionStatement", - "src": "845:15:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 42, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 38, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30, - "src": "870:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 39, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "874:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 40, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "878:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "874:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "870:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 43, - "nodeType": "ExpressionStatement", - "src": "870:9:0" - } - ] - }, - "documentation": null, - "id": 45, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 45, - "src": "788:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "788:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 45, - "src": "796:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 26, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "796:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "787:16:0" - }, - "payable": false, - "returnParameters": { - "id": 31, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 30, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 45, - "src": "827:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "827:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "826:8:0" - }, - "scope": 96, - "src": "775:111:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 72, - "nodeType": "Block", - "src": "951:65:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 58, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 54, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "961:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 55, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "965:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 56, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "969:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "965:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "961:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 59, - "nodeType": "ExpressionStatement", - "src": "961:9:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 63, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 61, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "988:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 62, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "993:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "988:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 68, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 66, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 64, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "998:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 65, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "1002:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "998:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 67, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "1007:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "998:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "988:20:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 60, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 569, - 570 - ], - "referencedDeclaration": 569, - "src": "980:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 70, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "980:29:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 71, - "nodeType": "ExpressionStatement", - "src": "980:29:0" - } - ] - }, - "documentation": null, - "id": 73, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 50, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 47, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "904:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 46, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "904:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 49, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "912:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 48, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "912:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "903:16:0" - }, - "payable": false, - "returnParameters": { - "id": 53, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 52, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "943:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 51, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "943:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "942:8:0" - }, - "scope": 96, - "src": "891:125:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 94, - "nodeType": "Block", - "src": "1081:50:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 85, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 83, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "1099:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 84, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1103:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1099:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 82, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 569, - 570 - ], - "referencedDeclaration": 569, - "src": "1091:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 86, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1091:14:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 87, - "nodeType": "ExpressionStatement", - "src": "1091:14:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 92, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 88, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80, - "src": "1115:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 91, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 89, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75, - "src": "1119:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 90, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "1123:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1119:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1115:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 93, - "nodeType": "ExpressionStatement", - "src": "1115:9:0" - } - ] - }, - "documentation": null, - "id": 95, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 78, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 95, - "src": "1034:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1034:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 77, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 95, - "src": "1042:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1042:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1033:16:0" - }, - "payable": false, - "returnParameters": { - "id": 81, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 80, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 95, - "src": "1073:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1073:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1072:8:0" - }, - "scope": 96, - "src": "1021:110:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 552, - "src": "636:497:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 163, - "linearizedBaseContracts": [ - 163 - ], - "name": "ERC20Interface", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 101, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 97, - "nodeType": "ParameterList", - "parameters": [], - "src": "1445:2:0" - }, - "payable": false, - "returnParameters": { - "id": 100, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 99, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 101, - "src": "1473:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 98, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1473:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1472:6:0" - }, - "scope": 163, - "src": "1425:54:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 108, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 104, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 103, - "name": "tokenOwner", - "nodeType": "VariableDeclaration", - "scope": 108, - "src": "1503:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 102, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1503:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1502:20:0" - }, - "payable": false, - "returnParameters": { - "id": 107, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 106, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 108, - "src": "1548:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 105, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1548:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1547:14:0" - }, - "scope": 163, - "src": "1484:78:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 117, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 113, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 110, - "name": "tokenOwner", - "nodeType": "VariableDeclaration", - "scope": 117, - "src": "1586:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 109, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1586:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 112, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 117, - "src": "1606:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 111, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1606:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1585:37:0" - }, - "payable": false, - "returnParameters": { - "id": 116, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 115, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 117, - "src": "1648:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 114, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1648:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1647:16:0" - }, - "scope": 163, - "src": "1567:97:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 126, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 122, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 119, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1687:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 118, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1687:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 121, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1699:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 120, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1699:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1686:25:0" - }, - "payable": false, - "returnParameters": { - "id": 125, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 124, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1728:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 123, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1728:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1727:14:0" - }, - "scope": 163, - "src": "1669:73:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 135, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 131, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 128, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 135, - "src": "1764:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 127, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1764:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 130, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 135, - "src": "1781:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 129, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1781:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1763:30:0" - }, - "payable": false, - "returnParameters": { - "id": 134, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 133, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 135, - "src": "1810:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 132, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1810:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1809:14:0" - }, - "scope": 163, - "src": "1747:77:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 146, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 137, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 146, - "src": "1851:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1851:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 139, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 146, - "src": "1865:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1865:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 141, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 146, - "src": "1877:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 140, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1877:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1850:39:0" - }, - "payable": false, - "returnParameters": { - "id": 145, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 144, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 146, - "src": "1906:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 143, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1906:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1905:14:0" - }, - "scope": 163, - "src": "1829:91:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 154, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 153, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 148, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 154, - "src": "1941:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 147, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1941:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 150, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 154, - "src": "1963:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 149, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1963:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 152, - "indexed": false, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 154, - "src": "1983:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 151, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1983:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1940:55:0" - }, - "src": "1926:70:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 162, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 161, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 156, - "indexed": true, - "name": "tokenOwner", - "nodeType": "VariableDeclaration", - "scope": 162, - "src": "2016:26:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 155, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2016:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 158, - "indexed": true, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 162, - "src": "2044:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 157, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2044:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 160, - "indexed": false, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 162, - "src": "2069:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 159, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2069:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2015:66:0" - }, - "src": "2001:81:0" - } - ], - "scope": 552, - "src": "1395:689:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 175, - "linearizedBaseContracts": [ - 175 - ], - "name": "ApproveAndCallFallBack", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 174, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "receiveApproval", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 172, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 165, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2416:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 164, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2416:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 167, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2430:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 166, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2430:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 169, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2446:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 168, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2446:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 171, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2461:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 170, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2461:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2415:57:0" - }, - "payable": false, - "returnParameters": { - "id": 173, - "nodeType": "ParameterList", - "parameters": [], - "src": "2479:0:0" - }, - "scope": 175, - "src": "2391:89:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 552, - "src": "2353:129:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 244, - "linearizedBaseContracts": [ - 244 - ], - "name": "Owned", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 177, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 244, - "src": "2684:20:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 176, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2684:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 179, - "name": "newOwner", - "nodeType": "VariableDeclaration", - "scope": 244, - "src": "2710:23:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 178, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2710:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 185, - "name": "OwnershipTransferred", - "nodeType": "EventDefinition", - "parameters": { - "id": 184, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 181, - "indexed": true, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 185, - "src": "2767:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 180, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2767:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 183, - "indexed": true, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 185, - "src": "2790:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 182, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2790:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2766:44:0" - }, - "src": "2740:71:0" - }, - { - "body": { - "id": 193, - "nodeType": "Block", - "src": "2838:35:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 188, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "2848:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 189, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2856:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2856:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2848:18:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 192, - "nodeType": "ExpressionStatement", - "src": "2848:18:0" - } - ] - }, - "documentation": null, - "id": 194, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 186, - "nodeType": "ParameterList", - "parameters": [], - "src": "2828:2:0" - }, - "payable": false, - "returnParameters": { - "id": 187, - "nodeType": "ParameterList", - "parameters": [], - "src": "2838:0:0" - }, - "scope": 244, - "src": "2817:56:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 204, - "nodeType": "Block", - "src": "2898:56:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 197, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2916:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2916:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 199, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "2930:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2916:19:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 196, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 569, - 570 - ], - "referencedDeclaration": 569, - "src": "2908:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2908:28:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 202, - "nodeType": "ExpressionStatement", - "src": "2908:28:0" - }, - { - "id": 203, - "nodeType": "PlaceholderStatement", - "src": "2946:1:0" - } - ] - }, - "documentation": null, - "id": 205, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 195, - "nodeType": "ParameterList", - "parameters": [], - "src": "2898:0:0" - }, - "src": "2879:75:0", - "visibility": "internal" - }, - { - "body": { - "id": 216, - "nodeType": "Block", - "src": "3023:37:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 212, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3033:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 213, - "name": "_newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "3044:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3033:20:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 215, - "nodeType": "ExpressionStatement", - "src": "3033:20:0" - } - ] - }, - "documentation": null, - "id": 217, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 210, - "modifierName": { - "argumentTypes": null, - "id": 209, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "3013:9:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3013:9:0" - } - ], - "name": "transferOwnership", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 208, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 207, - "name": "_newOwner", - "nodeType": "VariableDeclaration", - "scope": 217, - "src": "2987:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 206, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2987:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2986:19:0" - }, - "payable": false, - "returnParameters": { - "id": 211, - "nodeType": "ParameterList", - "parameters": [], - "src": "3023:0:0" - }, - "scope": 244, - "src": "2960:100:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 242, - "nodeType": "Block", - "src": "3099:157:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 221, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "3117:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3117:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 223, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3131:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3117:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 220, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 569, - 570 - ], - "referencedDeclaration": 569, - "src": "3109:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3109:31:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 226, - "nodeType": "ExpressionStatement", - "src": "3109:31:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 228, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "3176:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 229, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3183:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 227, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 185, - "src": "3155:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3155:37:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 231, - "nodeType": "EmitStatement", - "src": "3150:42:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 232, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "3202:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 233, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3210:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3202:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 235, - "nodeType": "ExpressionStatement", - "src": "3202:16:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 236, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3228:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3247:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3239:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 239, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3239:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3228:21:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 241, - "nodeType": "ExpressionStatement", - "src": "3228:21:0" - } - ] - }, - "documentation": null, - "id": 243, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "acceptOwnership", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 218, - "nodeType": "ParameterList", - "parameters": [], - "src": "3089:2:0" - }, - "payable": false, - "returnParameters": { - "id": 219, - "nodeType": "ParameterList", - "parameters": [], - "src": "3099:0:0" - }, - "scope": 244, - "src": "3065:191:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 552, - "src": "2663:595:0" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 245, - "name": "ERC20Interface", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 163, - "src": "3535:14:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Interface_$163", - "typeString": "contract ERC20Interface" - } - }, - "id": 246, - "nodeType": "InheritanceSpecifier", - "src": "3535:14:0" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 247, - "name": "Owned", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 244, - "src": "3551:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Owned_$244", - "typeString": "contract Owned" - } - }, - "id": 248, - "nodeType": "InheritanceSpecifier", - "src": "3551:5:0" - } - ], - "contractDependencies": [ - 244, - 163 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 551, - "linearizedBaseContracts": [ - 551, - 244, - 163 - ], - "name": "FixedSupplyToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 251, - "libraryName": { - "contractScope": null, - "id": 249, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 96, - "src": "3569:8:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$96", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "3563:24:0", - "typeName": { - "id": 250, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3582:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 253, - "name": "symbol", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3593:20:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 252, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3593:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 255, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3619:19:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 254, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3619:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 257, - "name": "decimals", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3644:21:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 256, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3644:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 259, - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3671:17:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 258, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3671:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 263, - "name": "balances", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3695:33:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 262, - "keyType": { - "id": 260, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3703:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3695:24:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 261, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3714:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 269, - "name": "allowed", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3734:52:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 268, - "keyType": { - "id": 264, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3742:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3734:44:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 267, - "keyType": { - "id": 265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3761:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3753:24:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 266, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3772:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 308, - "nodeType": "Block", - "src": "3994:235:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 272, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 253, - "src": "4004:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "544b4e", - "id": 273, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4013:5:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9ee187a325c80a9ca820b4f297a58770bf5a85fede3756f8e7e9d14ff37d7b66", - "typeString": "literal_string \"TKN\"" - }, - "value": "TKN" - }, - "src": "4004:14:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 275, - "nodeType": "ExpressionStatement", - "src": "4004:14:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 276, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 255, - "src": "4028:4:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "546f6b656e204578616d706c65", - "id": 277, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4035:15:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e57db44f555e20abcea99743d90b2c763b40df4478f8c8195ecabb23fc906e9a", - "typeString": "literal_string \"Token Example\"" - }, - "value": "Token Example" - }, - "src": "4028:22:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 279, - "nodeType": "ExpressionStatement", - "src": "4028:22:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 280, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 257, - "src": "4060:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3138", - "id": 281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4071:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "4060:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 283, - "nodeType": "ExpressionStatement", - "src": "4060:13:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 284, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4083:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31303030303030", - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4098:7:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "value": "1000000" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 286, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4108:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 288, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 257, - "src": "4117:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4112:4:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint" - }, - "id": 289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4112:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4108:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4098:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4083:43:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 293, - "nodeType": "ExpressionStatement", - "src": "4083:43:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 294, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "4136:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 296, - "indexExpression": { - "argumentTypes": null, - "id": 295, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "4145:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4136:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 297, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4154:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4136:30:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 299, - "nodeType": "ExpressionStatement", - "src": "4136:30:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4198:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4190:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4190:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 304, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "4202:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 305, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4209:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 300, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 154, - "src": "4181:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4181:41:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 307, - "nodeType": "EmitStatement", - "src": "4176:46:0" - } - ] - }, - "documentation": null, - "id": 309, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 270, - "nodeType": "ParameterList", - "parameters": [], - "src": "3984:2:0" - }, - "payable": false, - "returnParameters": { - "id": 271, - "nodeType": "ParameterList", - "parameters": [], - "src": "3994:0:0" - }, - "scope": 551, - "src": "3973:256:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 323, - "nodeType": "Block", - "src": "4466:62:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 316, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "4500:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 320, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 318, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4517:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 317, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4509:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 319, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4509:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4500:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 314, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4483:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "4483:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4483:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 313, - "id": 322, - "nodeType": "Return", - "src": "4476:45:0" - } - ] - }, - "documentation": null, - "id": 324, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 310, - "nodeType": "ParameterList", - "parameters": [], - "src": "4436:2:0" - }, - "payable": false, - "returnParameters": { - "id": 313, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 312, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 324, - "src": "4460:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 311, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4460:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4459:6:0" - }, - "scope": 551, - "src": "4416:112:0", - "stateMutability": "view", - "superFunction": 101, - "visibility": "public" - }, - { - "body": { - "id": 335, - "nodeType": "Block", - "src": "4823:44:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 331, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "4840:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 333, - "indexExpression": { - "argumentTypes": null, - "id": 332, - "name": "tokenOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 326, - "src": "4849:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4840:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 330, - "id": 334, - "nodeType": "Return", - "src": "4833:27:0" - } - ] - }, - "documentation": null, - "id": 336, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 327, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 326, - "name": "tokenOwner", - "nodeType": "VariableDeclaration", - "scope": 336, - "src": "4768:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 325, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4768:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4767:20:0" - }, - "payable": false, - "returnParameters": { - "id": 330, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 329, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 336, - "src": "4809:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 328, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4809:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4808:14:0" - }, - "scope": 551, - "src": "4749:118:0", - "stateMutability": "view", - "superFunction": 108, - "visibility": "public" - }, - { - "body": { - "id": 378, - "nodeType": "Block", - "src": "5283:189:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 345, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5293:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 348, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 346, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "5302:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5302:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5293:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 354, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "5341:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 349, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5316:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 352, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 350, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "5325:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5325:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5316:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "5316:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5316:32:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5293:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 357, - "nodeType": "ExpressionStatement", - "src": "5293:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 358, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5358:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 360, - "indexExpression": { - "argumentTypes": null, - "id": 359, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "5367:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5358:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 365, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "5390:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 361, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5373:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 363, - "indexExpression": { - "argumentTypes": null, - "id": 362, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "5382:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5373:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "5373:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5373:24:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5358:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 368, - "nodeType": "ExpressionStatement", - "src": "5358:39:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 370, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "5421:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5421:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 372, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "5433:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 373, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "5437:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 369, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 154, - "src": "5412:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5412:32:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 375, - "nodeType": "EmitStatement", - "src": "5407:37:0" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5461:4:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 344, - "id": 377, - "nodeType": "Return", - "src": "5454:11:0" - } - ] - }, - "documentation": null, - "id": 379, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 341, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 338, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 379, - "src": "5228:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 337, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5228:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 340, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 379, - "src": "5240:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 339, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5240:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5227:25:0" - }, - "payable": false, - "returnParameters": { - "id": 344, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 343, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 379, - "src": "5269:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 342, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5269:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5268:14:0" - }, - "scope": 551, - "src": "5210:262:0", - "stateMutability": "nonpayable", - "superFunction": 126, - "visibility": "public" - }, - { - "body": { - "id": 406, - "nodeType": "Block", - "src": "6055:127:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 388, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "6065:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 392, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 389, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6073:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6073:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6065:19:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 393, - "indexExpression": { - "argumentTypes": null, - "id": 391, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 381, - "src": "6085:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6065:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 394, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 383, - "src": "6096:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6065:37:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 396, - "nodeType": "ExpressionStatement", - "src": "6065:37:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 398, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6126:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6126:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 400, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 381, - "src": "6138:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 401, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 383, - "src": "6147:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 397, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 162, - "src": "6117:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6117:37:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 403, - "nodeType": "EmitStatement", - "src": "6112:42:0" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 404, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6171:4:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 387, - "id": 405, - "nodeType": "Return", - "src": "6164:11:0" - } - ] - }, - "documentation": null, - "id": 407, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 384, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 381, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 407, - "src": "5995:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 380, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5995:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 383, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 407, - "src": "6012:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 382, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6012:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5994:30:0" - }, - "payable": false, - "returnParameters": { - "id": 387, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 386, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 407, - "src": "6041:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 385, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6041:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6040:14:0" - }, - "scope": 551, - "src": "5978:204:0", - "stateMutability": "nonpayable", - "superFunction": 135, - "visibility": "public" - }, - { - "body": { - "id": 465, - "nodeType": "Block", - "src": "6805:246:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 418, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6815:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 420, - "indexExpression": { - "argumentTypes": null, - "id": 419, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6824:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6815:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 425, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "6851:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 421, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6832:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 423, - "indexExpression": { - "argumentTypes": null, - "id": 422, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6841:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6832:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "6832:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6832:26:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6815:43:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 428, - "nodeType": "ExpressionStatement", - "src": "6815:43:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 429, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "6868:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 433, - "indexExpression": { - "argumentTypes": null, - "id": 430, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6876:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6868:13:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 434, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 431, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6882:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6882:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6868:25:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 442, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "6926:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 435, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "6896:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 437, - "indexExpression": { - "argumentTypes": null, - "id": 436, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6904:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6896:13:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 440, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 438, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6910:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6910:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6896:25:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "6896:29:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6896:37:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6868:65:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 445, - "nodeType": "ExpressionStatement", - "src": "6868:65:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 446, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6943:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 448, - "indexExpression": { - "argumentTypes": null, - "id": 447, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "6952:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6943:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 453, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "6975:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 449, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6958:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 451, - "indexExpression": { - "argumentTypes": null, - "id": 450, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "6967:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6958:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "6958:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6958:24:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6943:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 456, - "nodeType": "ExpressionStatement", - "src": "6943:39:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 458, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "7006:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 459, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "7012:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 460, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "7016:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 457, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 154, - "src": "6997:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6997:26:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 462, - "nodeType": "EmitStatement", - "src": "6992:31:0" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 463, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7040:4:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 417, - "id": 464, - "nodeType": "Return", - "src": "7033:11:0" - } - ] - }, - "documentation": null, - "id": 466, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 414, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 409, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6736:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 408, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6736:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 411, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6750:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 410, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6750:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 413, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6762:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 412, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6762:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6735:39:0" - }, - "payable": false, - "returnParameters": { - "id": 417, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 416, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6791:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 415, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6791:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6790:14:0" - }, - "scope": 551, - "src": "6714:337:0", - "stateMutability": "nonpayable", - "superFunction": 146, - "visibility": "public" - }, - { - "body": { - "id": 481, - "nodeType": "Block", - "src": "7425:52:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 475, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "7442:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 477, - "indexExpression": { - "argumentTypes": null, - "id": 476, - "name": "tokenOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 468, - "src": "7450:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7442:19:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 479, - "indexExpression": { - "argumentTypes": null, - "id": 478, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 470, - "src": "7462:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7442:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 474, - "id": 480, - "nodeType": "Return", - "src": "7435:35:0" - } - ] - }, - "documentation": null, - "id": 482, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 471, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 468, - "name": "tokenOwner", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "7351:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 467, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7351:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 470, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "7371:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 469, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7371:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7350:37:0" - }, - "payable": false, - "returnParameters": { - "id": 474, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 473, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "7409:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 472, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7409:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7408:16:0" - }, - "scope": 551, - "src": "7332:145:0", - "stateMutability": "view", - "superFunction": 117, - "visibility": "public" - }, - { - "body": { - "id": 522, - "nodeType": "Block", - "src": "7933:216:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 493, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "7943:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 497, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 494, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "7951:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7951:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7943:19:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 498, - "indexExpression": { - "argumentTypes": null, - "id": 496, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "7963:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7943:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 499, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "7974:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7943:37:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 501, - "nodeType": "ExpressionStatement", - "src": "7943:37:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 503, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "8004:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8004:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 505, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "8016:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 506, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "8025:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 502, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 162, - "src": "7995:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7995:37:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 508, - "nodeType": "EmitStatement", - "src": "7990:42:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 513, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "8090:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8090:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 515, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "8102:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 516, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 587, - "src": "8110:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FixedSupplyToken_$551", - "typeString": "contract FixedSupplyToken" - } - }, - { - "argumentTypes": null, - "id": 517, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 488, - "src": "8116:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_contract$_FixedSupplyToken_$551", - "typeString": "contract FixedSupplyToken" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 510, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "8065:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 509, - "name": "ApproveAndCallFallBack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 175, - "src": "8042:22:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ApproveAndCallFallBack_$175_$", - "typeString": "type(contract ApproveAndCallFallBack)" - } - }, - "id": 511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8042:31:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$175", - "typeString": "contract ApproveAndCallFallBack" - } - }, - "id": 512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "receiveApproval", - "nodeType": "MemberAccess", - "referencedDeclaration": 174, - "src": "8042:47:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,address,bytes memory) external" - } - }, - "id": 518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8042:79:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 519, - "nodeType": "ExpressionStatement", - "src": "8042:79:0" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8138:4:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 492, - "id": 521, - "nodeType": "Return", - "src": "8131:11:0" - } - ] - }, - "documentation": null, - "id": 523, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approveAndCall", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 489, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 484, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7861:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 483, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7861:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 486, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7878:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 485, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7878:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 488, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7891:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 487, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7891:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7860:42:0" - }, - "payable": false, - "returnParameters": { - "id": 492, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 491, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7919:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 490, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7919:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7918:14:0" - }, - "scope": 551, - "src": "7837:312:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 529, - "nodeType": "Block", - "src": "8367:25:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 526, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 571, - 572 - ], - "referencedDeclaration": 571, - "src": "8377:6:0", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8377:8:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 528, - "nodeType": "ExpressionStatement", - "src": "8377:8:0" - } - ] - }, - "documentation": null, - "id": 530, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 524, - "nodeType": "ParameterList", - "parameters": [], - "src": "8349:2:0" - }, - "payable": true, - "returnParameters": { - "id": 525, - "nodeType": "ParameterList", - "parameters": [], - "src": "8367:0:0" - }, - "scope": 551, - "src": "8340:52:0", - "stateMutability": "payable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 549, - "nodeType": "Block", - "src": "8730:76:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 545, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "8785:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 546, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 534, - "src": "8792:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 542, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 532, - "src": "8762:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 541, - "name": "ERC20Interface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 163, - "src": "8747:14:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20Interface_$163_$", - "typeString": "type(contract ERC20Interface)" - } - }, - "id": 543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8747:28:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Interface_$163", - "typeString": "contract ERC20Interface" - } - }, - "id": 544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 126, - "src": "8747:37:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8747:52:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 540, - "id": 548, - "nodeType": "Return", - "src": "8740:59:0" - } - ] - }, - "documentation": null, - "id": 550, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 537, - "modifierName": { - "argumentTypes": null, - "id": 536, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "8697:9:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8697:9:0" - } - ], - "name": "transferAnyERC20Token", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 535, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 532, - "name": "tokenAddress", - "nodeType": "VariableDeclaration", - "scope": 550, - "src": "8655:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 531, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8655:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 534, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 550, - "src": "8677:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 533, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "8677:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8654:35:0" - }, - "payable": false, - "returnParameters": { - "id": 540, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 539, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 550, - "src": "8716:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 538, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8716:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8715:14:0" - }, - "scope": 551, - "src": "8624:182:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 552, - "src": "3506:5302:0" - } - ], - "src": "0:8808:0" - }, - "legacyAST": { - "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/test/MyToken.sol", - "exportedSymbols": { - "ApproveAndCallFallBack": [ - 175 - ], - "ERC20Interface": [ - 163 - ], - "FixedSupplyToken": [ - 551 - ], - "Owned": [ - 244 - ], - "SafeMath": [ - 96 - ] - }, - "id": 552, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:24:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 96, - "linearizedBaseContracts": [ - 96 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 22, - "nodeType": "Block", - "src": "719:51:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 14, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8, - "src": "729:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "733:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 12, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5, - "src": "737:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "733:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "729:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15, - "nodeType": "ExpressionStatement", - "src": "729:9:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8, - "src": "756:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 18, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "761:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "756:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 569, - 570 - ], - "referencedDeclaration": 569, - "src": "748:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 20, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "748:15:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 21, - "nodeType": "ExpressionStatement", - "src": "748:15:0" - } - ] - }, - "documentation": null, - "id": 23, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 23, - "src": "672:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "672:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 23, - "src": "680:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "680:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "671:16:0" - }, - "payable": false, - "returnParameters": { - "id": 9, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 23, - "src": "711:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "711:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "710:8:0" - }, - "scope": 96, - "src": "659:111:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 44, - "nodeType": "Block", - "src": "835:51:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 35, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 33, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "853:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 34, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "858:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "853:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 32, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 569, - 570 - ], - "referencedDeclaration": 569, - "src": "845:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 36, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "845:15:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 37, - "nodeType": "ExpressionStatement", - "src": "845:15:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 42, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 38, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30, - "src": "870:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 39, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "874:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 40, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "878:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "874:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "870:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 43, - "nodeType": "ExpressionStatement", - "src": "870:9:0" - } - ] - }, - "documentation": null, - "id": 45, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 45, - "src": "788:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "788:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 45, - "src": "796:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 26, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "796:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "787:16:0" - }, - "payable": false, - "returnParameters": { - "id": 31, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 30, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 45, - "src": "827:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "827:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "826:8:0" - }, - "scope": 96, - "src": "775:111:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 72, - "nodeType": "Block", - "src": "951:65:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 58, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 54, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "961:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 55, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "965:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 56, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "969:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "965:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "961:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 59, - "nodeType": "ExpressionStatement", - "src": "961:9:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 63, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 61, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "988:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 62, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "993:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "988:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 68, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 66, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 64, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "998:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 65, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "1002:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "998:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 67, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "1007:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "998:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "988:20:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 60, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 569, - 570 - ], - "referencedDeclaration": 569, - "src": "980:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 70, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "980:29:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 71, - "nodeType": "ExpressionStatement", - "src": "980:29:0" - } - ] - }, - "documentation": null, - "id": 73, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 50, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 47, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "904:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 46, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "904:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 49, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "912:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 48, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "912:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "903:16:0" - }, - "payable": false, - "returnParameters": { - "id": 53, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 52, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "943:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 51, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "943:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "942:8:0" - }, - "scope": 96, - "src": "891:125:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 94, - "nodeType": "Block", - "src": "1081:50:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 85, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 83, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "1099:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 84, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1103:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1099:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 82, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 569, - 570 - ], - "referencedDeclaration": 569, - "src": "1091:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 86, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1091:14:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 87, - "nodeType": "ExpressionStatement", - "src": "1091:14:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 92, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 88, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80, - "src": "1115:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 91, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 89, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75, - "src": "1119:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 90, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "1123:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1119:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1115:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 93, - "nodeType": "ExpressionStatement", - "src": "1115:9:0" - } - ] - }, - "documentation": null, - "id": 95, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 78, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 95, - "src": "1034:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1034:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 77, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 95, - "src": "1042:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1042:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1033:16:0" - }, - "payable": false, - "returnParameters": { - "id": 81, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 80, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 95, - "src": "1073:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1073:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1072:8:0" - }, - "scope": 96, - "src": "1021:110:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 552, - "src": "636:497:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 163, - "linearizedBaseContracts": [ - 163 - ], - "name": "ERC20Interface", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 101, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 97, - "nodeType": "ParameterList", - "parameters": [], - "src": "1445:2:0" - }, - "payable": false, - "returnParameters": { - "id": 100, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 99, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 101, - "src": "1473:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 98, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1473:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1472:6:0" - }, - "scope": 163, - "src": "1425:54:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 108, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 104, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 103, - "name": "tokenOwner", - "nodeType": "VariableDeclaration", - "scope": 108, - "src": "1503:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 102, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1503:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1502:20:0" - }, - "payable": false, - "returnParameters": { - "id": 107, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 106, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 108, - "src": "1548:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 105, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1548:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1547:14:0" - }, - "scope": 163, - "src": "1484:78:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 117, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 113, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 110, - "name": "tokenOwner", - "nodeType": "VariableDeclaration", - "scope": 117, - "src": "1586:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 109, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1586:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 112, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 117, - "src": "1606:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 111, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1606:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1585:37:0" - }, - "payable": false, - "returnParameters": { - "id": 116, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 115, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 117, - "src": "1648:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 114, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1648:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1647:16:0" - }, - "scope": 163, - "src": "1567:97:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 126, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 122, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 119, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1687:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 118, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1687:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 121, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1699:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 120, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1699:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1686:25:0" - }, - "payable": false, - "returnParameters": { - "id": 125, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 124, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1728:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 123, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1728:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1727:14:0" - }, - "scope": 163, - "src": "1669:73:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 135, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 131, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 128, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 135, - "src": "1764:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 127, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1764:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 130, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 135, - "src": "1781:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 129, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1781:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1763:30:0" - }, - "payable": false, - "returnParameters": { - "id": 134, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 133, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 135, - "src": "1810:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 132, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1810:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1809:14:0" - }, - "scope": 163, - "src": "1747:77:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 146, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 137, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 146, - "src": "1851:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1851:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 139, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 146, - "src": "1865:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1865:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 141, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 146, - "src": "1877:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 140, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1877:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1850:39:0" - }, - "payable": false, - "returnParameters": { - "id": 145, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 144, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 146, - "src": "1906:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 143, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1906:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1905:14:0" - }, - "scope": 163, - "src": "1829:91:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 154, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 153, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 148, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 154, - "src": "1941:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 147, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1941:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 150, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 154, - "src": "1963:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 149, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1963:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 152, - "indexed": false, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 154, - "src": "1983:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 151, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1983:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1940:55:0" - }, - "src": "1926:70:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 162, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 161, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 156, - "indexed": true, - "name": "tokenOwner", - "nodeType": "VariableDeclaration", - "scope": 162, - "src": "2016:26:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 155, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2016:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 158, - "indexed": true, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 162, - "src": "2044:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 157, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2044:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 160, - "indexed": false, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 162, - "src": "2069:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 159, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2069:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2015:66:0" - }, - "src": "2001:81:0" - } - ], - "scope": 552, - "src": "1395:689:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 175, - "linearizedBaseContracts": [ - 175 - ], - "name": "ApproveAndCallFallBack", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 174, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "receiveApproval", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 172, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 165, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2416:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 164, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2416:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 167, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2430:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 166, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2430:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 169, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2446:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 168, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2446:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 171, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2461:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 170, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2461:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2415:57:0" - }, - "payable": false, - "returnParameters": { - "id": 173, - "nodeType": "ParameterList", - "parameters": [], - "src": "2479:0:0" - }, - "scope": 175, - "src": "2391:89:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 552, - "src": "2353:129:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 244, - "linearizedBaseContracts": [ - 244 - ], - "name": "Owned", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 177, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 244, - "src": "2684:20:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 176, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2684:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 179, - "name": "newOwner", - "nodeType": "VariableDeclaration", - "scope": 244, - "src": "2710:23:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 178, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2710:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 185, - "name": "OwnershipTransferred", - "nodeType": "EventDefinition", - "parameters": { - "id": 184, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 181, - "indexed": true, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 185, - "src": "2767:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 180, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2767:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 183, - "indexed": true, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 185, - "src": "2790:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 182, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2790:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2766:44:0" - }, - "src": "2740:71:0" - }, - { - "body": { - "id": 193, - "nodeType": "Block", - "src": "2838:35:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 188, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "2848:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 189, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2856:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2856:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2848:18:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 192, - "nodeType": "ExpressionStatement", - "src": "2848:18:0" - } - ] - }, - "documentation": null, - "id": 194, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 186, - "nodeType": "ParameterList", - "parameters": [], - "src": "2828:2:0" - }, - "payable": false, - "returnParameters": { - "id": 187, - "nodeType": "ParameterList", - "parameters": [], - "src": "2838:0:0" - }, - "scope": 244, - "src": "2817:56:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 204, - "nodeType": "Block", - "src": "2898:56:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 197, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2916:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2916:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 199, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "2930:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2916:19:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 196, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 569, - 570 - ], - "referencedDeclaration": 569, - "src": "2908:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2908:28:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 202, - "nodeType": "ExpressionStatement", - "src": "2908:28:0" - }, - { - "id": 203, - "nodeType": "PlaceholderStatement", - "src": "2946:1:0" - } - ] - }, - "documentation": null, - "id": 205, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 195, - "nodeType": "ParameterList", - "parameters": [], - "src": "2898:0:0" - }, - "src": "2879:75:0", - "visibility": "internal" - }, - { - "body": { - "id": 216, - "nodeType": "Block", - "src": "3023:37:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 212, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3033:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 213, - "name": "_newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "3044:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3033:20:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 215, - "nodeType": "ExpressionStatement", - "src": "3033:20:0" - } - ] - }, - "documentation": null, - "id": 217, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 210, - "modifierName": { - "argumentTypes": null, - "id": 209, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "3013:9:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3013:9:0" - } - ], - "name": "transferOwnership", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 208, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 207, - "name": "_newOwner", - "nodeType": "VariableDeclaration", - "scope": 217, - "src": "2987:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 206, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2987:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2986:19:0" - }, - "payable": false, - "returnParameters": { - "id": 211, - "nodeType": "ParameterList", - "parameters": [], - "src": "3023:0:0" - }, - "scope": 244, - "src": "2960:100:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 242, - "nodeType": "Block", - "src": "3099:157:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 221, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "3117:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3117:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 223, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3131:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3117:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 220, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 569, - 570 - ], - "referencedDeclaration": 569, - "src": "3109:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3109:31:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 226, - "nodeType": "ExpressionStatement", - "src": "3109:31:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 228, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "3176:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 229, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3183:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 227, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 185, - "src": "3155:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3155:37:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 231, - "nodeType": "EmitStatement", - "src": "3150:42:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 232, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "3202:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 233, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3210:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3202:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 235, - "nodeType": "ExpressionStatement", - "src": "3202:16:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 236, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3228:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3247:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3239:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 239, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3239:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3228:21:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 241, - "nodeType": "ExpressionStatement", - "src": "3228:21:0" - } - ] - }, - "documentation": null, - "id": 243, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "acceptOwnership", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 218, - "nodeType": "ParameterList", - "parameters": [], - "src": "3089:2:0" - }, - "payable": false, - "returnParameters": { - "id": 219, - "nodeType": "ParameterList", - "parameters": [], - "src": "3099:0:0" - }, - "scope": 244, - "src": "3065:191:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 552, - "src": "2663:595:0" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 245, - "name": "ERC20Interface", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 163, - "src": "3535:14:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Interface_$163", - "typeString": "contract ERC20Interface" - } - }, - "id": 246, - "nodeType": "InheritanceSpecifier", - "src": "3535:14:0" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 247, - "name": "Owned", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 244, - "src": "3551:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Owned_$244", - "typeString": "contract Owned" - } - }, - "id": 248, - "nodeType": "InheritanceSpecifier", - "src": "3551:5:0" - } - ], - "contractDependencies": [ - 244, - 163 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 551, - "linearizedBaseContracts": [ - 551, - 244, - 163 - ], - "name": "FixedSupplyToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 251, - "libraryName": { - "contractScope": null, - "id": 249, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 96, - "src": "3569:8:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$96", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "3563:24:0", - "typeName": { - "id": 250, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3582:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 253, - "name": "symbol", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3593:20:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 252, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3593:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 255, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3619:19:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 254, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3619:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 257, - "name": "decimals", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3644:21:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 256, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3644:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 259, - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3671:17:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 258, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3671:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 263, - "name": "balances", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3695:33:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 262, - "keyType": { - "id": 260, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3703:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3695:24:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 261, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3714:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 269, - "name": "allowed", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3734:52:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 268, - "keyType": { - "id": 264, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3742:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3734:44:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 267, - "keyType": { - "id": 265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3761:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3753:24:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 266, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3772:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 308, - "nodeType": "Block", - "src": "3994:235:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 272, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 253, - "src": "4004:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "544b4e", - "id": 273, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4013:5:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9ee187a325c80a9ca820b4f297a58770bf5a85fede3756f8e7e9d14ff37d7b66", - "typeString": "literal_string \"TKN\"" - }, - "value": "TKN" - }, - "src": "4004:14:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 275, - "nodeType": "ExpressionStatement", - "src": "4004:14:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 276, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 255, - "src": "4028:4:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "546f6b656e204578616d706c65", - "id": 277, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4035:15:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e57db44f555e20abcea99743d90b2c763b40df4478f8c8195ecabb23fc906e9a", - "typeString": "literal_string \"Token Example\"" - }, - "value": "Token Example" - }, - "src": "4028:22:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 279, - "nodeType": "ExpressionStatement", - "src": "4028:22:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 280, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 257, - "src": "4060:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3138", - "id": 281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4071:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "4060:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 283, - "nodeType": "ExpressionStatement", - "src": "4060:13:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 284, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4083:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31303030303030", - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4098:7:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "value": "1000000" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 286, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4108:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 288, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 257, - "src": "4117:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4112:4:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint" - }, - "id": 289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4112:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4108:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4098:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4083:43:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 293, - "nodeType": "ExpressionStatement", - "src": "4083:43:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 294, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "4136:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 296, - "indexExpression": { - "argumentTypes": null, - "id": 295, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "4145:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4136:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 297, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4154:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4136:30:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 299, - "nodeType": "ExpressionStatement", - "src": "4136:30:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4198:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4190:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4190:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 304, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "4202:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 305, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4209:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 300, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 154, - "src": "4181:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4181:41:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 307, - "nodeType": "EmitStatement", - "src": "4176:46:0" - } - ] - }, - "documentation": null, - "id": 309, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 270, - "nodeType": "ParameterList", - "parameters": [], - "src": "3984:2:0" - }, - "payable": false, - "returnParameters": { - "id": 271, - "nodeType": "ParameterList", - "parameters": [], - "src": "3994:0:0" - }, - "scope": 551, - "src": "3973:256:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 323, - "nodeType": "Block", - "src": "4466:62:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 316, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "4500:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 320, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 318, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4517:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 317, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4509:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 319, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4509:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4500:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 314, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4483:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "4483:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4483:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 313, - "id": 322, - "nodeType": "Return", - "src": "4476:45:0" - } - ] - }, - "documentation": null, - "id": 324, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 310, - "nodeType": "ParameterList", - "parameters": [], - "src": "4436:2:0" - }, - "payable": false, - "returnParameters": { - "id": 313, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 312, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 324, - "src": "4460:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 311, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4460:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4459:6:0" - }, - "scope": 551, - "src": "4416:112:0", - "stateMutability": "view", - "superFunction": 101, - "visibility": "public" - }, - { - "body": { - "id": 335, - "nodeType": "Block", - "src": "4823:44:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 331, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "4840:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 333, - "indexExpression": { - "argumentTypes": null, - "id": 332, - "name": "tokenOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 326, - "src": "4849:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4840:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 330, - "id": 334, - "nodeType": "Return", - "src": "4833:27:0" - } - ] - }, - "documentation": null, - "id": 336, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 327, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 326, - "name": "tokenOwner", - "nodeType": "VariableDeclaration", - "scope": 336, - "src": "4768:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 325, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4768:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4767:20:0" - }, - "payable": false, - "returnParameters": { - "id": 330, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 329, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 336, - "src": "4809:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 328, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4809:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4808:14:0" - }, - "scope": 551, - "src": "4749:118:0", - "stateMutability": "view", - "superFunction": 108, - "visibility": "public" - }, - { - "body": { - "id": 378, - "nodeType": "Block", - "src": "5283:189:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 345, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5293:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 348, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 346, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "5302:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5302:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5293:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 354, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "5341:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 349, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5316:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 352, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 350, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "5325:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5325:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5316:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "5316:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5316:32:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5293:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 357, - "nodeType": "ExpressionStatement", - "src": "5293:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 358, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5358:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 360, - "indexExpression": { - "argumentTypes": null, - "id": 359, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "5367:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5358:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 365, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "5390:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 361, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5373:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 363, - "indexExpression": { - "argumentTypes": null, - "id": 362, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "5382:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5373:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "5373:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5373:24:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5358:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 368, - "nodeType": "ExpressionStatement", - "src": "5358:39:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 370, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "5421:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5421:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 372, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "5433:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 373, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "5437:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 369, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 154, - "src": "5412:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5412:32:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 375, - "nodeType": "EmitStatement", - "src": "5407:37:0" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5461:4:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 344, - "id": 377, - "nodeType": "Return", - "src": "5454:11:0" - } - ] - }, - "documentation": null, - "id": 379, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 341, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 338, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 379, - "src": "5228:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 337, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5228:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 340, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 379, - "src": "5240:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 339, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5240:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5227:25:0" - }, - "payable": false, - "returnParameters": { - "id": 344, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 343, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 379, - "src": "5269:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 342, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5269:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5268:14:0" - }, - "scope": 551, - "src": "5210:262:0", - "stateMutability": "nonpayable", - "superFunction": 126, - "visibility": "public" - }, - { - "body": { - "id": 406, - "nodeType": "Block", - "src": "6055:127:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 388, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "6065:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 392, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 389, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6073:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6073:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6065:19:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 393, - "indexExpression": { - "argumentTypes": null, - "id": 391, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 381, - "src": "6085:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6065:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 394, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 383, - "src": "6096:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6065:37:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 396, - "nodeType": "ExpressionStatement", - "src": "6065:37:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 398, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6126:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6126:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 400, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 381, - "src": "6138:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 401, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 383, - "src": "6147:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 397, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 162, - "src": "6117:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6117:37:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 403, - "nodeType": "EmitStatement", - "src": "6112:42:0" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 404, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6171:4:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 387, - "id": 405, - "nodeType": "Return", - "src": "6164:11:0" - } - ] - }, - "documentation": null, - "id": 407, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 384, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 381, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 407, - "src": "5995:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 380, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5995:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 383, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 407, - "src": "6012:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 382, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6012:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5994:30:0" - }, - "payable": false, - "returnParameters": { - "id": 387, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 386, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 407, - "src": "6041:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 385, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6041:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6040:14:0" - }, - "scope": 551, - "src": "5978:204:0", - "stateMutability": "nonpayable", - "superFunction": 135, - "visibility": "public" - }, - { - "body": { - "id": 465, - "nodeType": "Block", - "src": "6805:246:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 418, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6815:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 420, - "indexExpression": { - "argumentTypes": null, - "id": 419, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6824:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6815:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 425, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "6851:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 421, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6832:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 423, - "indexExpression": { - "argumentTypes": null, - "id": 422, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6841:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6832:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "6832:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6832:26:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6815:43:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 428, - "nodeType": "ExpressionStatement", - "src": "6815:43:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 429, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "6868:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 433, - "indexExpression": { - "argumentTypes": null, - "id": 430, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6876:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6868:13:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 434, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 431, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6882:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6882:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6868:25:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 442, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "6926:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 435, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "6896:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 437, - "indexExpression": { - "argumentTypes": null, - "id": 436, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6904:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6896:13:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 440, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 438, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6910:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6910:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6896:25:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "6896:29:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6896:37:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6868:65:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 445, - "nodeType": "ExpressionStatement", - "src": "6868:65:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 446, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6943:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 448, - "indexExpression": { - "argumentTypes": null, - "id": 447, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "6952:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6943:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 453, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "6975:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 449, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6958:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 451, - "indexExpression": { - "argumentTypes": null, - "id": 450, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "6967:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6958:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "6958:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6958:24:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6943:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 456, - "nodeType": "ExpressionStatement", - "src": "6943:39:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 458, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "7006:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 459, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "7012:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 460, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "7016:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 457, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 154, - "src": "6997:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6997:26:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 462, - "nodeType": "EmitStatement", - "src": "6992:31:0" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 463, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7040:4:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 417, - "id": 464, - "nodeType": "Return", - "src": "7033:11:0" - } - ] - }, - "documentation": null, - "id": 466, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 414, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 409, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6736:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 408, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6736:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 411, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6750:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 410, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6750:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 413, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6762:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 412, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6762:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6735:39:0" - }, - "payable": false, - "returnParameters": { - "id": 417, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 416, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6791:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 415, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6791:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6790:14:0" - }, - "scope": 551, - "src": "6714:337:0", - "stateMutability": "nonpayable", - "superFunction": 146, - "visibility": "public" - }, - { - "body": { - "id": 481, - "nodeType": "Block", - "src": "7425:52:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 475, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "7442:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 477, - "indexExpression": { - "argumentTypes": null, - "id": 476, - "name": "tokenOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 468, - "src": "7450:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7442:19:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 479, - "indexExpression": { - "argumentTypes": null, - "id": 478, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 470, - "src": "7462:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7442:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 474, - "id": 480, - "nodeType": "Return", - "src": "7435:35:0" - } - ] - }, - "documentation": null, - "id": 482, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 471, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 468, - "name": "tokenOwner", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "7351:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 467, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7351:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 470, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "7371:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 469, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7371:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7350:37:0" - }, - "payable": false, - "returnParameters": { - "id": 474, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 473, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "7409:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 472, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7409:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7408:16:0" - }, - "scope": 551, - "src": "7332:145:0", - "stateMutability": "view", - "superFunction": 117, - "visibility": "public" - }, - { - "body": { - "id": 522, - "nodeType": "Block", - "src": "7933:216:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 493, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "7943:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 497, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 494, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "7951:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7951:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7943:19:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 498, - "indexExpression": { - "argumentTypes": null, - "id": 496, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "7963:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7943:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 499, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "7974:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7943:37:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 501, - "nodeType": "ExpressionStatement", - "src": "7943:37:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 503, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "8004:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8004:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 505, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "8016:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 506, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "8025:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 502, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 162, - "src": "7995:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7995:37:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 508, - "nodeType": "EmitStatement", - "src": "7990:42:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 513, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "8090:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8090:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 515, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "8102:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 516, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 587, - "src": "8110:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FixedSupplyToken_$551", - "typeString": "contract FixedSupplyToken" - } - }, - { - "argumentTypes": null, - "id": 517, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 488, - "src": "8116:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_contract$_FixedSupplyToken_$551", - "typeString": "contract FixedSupplyToken" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 510, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "8065:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 509, - "name": "ApproveAndCallFallBack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 175, - "src": "8042:22:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ApproveAndCallFallBack_$175_$", - "typeString": "type(contract ApproveAndCallFallBack)" - } - }, - "id": 511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8042:31:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$175", - "typeString": "contract ApproveAndCallFallBack" - } - }, - "id": 512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "receiveApproval", - "nodeType": "MemberAccess", - "referencedDeclaration": 174, - "src": "8042:47:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,address,bytes memory) external" - } - }, - "id": 518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8042:79:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 519, - "nodeType": "ExpressionStatement", - "src": "8042:79:0" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8138:4:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 492, - "id": 521, - "nodeType": "Return", - "src": "8131:11:0" - } - ] - }, - "documentation": null, - "id": 523, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approveAndCall", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 489, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 484, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7861:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 483, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7861:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 486, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7878:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 485, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7878:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 488, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7891:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 487, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7891:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7860:42:0" - }, - "payable": false, - "returnParameters": { - "id": 492, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 491, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7919:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 490, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7919:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7918:14:0" - }, - "scope": 551, - "src": "7837:312:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 529, - "nodeType": "Block", - "src": "8367:25:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 526, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 571, - 572 - ], - "referencedDeclaration": 571, - "src": "8377:6:0", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8377:8:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 528, - "nodeType": "ExpressionStatement", - "src": "8377:8:0" - } - ] - }, - "documentation": null, - "id": 530, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 524, - "nodeType": "ParameterList", - "parameters": [], - "src": "8349:2:0" - }, - "payable": true, - "returnParameters": { - "id": 525, - "nodeType": "ParameterList", - "parameters": [], - "src": "8367:0:0" - }, - "scope": 551, - "src": "8340:52:0", - "stateMutability": "payable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 549, - "nodeType": "Block", - "src": "8730:76:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 545, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "8785:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 546, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 534, - "src": "8792:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 542, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 532, - "src": "8762:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 541, - "name": "ERC20Interface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 163, - "src": "8747:14:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20Interface_$163_$", - "typeString": "type(contract ERC20Interface)" - } - }, - "id": 543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8747:28:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Interface_$163", - "typeString": "contract ERC20Interface" - } - }, - "id": 544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 126, - "src": "8747:37:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8747:52:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 540, - "id": 548, - "nodeType": "Return", - "src": "8740:59:0" - } - ] - }, - "documentation": null, - "id": 550, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 537, - "modifierName": { - "argumentTypes": null, - "id": 536, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "8697:9:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8697:9:0" - } - ], - "name": "transferAnyERC20Token", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 535, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 532, - "name": "tokenAddress", - "nodeType": "VariableDeclaration", - "scope": 550, - "src": "8655:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 531, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8655:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 534, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 550, - "src": "8677:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 533, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "8677:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8654:35:0" - }, - "payable": false, - "returnParameters": { - "id": 540, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 539, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 550, - "src": "8716:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 538, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8716:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8715:14:0" - }, - "scope": 551, - "src": "8624:182:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 552, - "src": "3506:5302:0" - } - ], - "src": "0:8808:0" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.0", - "updatedAt": "2018-07-03T10:29:51.534Z" -} \ No newline at end of file diff --git a/safe-contracts/build/contracts/test/SafeMath.json b/safe-contracts/build/contracts/test/SafeMath.json deleted file mode 100644 index 3090624f..00000000 --- a/safe-contracts/build/contracts/test/SafeMath.json +++ /dev/null @@ -1,14189 +0,0 @@ -{ - "contractName": "SafeMath", - "abi": [], - "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058209e1e56f5f0896062f33eb9193460f9fb161caacd95054924da85c1b5c29746320029", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058209e1e56f5f0896062f33eb9193460f9fb161caacd95054924da85c1b5c29746320029", - "sourceMap": "636:497:0:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", - "deployedSourceMap": "636:497:0:-;;;;;;;;", - "source": "pragma solidity ^0.4.24;\n\n// ----------------------------------------------------------------------------\n// 'FIXED' 'Example Fixed Supply Token' token contract\n//\n// Symbol : FIXED\n// Name : Example Fixed Supply Token\n// Total supply: 1,000,000.000000000000000000\n// Decimals : 18\n//\n// Enjoy.\n//\n// (c) BokkyPooBah / Bok Consulting Pty Ltd 2018. The MIT Licence.\n// ----------------------------------------------------------------------------\n\n\n// ----------------------------------------------------------------------------\n// Safe maths\n// ----------------------------------------------------------------------------\nlibrary SafeMath {\n function add(uint a, uint b) internal pure returns (uint c) {\n c = a + b;\n require(c >= a);\n }\n function sub(uint a, uint b) internal pure returns (uint c) {\n require(b <= a);\n c = a - b;\n }\n function mul(uint a, uint b) internal pure returns (uint c) {\n c = a * b;\n require(a == 0 || c / a == b);\n }\n function div(uint a, uint b) internal pure returns (uint c) {\n require(b > 0);\n c = a / b;\n }\n}\n\n\n// ----------------------------------------------------------------------------\n// ERC Token Standard #20 Interface\n// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md\n// ----------------------------------------------------------------------------\ncontract ERC20Interface {\n function totalSupply() public constant returns (uint);\n function balanceOf(address tokenOwner) public constant returns (uint balance);\n function allowance(address tokenOwner, address spender) public constant returns (uint remaining);\n function transfer(address to, uint tokens) public returns (bool success);\n function approve(address spender, uint tokens) public returns (bool success);\n function transferFrom(address from, address to, uint tokens) public returns (bool success);\n\n event Transfer(address indexed from, address indexed to, uint tokens);\n event Approval(address indexed tokenOwner, address indexed spender, uint tokens);\n}\n\n\n// ----------------------------------------------------------------------------\n// Contract function to receive approval and execute function in one call\n//\n// Borrowed from MiniMeToken\n// ----------------------------------------------------------------------------\ncontract ApproveAndCallFallBack {\n function receiveApproval(address from, uint256 tokens, address token, bytes data) public;\n}\n\n\n// ----------------------------------------------------------------------------\n// Owned contract\n// ----------------------------------------------------------------------------\ncontract Owned {\n address public owner;\n address public newOwner;\n\n event OwnershipTransferred(address indexed _from, address indexed _to);\n\n constructor() public {\n owner = msg.sender;\n }\n\n modifier onlyOwner {\n require(msg.sender == owner);\n _;\n }\n\n function transferOwnership(address _newOwner) public onlyOwner {\n newOwner = _newOwner;\n }\n function acceptOwnership() public {\n require(msg.sender == newOwner);\n emit OwnershipTransferred(owner, newOwner);\n owner = newOwner;\n newOwner = address(0);\n }\n}\n\n\n// ----------------------------------------------------------------------------\n// ERC20 Token, with the addition of symbol, name and decimals and a\n// fixed supply\n// ----------------------------------------------------------------------------\ncontract FixedSupplyToken is ERC20Interface, Owned {\n using SafeMath for uint;\n\n string public symbol;\n string public name;\n uint8 public decimals;\n uint _totalSupply;\n\n mapping(address => uint) balances;\n mapping(address => mapping(address => uint)) allowed;\n\n\n // ------------------------------------------------------------------------\n // Constructor\n // ------------------------------------------------------------------------\n constructor() public {\n symbol = \"TKN\";\n name = \"Token Example\";\n decimals = 18;\n _totalSupply = 1000000 * 10**uint(decimals);\n balances[owner] = _totalSupply;\n emit Transfer(address(0), owner, _totalSupply);\n }\n\n\n // ------------------------------------------------------------------------\n // Total supply\n // ------------------------------------------------------------------------\n function totalSupply() public view returns (uint) {\n return _totalSupply.sub(balances[address(0)]);\n }\n\n\n // ------------------------------------------------------------------------\n // Get the token balance for account `tokenOwner`\n // ------------------------------------------------------------------------\n function balanceOf(address tokenOwner) public view returns (uint balance) {\n return balances[tokenOwner];\n }\n\n\n // ------------------------------------------------------------------------\n // Transfer the balance from token owner's account to `to` account\n // - Owner's account must have sufficient balance to transfer\n // - 0 value transfers are allowed\n // ------------------------------------------------------------------------\n function transfer(address to, uint tokens) public returns (bool success) {\n balances[msg.sender] = balances[msg.sender].sub(tokens);\n balances[to] = balances[to].add(tokens);\n emit Transfer(msg.sender, to, tokens);\n return true;\n }\n\n\n // ------------------------------------------------------------------------\n // Token owner can approve for `spender` to transferFrom(...) `tokens`\n // from the token owner's account\n //\n // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md\n // recommends that there are no checks for the approval double-spend attack\n // as this should be implemented in user interfaces \n // ------------------------------------------------------------------------\n function approve(address spender, uint tokens) public returns (bool success) {\n allowed[msg.sender][spender] = tokens;\n emit Approval(msg.sender, spender, tokens);\n return true;\n }\n\n\n // ------------------------------------------------------------------------\n // Transfer `tokens` from the `from` account to the `to` account\n // \n // The calling account must already have sufficient tokens approve(...)-d\n // for spending from the `from` account and\n // - From account must have sufficient balance to transfer\n // - Spender must have sufficient allowance to transfer\n // - 0 value transfers are allowed\n // ------------------------------------------------------------------------\n function transferFrom(address from, address to, uint tokens) public returns (bool success) {\n balances[from] = balances[from].sub(tokens);\n allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);\n balances[to] = balances[to].add(tokens);\n emit Transfer(from, to, tokens);\n return true;\n }\n\n\n // ------------------------------------------------------------------------\n // Returns the amount of tokens approved by the owner that can be\n // transferred to the spender's account\n // ------------------------------------------------------------------------\n function allowance(address tokenOwner, address spender) public view returns (uint remaining) {\n return allowed[tokenOwner][spender];\n }\n\n\n // ------------------------------------------------------------------------\n // Token owner can approve for `spender` to transferFrom(...) `tokens`\n // from the token owner's account. The `spender` contract function\n // `receiveApproval(...)` is then executed\n // ------------------------------------------------------------------------\n function approveAndCall(address spender, uint tokens, bytes data) public returns (bool success) {\n allowed[msg.sender][spender] = tokens;\n emit Approval(msg.sender, spender, tokens);\n ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, this, data);\n return true;\n }\n\n\n // ------------------------------------------------------------------------\n // Don't accept ETH\n // ------------------------------------------------------------------------\n function () public payable {\n revert();\n }\n\n\n // ------------------------------------------------------------------------\n // Owner can transfer out any accidentally sent ERC20 tokens\n // ------------------------------------------------------------------------\n function transferAnyERC20Token(address tokenAddress, uint tokens) public onlyOwner returns (bool success) {\n return ERC20Interface(tokenAddress).transfer(owner, tokens);\n }\n}", - "sourcePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/test/MyToken.sol", - "ast": { - "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/test/MyToken.sol", - "exportedSymbols": { - "ApproveAndCallFallBack": [ - 175 - ], - "ERC20Interface": [ - 163 - ], - "FixedSupplyToken": [ - 551 - ], - "Owned": [ - 244 - ], - "SafeMath": [ - 96 - ] - }, - "id": 552, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:24:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 96, - "linearizedBaseContracts": [ - 96 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 22, - "nodeType": "Block", - "src": "719:51:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 14, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8, - "src": "729:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "733:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 12, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5, - "src": "737:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "733:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "729:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15, - "nodeType": "ExpressionStatement", - "src": "729:9:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8, - "src": "756:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 18, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "761:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "756:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 569, - 570 - ], - "referencedDeclaration": 569, - "src": "748:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 20, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "748:15:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 21, - "nodeType": "ExpressionStatement", - "src": "748:15:0" - } - ] - }, - "documentation": null, - "id": 23, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 23, - "src": "672:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "672:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 23, - "src": "680:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "680:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "671:16:0" - }, - "payable": false, - "returnParameters": { - "id": 9, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 23, - "src": "711:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "711:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "710:8:0" - }, - "scope": 96, - "src": "659:111:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 44, - "nodeType": "Block", - "src": "835:51:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 35, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 33, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "853:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 34, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "858:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "853:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 32, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 569, - 570 - ], - "referencedDeclaration": 569, - "src": "845:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 36, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "845:15:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 37, - "nodeType": "ExpressionStatement", - "src": "845:15:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 42, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 38, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30, - "src": "870:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 39, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "874:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 40, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "878:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "874:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "870:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 43, - "nodeType": "ExpressionStatement", - "src": "870:9:0" - } - ] - }, - "documentation": null, - "id": 45, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 45, - "src": "788:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "788:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 45, - "src": "796:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 26, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "796:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "787:16:0" - }, - "payable": false, - "returnParameters": { - "id": 31, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 30, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 45, - "src": "827:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "827:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "826:8:0" - }, - "scope": 96, - "src": "775:111:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 72, - "nodeType": "Block", - "src": "951:65:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 58, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 54, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "961:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 55, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "965:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 56, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "969:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "965:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "961:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 59, - "nodeType": "ExpressionStatement", - "src": "961:9:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 63, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 61, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "988:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 62, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "993:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "988:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 68, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 66, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 64, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "998:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 65, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "1002:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "998:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 67, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "1007:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "998:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "988:20:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 60, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 569, - 570 - ], - "referencedDeclaration": 569, - "src": "980:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 70, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "980:29:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 71, - "nodeType": "ExpressionStatement", - "src": "980:29:0" - } - ] - }, - "documentation": null, - "id": 73, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 50, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 47, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "904:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 46, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "904:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 49, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "912:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 48, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "912:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "903:16:0" - }, - "payable": false, - "returnParameters": { - "id": 53, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 52, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "943:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 51, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "943:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "942:8:0" - }, - "scope": 96, - "src": "891:125:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 94, - "nodeType": "Block", - "src": "1081:50:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 85, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 83, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "1099:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 84, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1103:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1099:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 82, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 569, - 570 - ], - "referencedDeclaration": 569, - "src": "1091:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 86, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1091:14:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 87, - "nodeType": "ExpressionStatement", - "src": "1091:14:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 92, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 88, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80, - "src": "1115:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 91, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 89, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75, - "src": "1119:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 90, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "1123:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1119:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1115:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 93, - "nodeType": "ExpressionStatement", - "src": "1115:9:0" - } - ] - }, - "documentation": null, - "id": 95, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 78, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 95, - "src": "1034:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1034:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 77, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 95, - "src": "1042:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1042:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1033:16:0" - }, - "payable": false, - "returnParameters": { - "id": 81, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 80, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 95, - "src": "1073:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1073:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1072:8:0" - }, - "scope": 96, - "src": "1021:110:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 552, - "src": "636:497:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 163, - "linearizedBaseContracts": [ - 163 - ], - "name": "ERC20Interface", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 101, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 97, - "nodeType": "ParameterList", - "parameters": [], - "src": "1445:2:0" - }, - "payable": false, - "returnParameters": { - "id": 100, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 99, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 101, - "src": "1473:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 98, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1473:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1472:6:0" - }, - "scope": 163, - "src": "1425:54:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 108, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 104, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 103, - "name": "tokenOwner", - "nodeType": "VariableDeclaration", - "scope": 108, - "src": "1503:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 102, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1503:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1502:20:0" - }, - "payable": false, - "returnParameters": { - "id": 107, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 106, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 108, - "src": "1548:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 105, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1548:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1547:14:0" - }, - "scope": 163, - "src": "1484:78:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 117, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 113, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 110, - "name": "tokenOwner", - "nodeType": "VariableDeclaration", - "scope": 117, - "src": "1586:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 109, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1586:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 112, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 117, - "src": "1606:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 111, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1606:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1585:37:0" - }, - "payable": false, - "returnParameters": { - "id": 116, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 115, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 117, - "src": "1648:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 114, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1648:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1647:16:0" - }, - "scope": 163, - "src": "1567:97:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 126, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 122, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 119, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1687:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 118, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1687:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 121, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1699:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 120, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1699:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1686:25:0" - }, - "payable": false, - "returnParameters": { - "id": 125, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 124, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1728:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 123, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1728:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1727:14:0" - }, - "scope": 163, - "src": "1669:73:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 135, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 131, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 128, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 135, - "src": "1764:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 127, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1764:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 130, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 135, - "src": "1781:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 129, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1781:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1763:30:0" - }, - "payable": false, - "returnParameters": { - "id": 134, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 133, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 135, - "src": "1810:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 132, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1810:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1809:14:0" - }, - "scope": 163, - "src": "1747:77:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 146, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 137, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 146, - "src": "1851:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1851:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 139, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 146, - "src": "1865:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1865:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 141, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 146, - "src": "1877:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 140, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1877:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1850:39:0" - }, - "payable": false, - "returnParameters": { - "id": 145, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 144, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 146, - "src": "1906:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 143, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1906:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1905:14:0" - }, - "scope": 163, - "src": "1829:91:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 154, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 153, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 148, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 154, - "src": "1941:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 147, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1941:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 150, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 154, - "src": "1963:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 149, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1963:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 152, - "indexed": false, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 154, - "src": "1983:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 151, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1983:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1940:55:0" - }, - "src": "1926:70:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 162, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 161, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 156, - "indexed": true, - "name": "tokenOwner", - "nodeType": "VariableDeclaration", - "scope": 162, - "src": "2016:26:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 155, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2016:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 158, - "indexed": true, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 162, - "src": "2044:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 157, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2044:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 160, - "indexed": false, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 162, - "src": "2069:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 159, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2069:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2015:66:0" - }, - "src": "2001:81:0" - } - ], - "scope": 552, - "src": "1395:689:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 175, - "linearizedBaseContracts": [ - 175 - ], - "name": "ApproveAndCallFallBack", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 174, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "receiveApproval", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 172, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 165, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2416:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 164, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2416:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 167, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2430:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 166, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2430:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 169, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2446:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 168, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2446:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 171, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2461:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 170, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2461:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2415:57:0" - }, - "payable": false, - "returnParameters": { - "id": 173, - "nodeType": "ParameterList", - "parameters": [], - "src": "2479:0:0" - }, - "scope": 175, - "src": "2391:89:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 552, - "src": "2353:129:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 244, - "linearizedBaseContracts": [ - 244 - ], - "name": "Owned", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 177, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 244, - "src": "2684:20:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 176, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2684:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 179, - "name": "newOwner", - "nodeType": "VariableDeclaration", - "scope": 244, - "src": "2710:23:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 178, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2710:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 185, - "name": "OwnershipTransferred", - "nodeType": "EventDefinition", - "parameters": { - "id": 184, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 181, - "indexed": true, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 185, - "src": "2767:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 180, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2767:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 183, - "indexed": true, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 185, - "src": "2790:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 182, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2790:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2766:44:0" - }, - "src": "2740:71:0" - }, - { - "body": { - "id": 193, - "nodeType": "Block", - "src": "2838:35:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 188, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "2848:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 189, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2856:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2856:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2848:18:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 192, - "nodeType": "ExpressionStatement", - "src": "2848:18:0" - } - ] - }, - "documentation": null, - "id": 194, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 186, - "nodeType": "ParameterList", - "parameters": [], - "src": "2828:2:0" - }, - "payable": false, - "returnParameters": { - "id": 187, - "nodeType": "ParameterList", - "parameters": [], - "src": "2838:0:0" - }, - "scope": 244, - "src": "2817:56:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 204, - "nodeType": "Block", - "src": "2898:56:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 197, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2916:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2916:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 199, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "2930:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2916:19:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 196, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 569, - 570 - ], - "referencedDeclaration": 569, - "src": "2908:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2908:28:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 202, - "nodeType": "ExpressionStatement", - "src": "2908:28:0" - }, - { - "id": 203, - "nodeType": "PlaceholderStatement", - "src": "2946:1:0" - } - ] - }, - "documentation": null, - "id": 205, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 195, - "nodeType": "ParameterList", - "parameters": [], - "src": "2898:0:0" - }, - "src": "2879:75:0", - "visibility": "internal" - }, - { - "body": { - "id": 216, - "nodeType": "Block", - "src": "3023:37:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 212, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3033:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 213, - "name": "_newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "3044:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3033:20:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 215, - "nodeType": "ExpressionStatement", - "src": "3033:20:0" - } - ] - }, - "documentation": null, - "id": 217, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 210, - "modifierName": { - "argumentTypes": null, - "id": 209, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "3013:9:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3013:9:0" - } - ], - "name": "transferOwnership", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 208, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 207, - "name": "_newOwner", - "nodeType": "VariableDeclaration", - "scope": 217, - "src": "2987:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 206, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2987:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2986:19:0" - }, - "payable": false, - "returnParameters": { - "id": 211, - "nodeType": "ParameterList", - "parameters": [], - "src": "3023:0:0" - }, - "scope": 244, - "src": "2960:100:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 242, - "nodeType": "Block", - "src": "3099:157:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 221, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "3117:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3117:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 223, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3131:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3117:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 220, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 569, - 570 - ], - "referencedDeclaration": 569, - "src": "3109:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3109:31:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 226, - "nodeType": "ExpressionStatement", - "src": "3109:31:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 228, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "3176:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 229, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3183:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 227, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 185, - "src": "3155:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3155:37:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 231, - "nodeType": "EmitStatement", - "src": "3150:42:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 232, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "3202:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 233, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3210:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3202:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 235, - "nodeType": "ExpressionStatement", - "src": "3202:16:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 236, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3228:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3247:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3239:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 239, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3239:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3228:21:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 241, - "nodeType": "ExpressionStatement", - "src": "3228:21:0" - } - ] - }, - "documentation": null, - "id": 243, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "acceptOwnership", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 218, - "nodeType": "ParameterList", - "parameters": [], - "src": "3089:2:0" - }, - "payable": false, - "returnParameters": { - "id": 219, - "nodeType": "ParameterList", - "parameters": [], - "src": "3099:0:0" - }, - "scope": 244, - "src": "3065:191:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 552, - "src": "2663:595:0" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 245, - "name": "ERC20Interface", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 163, - "src": "3535:14:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Interface_$163", - "typeString": "contract ERC20Interface" - } - }, - "id": 246, - "nodeType": "InheritanceSpecifier", - "src": "3535:14:0" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 247, - "name": "Owned", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 244, - "src": "3551:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Owned_$244", - "typeString": "contract Owned" - } - }, - "id": 248, - "nodeType": "InheritanceSpecifier", - "src": "3551:5:0" - } - ], - "contractDependencies": [ - 244, - 163 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 551, - "linearizedBaseContracts": [ - 551, - 244, - 163 - ], - "name": "FixedSupplyToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 251, - "libraryName": { - "contractScope": null, - "id": 249, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 96, - "src": "3569:8:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$96", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "3563:24:0", - "typeName": { - "id": 250, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3582:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 253, - "name": "symbol", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3593:20:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 252, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3593:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 255, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3619:19:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 254, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3619:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 257, - "name": "decimals", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3644:21:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 256, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3644:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 259, - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3671:17:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 258, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3671:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 263, - "name": "balances", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3695:33:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 262, - "keyType": { - "id": 260, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3703:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3695:24:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 261, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3714:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 269, - "name": "allowed", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3734:52:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 268, - "keyType": { - "id": 264, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3742:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3734:44:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 267, - "keyType": { - "id": 265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3761:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3753:24:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 266, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3772:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 308, - "nodeType": "Block", - "src": "3994:235:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 272, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 253, - "src": "4004:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "544b4e", - "id": 273, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4013:5:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9ee187a325c80a9ca820b4f297a58770bf5a85fede3756f8e7e9d14ff37d7b66", - "typeString": "literal_string \"TKN\"" - }, - "value": "TKN" - }, - "src": "4004:14:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 275, - "nodeType": "ExpressionStatement", - "src": "4004:14:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 276, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 255, - "src": "4028:4:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "546f6b656e204578616d706c65", - "id": 277, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4035:15:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e57db44f555e20abcea99743d90b2c763b40df4478f8c8195ecabb23fc906e9a", - "typeString": "literal_string \"Token Example\"" - }, - "value": "Token Example" - }, - "src": "4028:22:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 279, - "nodeType": "ExpressionStatement", - "src": "4028:22:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 280, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 257, - "src": "4060:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3138", - "id": 281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4071:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "4060:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 283, - "nodeType": "ExpressionStatement", - "src": "4060:13:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 284, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4083:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31303030303030", - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4098:7:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "value": "1000000" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 286, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4108:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 288, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 257, - "src": "4117:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4112:4:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint" - }, - "id": 289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4112:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4108:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4098:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4083:43:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 293, - "nodeType": "ExpressionStatement", - "src": "4083:43:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 294, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "4136:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 296, - "indexExpression": { - "argumentTypes": null, - "id": 295, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "4145:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4136:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 297, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4154:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4136:30:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 299, - "nodeType": "ExpressionStatement", - "src": "4136:30:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4198:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4190:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4190:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 304, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "4202:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 305, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4209:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 300, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 154, - "src": "4181:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4181:41:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 307, - "nodeType": "EmitStatement", - "src": "4176:46:0" - } - ] - }, - "documentation": null, - "id": 309, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 270, - "nodeType": "ParameterList", - "parameters": [], - "src": "3984:2:0" - }, - "payable": false, - "returnParameters": { - "id": 271, - "nodeType": "ParameterList", - "parameters": [], - "src": "3994:0:0" - }, - "scope": 551, - "src": "3973:256:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 323, - "nodeType": "Block", - "src": "4466:62:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 316, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "4500:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 320, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 318, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4517:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 317, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4509:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 319, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4509:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4500:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 314, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4483:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "4483:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4483:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 313, - "id": 322, - "nodeType": "Return", - "src": "4476:45:0" - } - ] - }, - "documentation": null, - "id": 324, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 310, - "nodeType": "ParameterList", - "parameters": [], - "src": "4436:2:0" - }, - "payable": false, - "returnParameters": { - "id": 313, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 312, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 324, - "src": "4460:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 311, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4460:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4459:6:0" - }, - "scope": 551, - "src": "4416:112:0", - "stateMutability": "view", - "superFunction": 101, - "visibility": "public" - }, - { - "body": { - "id": 335, - "nodeType": "Block", - "src": "4823:44:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 331, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "4840:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 333, - "indexExpression": { - "argumentTypes": null, - "id": 332, - "name": "tokenOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 326, - "src": "4849:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4840:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 330, - "id": 334, - "nodeType": "Return", - "src": "4833:27:0" - } - ] - }, - "documentation": null, - "id": 336, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 327, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 326, - "name": "tokenOwner", - "nodeType": "VariableDeclaration", - "scope": 336, - "src": "4768:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 325, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4768:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4767:20:0" - }, - "payable": false, - "returnParameters": { - "id": 330, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 329, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 336, - "src": "4809:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 328, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4809:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4808:14:0" - }, - "scope": 551, - "src": "4749:118:0", - "stateMutability": "view", - "superFunction": 108, - "visibility": "public" - }, - { - "body": { - "id": 378, - "nodeType": "Block", - "src": "5283:189:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 345, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5293:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 348, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 346, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "5302:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5302:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5293:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 354, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "5341:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 349, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5316:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 352, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 350, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "5325:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5325:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5316:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "5316:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5316:32:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5293:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 357, - "nodeType": "ExpressionStatement", - "src": "5293:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 358, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5358:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 360, - "indexExpression": { - "argumentTypes": null, - "id": 359, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "5367:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5358:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 365, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "5390:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 361, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5373:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 363, - "indexExpression": { - "argumentTypes": null, - "id": 362, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "5382:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5373:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "5373:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5373:24:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5358:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 368, - "nodeType": "ExpressionStatement", - "src": "5358:39:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 370, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "5421:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5421:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 372, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "5433:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 373, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "5437:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 369, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 154, - "src": "5412:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5412:32:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 375, - "nodeType": "EmitStatement", - "src": "5407:37:0" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5461:4:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 344, - "id": 377, - "nodeType": "Return", - "src": "5454:11:0" - } - ] - }, - "documentation": null, - "id": 379, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 341, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 338, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 379, - "src": "5228:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 337, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5228:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 340, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 379, - "src": "5240:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 339, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5240:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5227:25:0" - }, - "payable": false, - "returnParameters": { - "id": 344, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 343, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 379, - "src": "5269:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 342, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5269:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5268:14:0" - }, - "scope": 551, - "src": "5210:262:0", - "stateMutability": "nonpayable", - "superFunction": 126, - "visibility": "public" - }, - { - "body": { - "id": 406, - "nodeType": "Block", - "src": "6055:127:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 388, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "6065:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 392, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 389, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6073:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6073:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6065:19:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 393, - "indexExpression": { - "argumentTypes": null, - "id": 391, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 381, - "src": "6085:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6065:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 394, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 383, - "src": "6096:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6065:37:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 396, - "nodeType": "ExpressionStatement", - "src": "6065:37:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 398, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6126:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6126:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 400, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 381, - "src": "6138:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 401, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 383, - "src": "6147:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 397, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 162, - "src": "6117:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6117:37:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 403, - "nodeType": "EmitStatement", - "src": "6112:42:0" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 404, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6171:4:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 387, - "id": 405, - "nodeType": "Return", - "src": "6164:11:0" - } - ] - }, - "documentation": null, - "id": 407, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 384, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 381, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 407, - "src": "5995:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 380, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5995:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 383, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 407, - "src": "6012:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 382, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6012:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5994:30:0" - }, - "payable": false, - "returnParameters": { - "id": 387, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 386, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 407, - "src": "6041:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 385, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6041:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6040:14:0" - }, - "scope": 551, - "src": "5978:204:0", - "stateMutability": "nonpayable", - "superFunction": 135, - "visibility": "public" - }, - { - "body": { - "id": 465, - "nodeType": "Block", - "src": "6805:246:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 418, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6815:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 420, - "indexExpression": { - "argumentTypes": null, - "id": 419, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6824:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6815:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 425, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "6851:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 421, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6832:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 423, - "indexExpression": { - "argumentTypes": null, - "id": 422, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6841:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6832:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "6832:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6832:26:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6815:43:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 428, - "nodeType": "ExpressionStatement", - "src": "6815:43:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 429, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "6868:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 433, - "indexExpression": { - "argumentTypes": null, - "id": 430, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6876:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6868:13:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 434, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 431, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6882:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6882:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6868:25:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 442, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "6926:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 435, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "6896:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 437, - "indexExpression": { - "argumentTypes": null, - "id": 436, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6904:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6896:13:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 440, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 438, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6910:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6910:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6896:25:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "6896:29:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6896:37:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6868:65:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 445, - "nodeType": "ExpressionStatement", - "src": "6868:65:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 446, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6943:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 448, - "indexExpression": { - "argumentTypes": null, - "id": 447, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "6952:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6943:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 453, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "6975:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 449, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6958:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 451, - "indexExpression": { - "argumentTypes": null, - "id": 450, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "6967:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6958:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "6958:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6958:24:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6943:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 456, - "nodeType": "ExpressionStatement", - "src": "6943:39:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 458, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "7006:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 459, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "7012:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 460, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "7016:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 457, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 154, - "src": "6997:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6997:26:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 462, - "nodeType": "EmitStatement", - "src": "6992:31:0" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 463, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7040:4:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 417, - "id": 464, - "nodeType": "Return", - "src": "7033:11:0" - } - ] - }, - "documentation": null, - "id": 466, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 414, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 409, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6736:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 408, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6736:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 411, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6750:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 410, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6750:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 413, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6762:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 412, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6762:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6735:39:0" - }, - "payable": false, - "returnParameters": { - "id": 417, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 416, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6791:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 415, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6791:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6790:14:0" - }, - "scope": 551, - "src": "6714:337:0", - "stateMutability": "nonpayable", - "superFunction": 146, - "visibility": "public" - }, - { - "body": { - "id": 481, - "nodeType": "Block", - "src": "7425:52:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 475, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "7442:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 477, - "indexExpression": { - "argumentTypes": null, - "id": 476, - "name": "tokenOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 468, - "src": "7450:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7442:19:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 479, - "indexExpression": { - "argumentTypes": null, - "id": 478, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 470, - "src": "7462:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7442:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 474, - "id": 480, - "nodeType": "Return", - "src": "7435:35:0" - } - ] - }, - "documentation": null, - "id": 482, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 471, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 468, - "name": "tokenOwner", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "7351:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 467, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7351:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 470, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "7371:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 469, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7371:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7350:37:0" - }, - "payable": false, - "returnParameters": { - "id": 474, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 473, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "7409:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 472, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7409:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7408:16:0" - }, - "scope": 551, - "src": "7332:145:0", - "stateMutability": "view", - "superFunction": 117, - "visibility": "public" - }, - { - "body": { - "id": 522, - "nodeType": "Block", - "src": "7933:216:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 493, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "7943:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 497, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 494, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "7951:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7951:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7943:19:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 498, - "indexExpression": { - "argumentTypes": null, - "id": 496, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "7963:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7943:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 499, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "7974:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7943:37:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 501, - "nodeType": "ExpressionStatement", - "src": "7943:37:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 503, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "8004:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8004:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 505, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "8016:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 506, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "8025:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 502, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 162, - "src": "7995:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7995:37:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 508, - "nodeType": "EmitStatement", - "src": "7990:42:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 513, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "8090:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8090:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 515, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "8102:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 516, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 587, - "src": "8110:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FixedSupplyToken_$551", - "typeString": "contract FixedSupplyToken" - } - }, - { - "argumentTypes": null, - "id": 517, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 488, - "src": "8116:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_contract$_FixedSupplyToken_$551", - "typeString": "contract FixedSupplyToken" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 510, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "8065:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 509, - "name": "ApproveAndCallFallBack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 175, - "src": "8042:22:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ApproveAndCallFallBack_$175_$", - "typeString": "type(contract ApproveAndCallFallBack)" - } - }, - "id": 511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8042:31:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$175", - "typeString": "contract ApproveAndCallFallBack" - } - }, - "id": 512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "receiveApproval", - "nodeType": "MemberAccess", - "referencedDeclaration": 174, - "src": "8042:47:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,address,bytes memory) external" - } - }, - "id": 518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8042:79:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 519, - "nodeType": "ExpressionStatement", - "src": "8042:79:0" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8138:4:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 492, - "id": 521, - "nodeType": "Return", - "src": "8131:11:0" - } - ] - }, - "documentation": null, - "id": 523, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approveAndCall", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 489, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 484, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7861:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 483, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7861:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 486, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7878:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 485, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7878:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 488, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7891:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 487, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7891:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7860:42:0" - }, - "payable": false, - "returnParameters": { - "id": 492, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 491, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7919:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 490, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7919:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7918:14:0" - }, - "scope": 551, - "src": "7837:312:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 529, - "nodeType": "Block", - "src": "8367:25:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 526, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 571, - 572 - ], - "referencedDeclaration": 571, - "src": "8377:6:0", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8377:8:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 528, - "nodeType": "ExpressionStatement", - "src": "8377:8:0" - } - ] - }, - "documentation": null, - "id": 530, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 524, - "nodeType": "ParameterList", - "parameters": [], - "src": "8349:2:0" - }, - "payable": true, - "returnParameters": { - "id": 525, - "nodeType": "ParameterList", - "parameters": [], - "src": "8367:0:0" - }, - "scope": 551, - "src": "8340:52:0", - "stateMutability": "payable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 549, - "nodeType": "Block", - "src": "8730:76:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 545, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "8785:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 546, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 534, - "src": "8792:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 542, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 532, - "src": "8762:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 541, - "name": "ERC20Interface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 163, - "src": "8747:14:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20Interface_$163_$", - "typeString": "type(contract ERC20Interface)" - } - }, - "id": 543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8747:28:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Interface_$163", - "typeString": "contract ERC20Interface" - } - }, - "id": 544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 126, - "src": "8747:37:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8747:52:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 540, - "id": 548, - "nodeType": "Return", - "src": "8740:59:0" - } - ] - }, - "documentation": null, - "id": 550, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 537, - "modifierName": { - "argumentTypes": null, - "id": 536, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "8697:9:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8697:9:0" - } - ], - "name": "transferAnyERC20Token", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 535, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 532, - "name": "tokenAddress", - "nodeType": "VariableDeclaration", - "scope": 550, - "src": "8655:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 531, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8655:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 534, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 550, - "src": "8677:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 533, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "8677:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8654:35:0" - }, - "payable": false, - "returnParameters": { - "id": 540, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 539, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 550, - "src": "8716:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 538, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8716:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8715:14:0" - }, - "scope": 551, - "src": "8624:182:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 552, - "src": "3506:5302:0" - } - ], - "src": "0:8808:0" - }, - "legacyAST": { - "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/test/MyToken.sol", - "exportedSymbols": { - "ApproveAndCallFallBack": [ - 175 - ], - "ERC20Interface": [ - 163 - ], - "FixedSupplyToken": [ - 551 - ], - "Owned": [ - 244 - ], - "SafeMath": [ - 96 - ] - }, - "id": 552, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.4", - ".24" - ], - "nodeType": "PragmaDirective", - "src": "0:24:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": null, - "fullyImplemented": true, - "id": 96, - "linearizedBaseContracts": [ - 96 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 22, - "nodeType": "Block", - "src": "719:51:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 14, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8, - "src": "729:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 13, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 11, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "733:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 12, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5, - "src": "737:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "733:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "729:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 15, - "nodeType": "ExpressionStatement", - "src": "729:9:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 19, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 17, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8, - "src": "756:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 18, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "761:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "756:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 16, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 569, - 570 - ], - "referencedDeclaration": 569, - "src": "748:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 20, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "748:15:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 21, - "nodeType": "ExpressionStatement", - "src": "748:15:0" - } - ] - }, - "documentation": null, - "id": 23, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 23, - "src": "672:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "672:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 23, - "src": "680:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "680:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "671:16:0" - }, - "payable": false, - "returnParameters": { - "id": 9, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 23, - "src": "711:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "711:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "710:8:0" - }, - "scope": 96, - "src": "659:111:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 44, - "nodeType": "Block", - "src": "835:51:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 35, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 33, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "853:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 34, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "858:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "853:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 32, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 569, - 570 - ], - "referencedDeclaration": 569, - "src": "845:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 36, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "845:15:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 37, - "nodeType": "ExpressionStatement", - "src": "845:15:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 42, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 38, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 30, - "src": "870:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 39, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "874:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 40, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "878:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "874:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "870:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 43, - "nodeType": "ExpressionStatement", - "src": "870:9:0" - } - ] - }, - "documentation": null, - "id": 45, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 28, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 45, - "src": "788:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "788:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 27, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 45, - "src": "796:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 26, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "796:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "787:16:0" - }, - "payable": false, - "returnParameters": { - "id": 31, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 30, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 45, - "src": "827:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "827:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "826:8:0" - }, - "scope": 96, - "src": "775:111:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 72, - "nodeType": "Block", - "src": "951:65:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 58, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 54, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "961:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 55, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "965:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 56, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "969:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "965:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "961:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 59, - "nodeType": "ExpressionStatement", - "src": "961:9:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 69, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 63, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 61, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "988:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 62, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "993:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "988:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 68, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 66, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 64, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "998:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 65, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "1002:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "998:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 67, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "1007:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "998:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "988:20:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 60, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 569, - 570 - ], - "referencedDeclaration": 569, - "src": "980:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 70, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "980:29:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 71, - "nodeType": "ExpressionStatement", - "src": "980:29:0" - } - ] - }, - "documentation": null, - "id": 73, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 50, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 47, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "904:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 46, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "904:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 49, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "912:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 48, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "912:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "903:16:0" - }, - "payable": false, - "returnParameters": { - "id": 53, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 52, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "943:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 51, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "943:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "942:8:0" - }, - "scope": 96, - "src": "891:125:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 94, - "nodeType": "Block", - "src": "1081:50:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 85, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 83, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "1099:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 84, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1103:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1099:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 82, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 569, - 570 - ], - "referencedDeclaration": 569, - "src": "1091:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 86, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1091:14:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 87, - "nodeType": "ExpressionStatement", - "src": "1091:14:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 92, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 88, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80, - "src": "1115:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 91, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 89, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75, - "src": "1119:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 90, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "1123:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1119:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1115:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 93, - "nodeType": "ExpressionStatement", - "src": "1115:9:0" - } - ] - }, - "documentation": null, - "id": 95, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 78, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 95, - "src": "1034:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1034:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 77, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 95, - "src": "1042:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1042:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1033:16:0" - }, - "payable": false, - "returnParameters": { - "id": 81, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 80, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 95, - "src": "1073:6:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 79, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1073:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1072:8:0" - }, - "scope": 96, - "src": "1021:110:0", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 552, - "src": "636:497:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 163, - "linearizedBaseContracts": [ - 163 - ], - "name": "ERC20Interface", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 101, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 97, - "nodeType": "ParameterList", - "parameters": [], - "src": "1445:2:0" - }, - "payable": false, - "returnParameters": { - "id": 100, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 99, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 101, - "src": "1473:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 98, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1473:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1472:6:0" - }, - "scope": 163, - "src": "1425:54:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 108, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 104, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 103, - "name": "tokenOwner", - "nodeType": "VariableDeclaration", - "scope": 108, - "src": "1503:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 102, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1503:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1502:20:0" - }, - "payable": false, - "returnParameters": { - "id": 107, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 106, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 108, - "src": "1548:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 105, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1548:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1547:14:0" - }, - "scope": 163, - "src": "1484:78:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 117, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 113, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 110, - "name": "tokenOwner", - "nodeType": "VariableDeclaration", - "scope": 117, - "src": "1586:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 109, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1586:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 112, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 117, - "src": "1606:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 111, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1606:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1585:37:0" - }, - "payable": false, - "returnParameters": { - "id": 116, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 115, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 117, - "src": "1648:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 114, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1648:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1647:16:0" - }, - "scope": 163, - "src": "1567:97:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 126, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 122, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 119, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1687:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 118, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1687:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 121, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1699:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 120, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1699:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1686:25:0" - }, - "payable": false, - "returnParameters": { - "id": 125, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 124, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1728:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 123, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1728:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1727:14:0" - }, - "scope": 163, - "src": "1669:73:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 135, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 131, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 128, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 135, - "src": "1764:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 127, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1764:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 130, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 135, - "src": "1781:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 129, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1781:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1763:30:0" - }, - "payable": false, - "returnParameters": { - "id": 134, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 133, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 135, - "src": "1810:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 132, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1810:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1809:14:0" - }, - "scope": 163, - "src": "1747:77:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 146, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 137, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 146, - "src": "1851:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1851:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 139, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 146, - "src": "1865:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1865:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 141, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 146, - "src": "1877:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 140, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1877:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1850:39:0" - }, - "payable": false, - "returnParameters": { - "id": 145, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 144, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 146, - "src": "1906:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 143, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1906:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1905:14:0" - }, - "scope": 163, - "src": "1829:91:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 154, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 153, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 148, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 154, - "src": "1941:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 147, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1941:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 150, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 154, - "src": "1963:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 149, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1963:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 152, - "indexed": false, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 154, - "src": "1983:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 151, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1983:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1940:55:0" - }, - "src": "1926:70:0" - }, - { - "anonymous": false, - "documentation": null, - "id": 162, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 161, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 156, - "indexed": true, - "name": "tokenOwner", - "nodeType": "VariableDeclaration", - "scope": 162, - "src": "2016:26:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 155, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2016:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 158, - "indexed": true, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 162, - "src": "2044:23:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 157, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2044:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 160, - "indexed": false, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 162, - "src": "2069:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 159, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2069:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2015:66:0" - }, - "src": "2001:81:0" - } - ], - "scope": 552, - "src": "1395:689:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 175, - "linearizedBaseContracts": [ - 175 - ], - "name": "ApproveAndCallFallBack", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 174, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "receiveApproval", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 172, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 165, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2416:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 164, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2416:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 167, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2430:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 166, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2430:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 169, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2446:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 168, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2446:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 171, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2461:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 170, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2461:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2415:57:0" - }, - "payable": false, - "returnParameters": { - "id": 173, - "nodeType": "ParameterList", - "parameters": [], - "src": "2479:0:0" - }, - "scope": 175, - "src": "2391:89:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 552, - "src": "2353:129:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 244, - "linearizedBaseContracts": [ - 244 - ], - "name": "Owned", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 177, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 244, - "src": "2684:20:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 176, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2684:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 179, - "name": "newOwner", - "nodeType": "VariableDeclaration", - "scope": 244, - "src": "2710:23:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 178, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2710:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 185, - "name": "OwnershipTransferred", - "nodeType": "EventDefinition", - "parameters": { - "id": 184, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 181, - "indexed": true, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 185, - "src": "2767:21:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 180, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2767:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 183, - "indexed": true, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 185, - "src": "2790:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 182, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2790:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2766:44:0" - }, - "src": "2740:71:0" - }, - { - "body": { - "id": 193, - "nodeType": "Block", - "src": "2838:35:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 188, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "2848:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 189, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2856:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2856:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2848:18:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 192, - "nodeType": "ExpressionStatement", - "src": "2848:18:0" - } - ] - }, - "documentation": null, - "id": 194, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 186, - "nodeType": "ParameterList", - "parameters": [], - "src": "2828:2:0" - }, - "payable": false, - "returnParameters": { - "id": 187, - "nodeType": "ParameterList", - "parameters": [], - "src": "2838:0:0" - }, - "scope": 244, - "src": "2817:56:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 204, - "nodeType": "Block", - "src": "2898:56:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 197, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2916:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2916:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 199, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "2930:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2916:19:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 196, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 569, - 570 - ], - "referencedDeclaration": 569, - "src": "2908:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2908:28:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 202, - "nodeType": "ExpressionStatement", - "src": "2908:28:0" - }, - { - "id": 203, - "nodeType": "PlaceholderStatement", - "src": "2946:1:0" - } - ] - }, - "documentation": null, - "id": 205, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 195, - "nodeType": "ParameterList", - "parameters": [], - "src": "2898:0:0" - }, - "src": "2879:75:0", - "visibility": "internal" - }, - { - "body": { - "id": 216, - "nodeType": "Block", - "src": "3023:37:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 212, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3033:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 213, - "name": "_newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "3044:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3033:20:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 215, - "nodeType": "ExpressionStatement", - "src": "3033:20:0" - } - ] - }, - "documentation": null, - "id": 217, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 210, - "modifierName": { - "argumentTypes": null, - "id": 209, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "3013:9:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3013:9:0" - } - ], - "name": "transferOwnership", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 208, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 207, - "name": "_newOwner", - "nodeType": "VariableDeclaration", - "scope": 217, - "src": "2987:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 206, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2987:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2986:19:0" - }, - "payable": false, - "returnParameters": { - "id": 211, - "nodeType": "ParameterList", - "parameters": [], - "src": "3023:0:0" - }, - "scope": 244, - "src": "2960:100:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 242, - "nodeType": "Block", - "src": "3099:157:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 221, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "3117:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3117:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 223, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3131:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3117:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 220, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 569, - 570 - ], - "referencedDeclaration": 569, - "src": "3109:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3109:31:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 226, - "nodeType": "ExpressionStatement", - "src": "3109:31:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 228, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "3176:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 229, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3183:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 227, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 185, - "src": "3155:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3155:37:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 231, - "nodeType": "EmitStatement", - "src": "3150:42:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 232, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "3202:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 233, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3210:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3202:16:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 235, - "nodeType": "ExpressionStatement", - "src": "3202:16:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 236, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3228:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3247:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3239:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 239, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3239:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3228:21:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 241, - "nodeType": "ExpressionStatement", - "src": "3228:21:0" - } - ] - }, - "documentation": null, - "id": 243, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "acceptOwnership", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 218, - "nodeType": "ParameterList", - "parameters": [], - "src": "3089:2:0" - }, - "payable": false, - "returnParameters": { - "id": 219, - "nodeType": "ParameterList", - "parameters": [], - "src": "3099:0:0" - }, - "scope": 244, - "src": "3065:191:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 552, - "src": "2663:595:0" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 245, - "name": "ERC20Interface", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 163, - "src": "3535:14:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Interface_$163", - "typeString": "contract ERC20Interface" - } - }, - "id": 246, - "nodeType": "InheritanceSpecifier", - "src": "3535:14:0" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 247, - "name": "Owned", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 244, - "src": "3551:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Owned_$244", - "typeString": "contract Owned" - } - }, - "id": 248, - "nodeType": "InheritanceSpecifier", - "src": "3551:5:0" - } - ], - "contractDependencies": [ - 244, - 163 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 551, - "linearizedBaseContracts": [ - 551, - 244, - 163 - ], - "name": "FixedSupplyToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 251, - "libraryName": { - "contractScope": null, - "id": 249, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 96, - "src": "3569:8:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$96", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "3563:24:0", - "typeName": { - "id": 250, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3582:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 253, - "name": "symbol", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3593:20:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 252, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3593:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 255, - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3619:19:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 254, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3619:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 257, - "name": "decimals", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3644:21:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 256, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3644:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 259, - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3671:17:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 258, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3671:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 263, - "name": "balances", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3695:33:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 262, - "keyType": { - "id": 260, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3703:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3695:24:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 261, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3714:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 269, - "name": "allowed", - "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3734:52:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 268, - "keyType": { - "id": 264, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3742:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3734:44:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 267, - "keyType": { - "id": 265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3761:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "3753:24:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 266, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3772:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 308, - "nodeType": "Block", - "src": "3994:235:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 272, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 253, - "src": "4004:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "544b4e", - "id": 273, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4013:5:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9ee187a325c80a9ca820b4f297a58770bf5a85fede3756f8e7e9d14ff37d7b66", - "typeString": "literal_string \"TKN\"" - }, - "value": "TKN" - }, - "src": "4004:14:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 275, - "nodeType": "ExpressionStatement", - "src": "4004:14:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 276, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 255, - "src": "4028:4:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "546f6b656e204578616d706c65", - "id": 277, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4035:15:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e57db44f555e20abcea99743d90b2c763b40df4478f8c8195ecabb23fc906e9a", - "typeString": "literal_string \"Token Example\"" - }, - "value": "Token Example" - }, - "src": "4028:22:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 279, - "nodeType": "ExpressionStatement", - "src": "4028:22:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 280, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 257, - "src": "4060:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3138", - "id": 281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4071:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "4060:13:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 283, - "nodeType": "ExpressionStatement", - "src": "4060:13:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 284, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4083:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31303030303030", - "id": 285, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4098:7:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "value": "1000000" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 286, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4108:2:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 288, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 257, - "src": "4117:8:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4112:4:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint" - }, - "id": 289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4112:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4108:18:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4098:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4083:43:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 293, - "nodeType": "ExpressionStatement", - "src": "4083:43:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 294, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "4136:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 296, - "indexExpression": { - "argumentTypes": null, - "id": 295, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "4145:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4136:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 297, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4154:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4136:30:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 299, - "nodeType": "ExpressionStatement", - "src": "4136:30:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4198:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4190:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4190:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 304, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "4202:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 305, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4209:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 300, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 154, - "src": "4181:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4181:41:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 307, - "nodeType": "EmitStatement", - "src": "4176:46:0" - } - ] - }, - "documentation": null, - "id": 309, - "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 270, - "nodeType": "ParameterList", - "parameters": [], - "src": "3984:2:0" - }, - "payable": false, - "returnParameters": { - "id": 271, - "nodeType": "ParameterList", - "parameters": [], - "src": "3994:0:0" - }, - "scope": 551, - "src": "3973:256:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 323, - "nodeType": "Block", - "src": "4466:62:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 316, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "4500:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 320, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 318, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4517:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 317, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4509:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 319, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4509:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4500:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 314, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4483:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "4483:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4483:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 313, - "id": 322, - "nodeType": "Return", - "src": "4476:45:0" - } - ] - }, - "documentation": null, - "id": 324, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 310, - "nodeType": "ParameterList", - "parameters": [], - "src": "4436:2:0" - }, - "payable": false, - "returnParameters": { - "id": 313, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 312, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 324, - "src": "4460:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 311, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4460:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4459:6:0" - }, - "scope": 551, - "src": "4416:112:0", - "stateMutability": "view", - "superFunction": 101, - "visibility": "public" - }, - { - "body": { - "id": 335, - "nodeType": "Block", - "src": "4823:44:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 331, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "4840:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 333, - "indexExpression": { - "argumentTypes": null, - "id": 332, - "name": "tokenOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 326, - "src": "4849:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4840:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 330, - "id": 334, - "nodeType": "Return", - "src": "4833:27:0" - } - ] - }, - "documentation": null, - "id": 336, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 327, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 326, - "name": "tokenOwner", - "nodeType": "VariableDeclaration", - "scope": 336, - "src": "4768:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 325, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4768:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4767:20:0" - }, - "payable": false, - "returnParameters": { - "id": 330, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 329, - "name": "balance", - "nodeType": "VariableDeclaration", - "scope": 336, - "src": "4809:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 328, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4809:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4808:14:0" - }, - "scope": 551, - "src": "4749:118:0", - "stateMutability": "view", - "superFunction": 108, - "visibility": "public" - }, - { - "body": { - "id": 378, - "nodeType": "Block", - "src": "5283:189:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 345, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5293:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 348, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 346, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "5302:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5302:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5293:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 354, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "5341:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 349, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5316:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 352, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 350, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "5325:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5325:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5316:20:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "5316:24:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5316:32:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5293:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 357, - "nodeType": "ExpressionStatement", - "src": "5293:55:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 358, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5358:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 360, - "indexExpression": { - "argumentTypes": null, - "id": 359, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "5367:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5358:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 365, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "5390:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 361, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5373:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 363, - "indexExpression": { - "argumentTypes": null, - "id": 362, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "5382:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5373:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "5373:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5373:24:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5358:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 368, - "nodeType": "ExpressionStatement", - "src": "5358:39:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 370, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "5421:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5421:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 372, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "5433:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 373, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "5437:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 369, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 154, - "src": "5412:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5412:32:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 375, - "nodeType": "EmitStatement", - "src": "5407:37:0" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5461:4:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 344, - "id": 377, - "nodeType": "Return", - "src": "5454:11:0" - } - ] - }, - "documentation": null, - "id": 379, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 341, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 338, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 379, - "src": "5228:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 337, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5228:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 340, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 379, - "src": "5240:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 339, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5240:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5227:25:0" - }, - "payable": false, - "returnParameters": { - "id": 344, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 343, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 379, - "src": "5269:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 342, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5269:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5268:14:0" - }, - "scope": 551, - "src": "5210:262:0", - "stateMutability": "nonpayable", - "superFunction": 126, - "visibility": "public" - }, - { - "body": { - "id": 406, - "nodeType": "Block", - "src": "6055:127:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 388, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "6065:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 392, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 389, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6073:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6073:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6065:19:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 393, - "indexExpression": { - "argumentTypes": null, - "id": 391, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 381, - "src": "6085:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6065:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 394, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 383, - "src": "6096:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6065:37:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 396, - "nodeType": "ExpressionStatement", - "src": "6065:37:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 398, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6126:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6126:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 400, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 381, - "src": "6138:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 401, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 383, - "src": "6147:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 397, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 162, - "src": "6117:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6117:37:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 403, - "nodeType": "EmitStatement", - "src": "6112:42:0" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 404, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6171:4:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 387, - "id": 405, - "nodeType": "Return", - "src": "6164:11:0" - } - ] - }, - "documentation": null, - "id": 407, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 384, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 381, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 407, - "src": "5995:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 380, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5995:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 383, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 407, - "src": "6012:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 382, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6012:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5994:30:0" - }, - "payable": false, - "returnParameters": { - "id": 387, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 386, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 407, - "src": "6041:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 385, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6041:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6040:14:0" - }, - "scope": 551, - "src": "5978:204:0", - "stateMutability": "nonpayable", - "superFunction": 135, - "visibility": "public" - }, - { - "body": { - "id": 465, - "nodeType": "Block", - "src": "6805:246:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 418, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6815:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 420, - "indexExpression": { - "argumentTypes": null, - "id": 419, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6824:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6815:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 425, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "6851:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 421, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6832:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 423, - "indexExpression": { - "argumentTypes": null, - "id": 422, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6841:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6832:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "6832:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6832:26:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6815:43:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 428, - "nodeType": "ExpressionStatement", - "src": "6815:43:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 429, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "6868:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 433, - "indexExpression": { - "argumentTypes": null, - "id": 430, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6876:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6868:13:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 434, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 431, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6882:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6882:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6868:25:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 442, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "6926:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 435, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "6896:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 437, - "indexExpression": { - "argumentTypes": null, - "id": 436, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6904:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6896:13:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 440, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 438, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6910:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6910:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6896:25:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "6896:29:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6896:37:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6868:65:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 445, - "nodeType": "ExpressionStatement", - "src": "6868:65:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 446, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6943:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 448, - "indexExpression": { - "argumentTypes": null, - "id": 447, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "6952:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6943:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 453, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "6975:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 449, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6958:8:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 451, - "indexExpression": { - "argumentTypes": null, - "id": 450, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "6967:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6958:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "6958:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6958:24:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6943:39:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 456, - "nodeType": "ExpressionStatement", - "src": "6943:39:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 458, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "7006:4:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 459, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "7012:2:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 460, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "7016:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 457, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 154, - "src": "6997:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6997:26:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 462, - "nodeType": "EmitStatement", - "src": "6992:31:0" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 463, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7040:4:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 417, - "id": 464, - "nodeType": "Return", - "src": "7033:11:0" - } - ] - }, - "documentation": null, - "id": 466, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 414, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 409, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6736:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 408, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6736:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 411, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6750:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 410, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6750:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 413, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6762:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 412, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6762:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6735:39:0" - }, - "payable": false, - "returnParameters": { - "id": 417, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 416, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6791:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 415, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6791:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6790:14:0" - }, - "scope": 551, - "src": "6714:337:0", - "stateMutability": "nonpayable", - "superFunction": 146, - "visibility": "public" - }, - { - "body": { - "id": 481, - "nodeType": "Block", - "src": "7425:52:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 475, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "7442:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 477, - "indexExpression": { - "argumentTypes": null, - "id": 476, - "name": "tokenOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 468, - "src": "7450:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7442:19:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 479, - "indexExpression": { - "argumentTypes": null, - "id": 478, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 470, - "src": "7462:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7442:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 474, - "id": 480, - "nodeType": "Return", - "src": "7435:35:0" - } - ] - }, - "documentation": null, - "id": 482, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 471, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 468, - "name": "tokenOwner", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "7351:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 467, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7351:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 470, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "7371:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 469, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7371:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7350:37:0" - }, - "payable": false, - "returnParameters": { - "id": 474, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 473, - "name": "remaining", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "7409:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 472, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7409:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7408:16:0" - }, - "scope": 551, - "src": "7332:145:0", - "stateMutability": "view", - "superFunction": 117, - "visibility": "public" - }, - { - "body": { - "id": 522, - "nodeType": "Block", - "src": "7933:216:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 493, - "name": "allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "7943:7:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 497, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 494, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "7951:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7951:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7943:19:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 498, - "indexExpression": { - "argumentTypes": null, - "id": 496, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "7963:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7943:28:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 499, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "7974:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7943:37:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 501, - "nodeType": "ExpressionStatement", - "src": "7943:37:0" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 503, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "8004:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8004:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 505, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "8016:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 506, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "8025:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 502, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 162, - "src": "7995:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7995:37:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 508, - "nodeType": "EmitStatement", - "src": "7990:42:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 513, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "8090:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8090:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 515, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "8102:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 516, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 587, - "src": "8110:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FixedSupplyToken_$551", - "typeString": "contract FixedSupplyToken" - } - }, - { - "argumentTypes": null, - "id": 517, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 488, - "src": "8116:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_contract$_FixedSupplyToken_$551", - "typeString": "contract FixedSupplyToken" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 510, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "8065:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 509, - "name": "ApproveAndCallFallBack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 175, - "src": "8042:22:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ApproveAndCallFallBack_$175_$", - "typeString": "type(contract ApproveAndCallFallBack)" - } - }, - "id": 511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8042:31:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$175", - "typeString": "contract ApproveAndCallFallBack" - } - }, - "id": 512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "receiveApproval", - "nodeType": "MemberAccess", - "referencedDeclaration": 174, - "src": "8042:47:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,address,bytes memory) external" - } - }, - "id": 518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8042:79:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 519, - "nodeType": "ExpressionStatement", - "src": "8042:79:0" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8138:4:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 492, - "id": 521, - "nodeType": "Return", - "src": "8131:11:0" - } - ] - }, - "documentation": null, - "id": 523, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approveAndCall", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 489, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 484, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7861:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 483, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7861:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 486, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7878:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 485, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7878:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 488, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7891:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 487, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7891:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7860:42:0" - }, - "payable": false, - "returnParameters": { - "id": 492, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 491, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7919:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 490, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7919:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7918:14:0" - }, - "scope": 551, - "src": "7837:312:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 529, - "nodeType": "Block", - "src": "8367:25:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 526, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 571, - 572 - ], - "referencedDeclaration": 571, - "src": "8377:6:0", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8377:8:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 528, - "nodeType": "ExpressionStatement", - "src": "8377:8:0" - } - ] - }, - "documentation": null, - "id": 530, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 524, - "nodeType": "ParameterList", - "parameters": [], - "src": "8349:2:0" - }, - "payable": true, - "returnParameters": { - "id": 525, - "nodeType": "ParameterList", - "parameters": [], - "src": "8367:0:0" - }, - "scope": 551, - "src": "8340:52:0", - "stateMutability": "payable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 549, - "nodeType": "Block", - "src": "8730:76:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 545, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "8785:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 546, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 534, - "src": "8792:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 542, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 532, - "src": "8762:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 541, - "name": "ERC20Interface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 163, - "src": "8747:14:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20Interface_$163_$", - "typeString": "type(contract ERC20Interface)" - } - }, - "id": 543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8747:28:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Interface_$163", - "typeString": "contract ERC20Interface" - } - }, - "id": 544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 126, - "src": "8747:37:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8747:52:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 540, - "id": 548, - "nodeType": "Return", - "src": "8740:59:0" - } - ] - }, - "documentation": null, - "id": 550, - "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [ - { - "arguments": null, - "id": 537, - "modifierName": { - "argumentTypes": null, - "id": 536, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "8697:9:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8697:9:0" - } - ], - "name": "transferAnyERC20Token", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 535, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 532, - "name": "tokenAddress", - "nodeType": "VariableDeclaration", - "scope": 550, - "src": "8655:20:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 531, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8655:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 534, - "name": "tokens", - "nodeType": "VariableDeclaration", - "scope": 550, - "src": "8677:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 533, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "8677:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8654:35:0" - }, - "payable": false, - "returnParameters": { - "id": 540, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 539, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 550, - "src": "8716:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 538, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8716:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8715:14:0" - }, - "scope": 551, - "src": "8624:182:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 552, - "src": "3506:5302:0" - } - ], - "src": "0:8808:0" - }, - "compiler": { - "name": "solc", - "version": "0.4.24+commit.e67f0147.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "2.0.0", - "updatedAt": "2018-07-03T10:29:51.540Z" -} \ No newline at end of file diff --git a/safe-contracts/build/contracts/test/FixedSupplyToken.json b/safe-contracts/build/contracts/test/TestToken.json similarity index 81% rename from safe-contracts/build/contracts/test/FixedSupplyToken.json rename to safe-contracts/build/contracts/test/TestToken.json index ee3cec5e..948f0b79 100644 --- a/safe-contracts/build/contracts/test/FixedSupplyToken.json +++ b/safe-contracts/build/contracts/test/TestToken.json @@ -1,5 +1,5 @@ { - "contractName": "FixedSupplyToken", + "contractName": "TestToken", "abi": [ { "constant": true, @@ -346,36 +346,36 @@ "type": "function" } ], - "bytecode": "0x60806040523480156200001157600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040805190810160405280600381526020017f544b4e0000000000000000000000000000000000000000000000000000000000815250600290805190602001906200009f92919062000221565b506040805190810160405280600d81526020017f546f6b656e204578616d706c650000000000000000000000000000000000000081525060039080519060200190620000ed92919062000221565b506012600460006101000a81548160ff021916908360ff160217905550600460009054906101000a900460ff1660ff16600a0a620f424002600581905550600554600660008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040518082815260200191505060405180910390a3620002d0565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200026457805160ff191683800117855562000295565b8280016001018555821562000295579182015b828111156200029457825182559160200191906001019062000277565b5b509050620002a49190620002a8565b5090565b620002cd91905b80821115620002c9576000816000905550600101620002af565b5090565b90565b6114e380620002e06000396000f3006080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100e0578063095ea7b31461017057806318160ddd146101d557806323b872dd14610200578063313ce5671461028557806370a08231146102b657806379ba50971461030d5780638da5cb5b1461032457806395d89b411461037b578063a9059cbb1461040b578063cae9ca5114610470578063d4ee1d901461051b578063dc39d06d14610572578063dd62ed3e146105d7578063f2fde38b1461064e575b600080fd5b3480156100ec57600080fd5b506100f5610691565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561013557808201518184015260208101905061011a565b50505050905090810190601f1680156101625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561017c57600080fd5b506101bb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061072f565b604051808215151515815260200191505060405180910390f35b3480156101e157600080fd5b506101ea610821565b6040518082815260200191505060405180910390f35b34801561020c57600080fd5b5061026b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061087c565b604051808215151515815260200191505060405180910390f35b34801561029157600080fd5b5061029a610b27565b604051808260ff1660ff16815260200191505060405180910390f35b3480156102c257600080fd5b506102f7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b3a565b6040518082815260200191505060405180910390f35b34801561031957600080fd5b50610322610b83565b005b34801561033057600080fd5b50610339610d22565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561038757600080fd5b50610390610d47565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103d05780820151818401526020810190506103b5565b50505050905090810190601f1680156103fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561041757600080fd5b50610456600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610de5565b604051808215151515815260200191505060405180910390f35b34801561047c57600080fd5b50610501600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610f80565b604051808215151515815260200191505060405180910390f35b34801561052757600080fd5b506105306111cf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561057e57600080fd5b506105bd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111f5565b604051808215151515815260200191505060405180910390f35b3480156105e357600080fd5b50610638600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611359565b6040518082815260200191505060405180910390f35b34801561065a57600080fd5b5061068f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113e0565b005b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107275780601f106106fc57610100808354040283529160200191610727565b820191906000526020600020905b81548152906001019060200180831161070a57829003601f168201915b505050505081565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000610877600660008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460055461147f90919063ffffffff16565b905090565b60006108d082600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461147f90919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109a282600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461147f90919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a7482600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461149b90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600460009054906101000a900460ff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610bdf57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ddd5780601f10610db257610100808354040283529160200191610ddd565b820191906000526020600020905b815481529060010190602001808311610dc057829003601f168201915b505050505081565b6000610e3982600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461147f90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ece82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461149b90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600082600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561115d578082015181840152602081019050611142565b50505050905090810190601f16801561118a5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156111ac57600080fd5b505af11580156111c0573d6000803e3d6000fd5b50505050600190509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561125257600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561131657600080fd5b505af115801561132a573d6000803e3d6000fd5b505050506040513d602081101561134057600080fd5b8101908080519060200190929190505050905092915050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561143b57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600082821115151561149057600080fd5b818303905092915050565b600081830190508281101515156114b157600080fd5b929150505600a165627a7a72305820ab8359547b354abe24f1611406546d56ce085764190de09a709c1cd29cc06df40029", - "deployedBytecode": "0x6080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100e0578063095ea7b31461017057806318160ddd146101d557806323b872dd14610200578063313ce5671461028557806370a08231146102b657806379ba50971461030d5780638da5cb5b1461032457806395d89b411461037b578063a9059cbb1461040b578063cae9ca5114610470578063d4ee1d901461051b578063dc39d06d14610572578063dd62ed3e146105d7578063f2fde38b1461064e575b600080fd5b3480156100ec57600080fd5b506100f5610691565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561013557808201518184015260208101905061011a565b50505050905090810190601f1680156101625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561017c57600080fd5b506101bb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061072f565b604051808215151515815260200191505060405180910390f35b3480156101e157600080fd5b506101ea610821565b6040518082815260200191505060405180910390f35b34801561020c57600080fd5b5061026b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061087c565b604051808215151515815260200191505060405180910390f35b34801561029157600080fd5b5061029a610b27565b604051808260ff1660ff16815260200191505060405180910390f35b3480156102c257600080fd5b506102f7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b3a565b6040518082815260200191505060405180910390f35b34801561031957600080fd5b50610322610b83565b005b34801561033057600080fd5b50610339610d22565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561038757600080fd5b50610390610d47565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103d05780820151818401526020810190506103b5565b50505050905090810190601f1680156103fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561041757600080fd5b50610456600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610de5565b604051808215151515815260200191505060405180910390f35b34801561047c57600080fd5b50610501600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610f80565b604051808215151515815260200191505060405180910390f35b34801561052757600080fd5b506105306111cf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561057e57600080fd5b506105bd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111f5565b604051808215151515815260200191505060405180910390f35b3480156105e357600080fd5b50610638600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611359565b6040518082815260200191505060405180910390f35b34801561065a57600080fd5b5061068f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113e0565b005b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107275780601f106106fc57610100808354040283529160200191610727565b820191906000526020600020905b81548152906001019060200180831161070a57829003601f168201915b505050505081565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000610877600660008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460055461147f90919063ffffffff16565b905090565b60006108d082600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461147f90919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109a282600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461147f90919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a7482600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461149b90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600460009054906101000a900460ff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610bdf57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ddd5780601f10610db257610100808354040283529160200191610ddd565b820191906000526020600020905b815481529060010190602001808311610dc057829003601f168201915b505050505081565b6000610e3982600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461147f90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ece82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461149b90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600082600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561115d578082015181840152602081019050611142565b50505050905090810190601f16801561118a5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156111ac57600080fd5b505af11580156111c0573d6000803e3d6000fd5b50505050600190509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561125257600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561131657600080fd5b505af115801561132a573d6000803e3d6000fd5b505050506040513d602081101561134057600080fd5b8101908080519060200190929190505050905092915050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561143b57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600082821115151561149057600080fd5b818303905092915050565b600081830190508281101515156114b157600080fd5b929150505600a165627a7a72305820ab8359547b354abe24f1611406546d56ce085764190de09a709c1cd29cc06df40029", - "sourceMap": "3506:5302:0:-;;;3973:256;8:9:-1;5:2;;;30:1;27;20:12;5:2;3973:256:0;2856:10;2848:5;;:18;;;;;;;;;;;;;;;;;;4004:14;;;;;;;;;;;;;;;;;;:6;:14;;;;;;;;;;;;:::i;:::-;;4028:22;;;;;;;;;;;;;;;;;;:4;:22;;;;;;;;;;;;:::i;:::-;;4071:2;4060:8;;:13;;;;;;;;;;;;;;;;;;4117:8;;;;;;;;;;;4112:14;;4108:2;:18;4098:7;:28;4083:12;:43;;;;4154:12;;4136:8;:15;4145:5;;;;;;;;;;;4136:15;;;;;;;;;;;;;;;:30;;;;4202:5;;;;;;;;;;;4181:41;;4198:1;4181:41;;;4209:12;;4181:41;;;;;;;;;;;;;;;;;;3506:5302;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "3506:5302:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8377:8;;;3619:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3619:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3619:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5978:204;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5978:204:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4416:112;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4416:112:0;;;;;;;;;;;;;;;;;;;;;;;6714:337;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6714:337:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3644:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3644:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4749:118;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4749:118:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3065:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3065:191:0;;;;;;2684:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2684:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3593;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3593:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3593:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5210:262;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5210:262:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7837:312;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7837:312:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2710:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2710:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;8624:182;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8624:182:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7332:145;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7332:145:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2960:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2960:100:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3619:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5978:204::-;6041:12;6096:6;6065:7;:19;6073:10;6065:19;;;;;;;;;;;;;;;:28;6085:7;6065:28;;;;;;;;;;;;;;;:37;;;;6138:7;6117:37;;6126:10;6117:37;;;6147:6;6117:37;;;;;;;;;;;;;;;;;;6171:4;6164:11;;5978:204;;;;:::o;4416:112::-;4460:4;4483:38;4500:8;:20;4517:1;4500:20;;;;;;;;;;;;;;;;4483:12;;:16;;:38;;;;:::i;:::-;4476:45;;4416:112;:::o;6714:337::-;6791:12;6832:26;6851:6;6832:8;:14;6841:4;6832:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;6815:8;:14;6824:4;6815:14;;;;;;;;;;;;;;;:43;;;;6896:37;6926:6;6896:7;:13;6904:4;6896:13;;;;;;;;;;;;;;;:25;6910:10;6896:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;6868:7;:13;6876:4;6868:13;;;;;;;;;;;;;;;:25;6882:10;6868:25;;;;;;;;;;;;;;;:65;;;;6958:24;6975:6;6958:8;:12;6967:2;6958:12;;;;;;;;;;;;;;;;:16;;:24;;;;:::i;:::-;6943:8;:12;6952:2;6943:12;;;;;;;;;;;;;;;:39;;;;7012:2;6997:26;;7006:4;6997:26;;;7016:6;6997:26;;;;;;;;;;;;;;;;;;7040:4;7033:11;;6714:337;;;;;:::o;3644:21::-;;;;;;;;;;;;;:::o;4749:118::-;4809:12;4840:8;:20;4849:10;4840:20;;;;;;;;;;;;;;;;4833:27;;4749:118;;;:::o;3065:191::-;3131:8;;;;;;;;;;;3117:22;;:10;:22;;;3109:31;;;;;;;;3183:8;;;;;;;;;;;3155:37;;3176:5;;;;;;;;;;;3155:37;;;;;;;;;;;;3210:8;;;;;;;;;;;3202:5;;:16;;;;;;;;;;;;;;;;;;3247:1;3228:8;;:21;;;;;;;;;;;;;;;;;;3065:191::o;2684:20::-;;;;;;;;;;;;;:::o;3593:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5210:262::-;5269:12;5316:32;5341:6;5316:8;:20;5325:10;5316:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;5293:8;:20;5302:10;5293:20;;;;;;;;;;;;;;;:55;;;;5373:24;5390:6;5373:8;:12;5382:2;5373:12;;;;;;;;;;;;;;;;:16;;:24;;;;:::i;:::-;5358:8;:12;5367:2;5358:12;;;;;;;;;;;;;;;:39;;;;5433:2;5412:32;;5421:10;5412:32;;;5437:6;5412:32;;;;;;;;;;;;;;;;;;5461:4;5454:11;;5210:262;;;;:::o;7837:312::-;7919:12;7974:6;7943:7;:19;7951:10;7943:19;;;;;;;;;;;;;;;:28;7963:7;7943:28;;;;;;;;;;;;;;;:37;;;;8016:7;7995:37;;8004:10;7995:37;;;8025:6;7995:37;;;;;;;;;;;;;;;;;;8065:7;8042:47;;;8090:10;8102:6;8110:4;8116;8042:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;8042:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8042:79:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8042:79:0;;;;8138:4;8131:11;;7837:312;;;;;:::o;2710:23::-;;;;;;;;;;;;;:::o;8624:182::-;8716:12;2930:5;;;;;;;;;;;2916:19;;:10;:19;;;2908:28;;;;;;;;8762:12;8747:37;;;8785:5;;;;;;;;;;;8792:6;8747:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8747:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8747:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8747:52:0;;;;;;;;;;;;;;;;8740:59;;8624:182;;;;:::o;7332:145::-;7409:14;7442:7;:19;7450:10;7442:19;;;;;;;;;;;;;;;:28;7462:7;7442:28;;;;;;;;;;;;;;;;7435:35;;7332:145;;;;:::o;2960:100::-;2930:5;;;;;;;;;;;2916:19;;:10;:19;;;2908:28;;;;;;;;3044:9;3033:8;;:20;;;;;;;;;;;;;;;;;;2960:100;:::o;775:111::-;827:6;858:1;853;:6;;845:15;;;;;;;;878:1;874;:5;870:9;;775:111;;;;:::o;659:::-;711:6;737:1;733;:5;729:9;;761:1;756;:6;;748:15;;;;;;;;659:111;;;;:::o", - "source": "pragma solidity ^0.4.24;\n\n// ----------------------------------------------------------------------------\n// 'FIXED' 'Example Fixed Supply Token' token contract\n//\n// Symbol : FIXED\n// Name : Example Fixed Supply Token\n// Total supply: 1,000,000.000000000000000000\n// Decimals : 18\n//\n// Enjoy.\n//\n// (c) BokkyPooBah / Bok Consulting Pty Ltd 2018. The MIT Licence.\n// ----------------------------------------------------------------------------\n\n\n// ----------------------------------------------------------------------------\n// Safe maths\n// ----------------------------------------------------------------------------\nlibrary SafeMath {\n function add(uint a, uint b) internal pure returns (uint c) {\n c = a + b;\n require(c >= a);\n }\n function sub(uint a, uint b) internal pure returns (uint c) {\n require(b <= a);\n c = a - b;\n }\n function mul(uint a, uint b) internal pure returns (uint c) {\n c = a * b;\n require(a == 0 || c / a == b);\n }\n function div(uint a, uint b) internal pure returns (uint c) {\n require(b > 0);\n c = a / b;\n }\n}\n\n\n// ----------------------------------------------------------------------------\n// ERC Token Standard #20 Interface\n// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md\n// ----------------------------------------------------------------------------\ncontract ERC20Interface {\n function totalSupply() public constant returns (uint);\n function balanceOf(address tokenOwner) public constant returns (uint balance);\n function allowance(address tokenOwner, address spender) public constant returns (uint remaining);\n function transfer(address to, uint tokens) public returns (bool success);\n function approve(address spender, uint tokens) public returns (bool success);\n function transferFrom(address from, address to, uint tokens) public returns (bool success);\n\n event Transfer(address indexed from, address indexed to, uint tokens);\n event Approval(address indexed tokenOwner, address indexed spender, uint tokens);\n}\n\n\n// ----------------------------------------------------------------------------\n// Contract function to receive approval and execute function in one call\n//\n// Borrowed from MiniMeToken\n// ----------------------------------------------------------------------------\ncontract ApproveAndCallFallBack {\n function receiveApproval(address from, uint256 tokens, address token, bytes data) public;\n}\n\n\n// ----------------------------------------------------------------------------\n// Owned contract\n// ----------------------------------------------------------------------------\ncontract Owned {\n address public owner;\n address public newOwner;\n\n event OwnershipTransferred(address indexed _from, address indexed _to);\n\n constructor() public {\n owner = msg.sender;\n }\n\n modifier onlyOwner {\n require(msg.sender == owner);\n _;\n }\n\n function transferOwnership(address _newOwner) public onlyOwner {\n newOwner = _newOwner;\n }\n function acceptOwnership() public {\n require(msg.sender == newOwner);\n emit OwnershipTransferred(owner, newOwner);\n owner = newOwner;\n newOwner = address(0);\n }\n}\n\n\n// ----------------------------------------------------------------------------\n// ERC20 Token, with the addition of symbol, name and decimals and a\n// fixed supply\n// ----------------------------------------------------------------------------\ncontract FixedSupplyToken is ERC20Interface, Owned {\n using SafeMath for uint;\n\n string public symbol;\n string public name;\n uint8 public decimals;\n uint _totalSupply;\n\n mapping(address => uint) balances;\n mapping(address => mapping(address => uint)) allowed;\n\n\n // ------------------------------------------------------------------------\n // Constructor\n // ------------------------------------------------------------------------\n constructor() public {\n symbol = \"TKN\";\n name = \"Token Example\";\n decimals = 18;\n _totalSupply = 1000000 * 10**uint(decimals);\n balances[owner] = _totalSupply;\n emit Transfer(address(0), owner, _totalSupply);\n }\n\n\n // ------------------------------------------------------------------------\n // Total supply\n // ------------------------------------------------------------------------\n function totalSupply() public view returns (uint) {\n return _totalSupply.sub(balances[address(0)]);\n }\n\n\n // ------------------------------------------------------------------------\n // Get the token balance for account `tokenOwner`\n // ------------------------------------------------------------------------\n function balanceOf(address tokenOwner) public view returns (uint balance) {\n return balances[tokenOwner];\n }\n\n\n // ------------------------------------------------------------------------\n // Transfer the balance from token owner's account to `to` account\n // - Owner's account must have sufficient balance to transfer\n // - 0 value transfers are allowed\n // ------------------------------------------------------------------------\n function transfer(address to, uint tokens) public returns (bool success) {\n balances[msg.sender] = balances[msg.sender].sub(tokens);\n balances[to] = balances[to].add(tokens);\n emit Transfer(msg.sender, to, tokens);\n return true;\n }\n\n\n // ------------------------------------------------------------------------\n // Token owner can approve for `spender` to transferFrom(...) `tokens`\n // from the token owner's account\n //\n // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md\n // recommends that there are no checks for the approval double-spend attack\n // as this should be implemented in user interfaces \n // ------------------------------------------------------------------------\n function approve(address spender, uint tokens) public returns (bool success) {\n allowed[msg.sender][spender] = tokens;\n emit Approval(msg.sender, spender, tokens);\n return true;\n }\n\n\n // ------------------------------------------------------------------------\n // Transfer `tokens` from the `from` account to the `to` account\n // \n // The calling account must already have sufficient tokens approve(...)-d\n // for spending from the `from` account and\n // - From account must have sufficient balance to transfer\n // - Spender must have sufficient allowance to transfer\n // - 0 value transfers are allowed\n // ------------------------------------------------------------------------\n function transferFrom(address from, address to, uint tokens) public returns (bool success) {\n balances[from] = balances[from].sub(tokens);\n allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);\n balances[to] = balances[to].add(tokens);\n emit Transfer(from, to, tokens);\n return true;\n }\n\n\n // ------------------------------------------------------------------------\n // Returns the amount of tokens approved by the owner that can be\n // transferred to the spender's account\n // ------------------------------------------------------------------------\n function allowance(address tokenOwner, address spender) public view returns (uint remaining) {\n return allowed[tokenOwner][spender];\n }\n\n\n // ------------------------------------------------------------------------\n // Token owner can approve for `spender` to transferFrom(...) `tokens`\n // from the token owner's account. The `spender` contract function\n // `receiveApproval(...)` is then executed\n // ------------------------------------------------------------------------\n function approveAndCall(address spender, uint tokens, bytes data) public returns (bool success) {\n allowed[msg.sender][spender] = tokens;\n emit Approval(msg.sender, spender, tokens);\n ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, this, data);\n return true;\n }\n\n\n // ------------------------------------------------------------------------\n // Don't accept ETH\n // ------------------------------------------------------------------------\n function () public payable {\n revert();\n }\n\n\n // ------------------------------------------------------------------------\n // Owner can transfer out any accidentally sent ERC20 tokens\n // ------------------------------------------------------------------------\n function transferAnyERC20Token(address tokenAddress, uint tokens) public onlyOwner returns (bool success) {\n return ERC20Interface(tokenAddress).transfer(owner, tokens);\n }\n}", - "sourcePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/test/MyToken.sol", + "bytecode": "0x60806040523480156200001157600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040805190810160405280600381526020017f544b4e0000000000000000000000000000000000000000000000000000000000815250600290805190602001906200009f92919062000221565b506040805190810160405280600d81526020017f546f6b656e204578616d706c650000000000000000000000000000000000000081525060039080519060200190620000ed92919062000221565b506012600460006101000a81548160ff021916908360ff160217905550600460009054906101000a900460ff1660ff16600a0a620f424002600581905550600554600660008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040518082815260200191505060405180910390a3620002d0565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200026457805160ff191683800117855562000295565b8280016001018555821562000295579182015b828111156200029457825182559160200191906001019062000277565b5b509050620002a49190620002a8565b5090565b620002cd91905b80821115620002c9576000816000905550600101620002af565b5090565b90565b6114e380620002e06000396000f3006080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100e0578063095ea7b31461017057806318160ddd146101d557806323b872dd14610200578063313ce5671461028557806370a08231146102b657806379ba50971461030d5780638da5cb5b1461032457806395d89b411461037b578063a9059cbb1461040b578063cae9ca5114610470578063d4ee1d901461051b578063dc39d06d14610572578063dd62ed3e146105d7578063f2fde38b1461064e575b600080fd5b3480156100ec57600080fd5b506100f5610691565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561013557808201518184015260208101905061011a565b50505050905090810190601f1680156101625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561017c57600080fd5b506101bb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061072f565b604051808215151515815260200191505060405180910390f35b3480156101e157600080fd5b506101ea610821565b6040518082815260200191505060405180910390f35b34801561020c57600080fd5b5061026b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061087c565b604051808215151515815260200191505060405180910390f35b34801561029157600080fd5b5061029a610b27565b604051808260ff1660ff16815260200191505060405180910390f35b3480156102c257600080fd5b506102f7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b3a565b6040518082815260200191505060405180910390f35b34801561031957600080fd5b50610322610b83565b005b34801561033057600080fd5b50610339610d22565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561038757600080fd5b50610390610d47565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103d05780820151818401526020810190506103b5565b50505050905090810190601f1680156103fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561041757600080fd5b50610456600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610de5565b604051808215151515815260200191505060405180910390f35b34801561047c57600080fd5b50610501600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610f80565b604051808215151515815260200191505060405180910390f35b34801561052757600080fd5b506105306111cf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561057e57600080fd5b506105bd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111f5565b604051808215151515815260200191505060405180910390f35b3480156105e357600080fd5b50610638600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611359565b6040518082815260200191505060405180910390f35b34801561065a57600080fd5b5061068f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113e0565b005b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107275780601f106106fc57610100808354040283529160200191610727565b820191906000526020600020905b81548152906001019060200180831161070a57829003601f168201915b505050505081565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000610877600660008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460055461147f90919063ffffffff16565b905090565b60006108d082600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461147f90919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109a282600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461147f90919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a7482600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461149b90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600460009054906101000a900460ff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610bdf57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ddd5780601f10610db257610100808354040283529160200191610ddd565b820191906000526020600020905b815481529060010190602001808311610dc057829003601f168201915b505050505081565b6000610e3982600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461147f90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ece82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461149b90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600082600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561115d578082015181840152602081019050611142565b50505050905090810190601f16801561118a5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156111ac57600080fd5b505af11580156111c0573d6000803e3d6000fd5b50505050600190509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561125257600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561131657600080fd5b505af115801561132a573d6000803e3d6000fd5b505050506040513d602081101561134057600080fd5b8101908080519060200190929190505050905092915050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561143b57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600082821115151561149057600080fd5b818303905092915050565b600081830190508281101515156114b157600080fd5b929150505600a165627a7a72305820e93a82d67ce3df799c1bfea59d7f6b269216cff0ed6e6c3d0c4b551065d3f5aa0029", + "deployedBytecode": "0x6080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100e0578063095ea7b31461017057806318160ddd146101d557806323b872dd14610200578063313ce5671461028557806370a08231146102b657806379ba50971461030d5780638da5cb5b1461032457806395d89b411461037b578063a9059cbb1461040b578063cae9ca5114610470578063d4ee1d901461051b578063dc39d06d14610572578063dd62ed3e146105d7578063f2fde38b1461064e575b600080fd5b3480156100ec57600080fd5b506100f5610691565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561013557808201518184015260208101905061011a565b50505050905090810190601f1680156101625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561017c57600080fd5b506101bb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061072f565b604051808215151515815260200191505060405180910390f35b3480156101e157600080fd5b506101ea610821565b6040518082815260200191505060405180910390f35b34801561020c57600080fd5b5061026b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061087c565b604051808215151515815260200191505060405180910390f35b34801561029157600080fd5b5061029a610b27565b604051808260ff1660ff16815260200191505060405180910390f35b3480156102c257600080fd5b506102f7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b3a565b6040518082815260200191505060405180910390f35b34801561031957600080fd5b50610322610b83565b005b34801561033057600080fd5b50610339610d22565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561038757600080fd5b50610390610d47565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103d05780820151818401526020810190506103b5565b50505050905090810190601f1680156103fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561041757600080fd5b50610456600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610de5565b604051808215151515815260200191505060405180910390f35b34801561047c57600080fd5b50610501600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610f80565b604051808215151515815260200191505060405180910390f35b34801561052757600080fd5b506105306111cf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561057e57600080fd5b506105bd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111f5565b604051808215151515815260200191505060405180910390f35b3480156105e357600080fd5b50610638600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611359565b6040518082815260200191505060405180910390f35b34801561065a57600080fd5b5061068f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113e0565b005b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107275780601f106106fc57610100808354040283529160200191610727565b820191906000526020600020905b81548152906001019060200180831161070a57829003601f168201915b505050505081565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000610877600660008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460055461147f90919063ffffffff16565b905090565b60006108d082600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461147f90919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109a282600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461147f90919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a7482600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461149b90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600460009054906101000a900460ff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610bdf57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ddd5780601f10610db257610100808354040283529160200191610ddd565b820191906000526020600020905b815481529060010190602001808311610dc057829003601f168201915b505050505081565b6000610e3982600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461147f90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ece82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461149b90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600082600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561115d578082015181840152602081019050611142565b50505050905090810190601f16801561118a5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156111ac57600080fd5b505af11580156111c0573d6000803e3d6000fd5b50505050600190509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561125257600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561131657600080fd5b505af115801561132a573d6000803e3d6000fd5b505050506040513d602081101561134057600080fd5b8101908080519060200190929190505050905092915050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561143b57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600082821115151561149057600080fd5b818303905092915050565b600081830190508281101515156114b157600080fd5b929150505600a165627a7a72305820e93a82d67ce3df799c1bfea59d7f6b269216cff0ed6e6c3d0c4b551065d3f5aa0029", + "sourceMap": "3506:5295:1:-;;;3966:256;8:9:-1;5:2;;;30:1;27;20:12;5:2;3966:256:1;2856:10;2848:5;;:18;;;;;;;;;;;;;;;;;;3997:14;;;;;;;;;;;;;;;;;;:6;:14;;;;;;;;;;;;:::i;:::-;;4021:22;;;;;;;;;;;;;;;;;;:4;:22;;;;;;;;;;;;:::i;:::-;;4064:2;4053:8;;:13;;;;;;;;;;;;;;;;;;4110:8;;;;;;;;;;;4105:14;;4101:2;:18;4091:7;:28;4076:12;:43;;;;4147:12;;4129:8;:15;4138:5;;;;;;;;;;;4129:15;;;;;;;;;;;;;;;:30;;;;4195:5;;;;;;;;;;;4174:41;;4191:1;4174:41;;;4202:12;;4174:41;;;;;;;;;;;;;;;;;;3506:5295;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "3506:5295:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8370:8;;;3612:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3612:19:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3612:19:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5971:204;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5971:204:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4409:112;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4409:112:1;;;;;;;;;;;;;;;;;;;;;;;6707:337;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6707:337:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3637:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3637:21:1;;;;;;;;;;;;;;;;;;;;;;;;;;;4742:118;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4742:118:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3065:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3065:191:1;;;;;;2684:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2684:20:1;;;;;;;;;;;;;;;;;;;;;;;;;;;3586;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3586:20:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3586:20:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5203:262;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5203:262:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7830:312;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7830:312:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2710:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2710:23:1;;;;;;;;;;;;;;;;;;;;;;;;;;;8617:182;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8617:182:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7325:145;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7325:145:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2960:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2960:100:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;3612:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5971:204::-;6034:12;6089:6;6058:7;:19;6066:10;6058:19;;;;;;;;;;;;;;;:28;6078:7;6058:28;;;;;;;;;;;;;;;:37;;;;6131:7;6110:37;;6119:10;6110:37;;;6140:6;6110:37;;;;;;;;;;;;;;;;;;6164:4;6157:11;;5971:204;;;;:::o;4409:112::-;4453:4;4476:38;4493:8;:20;4510:1;4493:20;;;;;;;;;;;;;;;;4476:12;;:16;;:38;;;;:::i;:::-;4469:45;;4409:112;:::o;6707:337::-;6784:12;6825:26;6844:6;6825:8;:14;6834:4;6825:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;6808:8;:14;6817:4;6808:14;;;;;;;;;;;;;;;:43;;;;6889:37;6919:6;6889:7;:13;6897:4;6889:13;;;;;;;;;;;;;;;:25;6903:10;6889:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;6861:7;:13;6869:4;6861:13;;;;;;;;;;;;;;;:25;6875:10;6861:25;;;;;;;;;;;;;;;:65;;;;6951:24;6968:6;6951:8;:12;6960:2;6951:12;;;;;;;;;;;;;;;;:16;;:24;;;;:::i;:::-;6936:8;:12;6945:2;6936:12;;;;;;;;;;;;;;;:39;;;;7005:2;6990:26;;6999:4;6990:26;;;7009:6;6990:26;;;;;;;;;;;;;;;;;;7033:4;7026:11;;6707:337;;;;;:::o;3637:21::-;;;;;;;;;;;;;:::o;4742:118::-;4802:12;4833:8;:20;4842:10;4833:20;;;;;;;;;;;;;;;;4826:27;;4742:118;;;:::o;3065:191::-;3131:8;;;;;;;;;;;3117:22;;:10;:22;;;3109:31;;;;;;;;3183:8;;;;;;;;;;;3155:37;;3176:5;;;;;;;;;;;3155:37;;;;;;;;;;;;3210:8;;;;;;;;;;;3202:5;;:16;;;;;;;;;;;;;;;;;;3247:1;3228:8;;:21;;;;;;;;;;;;;;;;;;3065:191::o;2684:20::-;;;;;;;;;;;;;:::o;3586:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5203:262::-;5262:12;5309:32;5334:6;5309:8;:20;5318:10;5309:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;5286:8;:20;5295:10;5286:20;;;;;;;;;;;;;;;:55;;;;5366:24;5383:6;5366:8;:12;5375:2;5366:12;;;;;;;;;;;;;;;;:16;;:24;;;;:::i;:::-;5351:8;:12;5360:2;5351:12;;;;;;;;;;;;;;;:39;;;;5426:2;5405:32;;5414:10;5405:32;;;5430:6;5405:32;;;;;;;;;;;;;;;;;;5454:4;5447:11;;5203:262;;;;:::o;7830:312::-;7912:12;7967:6;7936:7;:19;7944:10;7936:19;;;;;;;;;;;;;;;:28;7956:7;7936:28;;;;;;;;;;;;;;;:37;;;;8009:7;7988:37;;7997:10;7988:37;;;8018:6;7988:37;;;;;;;;;;;;;;;;;;8058:7;8035:47;;;8083:10;8095:6;8103:4;8109;8035:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;8035:79:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8035:79:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8035:79:1;;;;8131:4;8124:11;;7830:312;;;;;:::o;2710:23::-;;;;;;;;;;;;;:::o;8617:182::-;8709:12;2930:5;;;;;;;;;;;2916:19;;:10;:19;;;2908:28;;;;;;;;8755:12;8740:37;;;8778:5;;;;;;;;;;;8785:6;8740:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8740:52:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8740:52:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8740:52:1;;;;;;;;;;;;;;;;8733:59;;8617:182;;;;:::o;7325:145::-;7402:14;7435:7;:19;7443:10;7435:19;;;;;;;;;;;;;;;:28;7455:7;7435:28;;;;;;;;;;;;;;;;7428:35;;7325:145;;;;:::o;2960:100::-;2930:5;;;;;;;;;;;2916:19;;:10;:19;;;2908:28;;;;;;;;3044:9;3033:8;;:20;;;;;;;;;;;;;;;;;;2960:100;:::o;775:111::-;827:6;858:1;853;:6;;845:15;;;;;;;;878:1;874;:5;870:9;;775:111;;;;:::o;659:::-;711:6;737:1;733;:5;729:9;;761:1;756;:6;;748:15;;;;;;;;659:111;;;;:::o", + "source": "pragma solidity ^0.4.24;\n\n// ----------------------------------------------------------------------------\n// 'FIXED' 'Example Fixed Supply Token' token contract\n//\n// Symbol : FIXED\n// Name : Example Fixed Supply Token\n// Total supply: 1,000,000.000000000000000000\n// Decimals : 18\n//\n// Enjoy.\n//\n// (c) BokkyPooBah / Bok Consulting Pty Ltd 2018. The MIT Licence.\n// ----------------------------------------------------------------------------\n\n\n// ----------------------------------------------------------------------------\n// Safe maths\n// ----------------------------------------------------------------------------\nlibrary SafeMath {\n function add(uint a, uint b) internal pure returns (uint c) {\n c = a + b;\n require(c >= a);\n }\n function sub(uint a, uint b) internal pure returns (uint c) {\n require(b <= a);\n c = a - b;\n }\n function mul(uint a, uint b) internal pure returns (uint c) {\n c = a * b;\n require(a == 0 || c / a == b);\n }\n function div(uint a, uint b) internal pure returns (uint c) {\n require(b > 0);\n c = a / b;\n }\n}\n\n\n// ----------------------------------------------------------------------------\n// ERC Token Standard #20 Interface\n// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md\n// ----------------------------------------------------------------------------\ncontract ERC20Interface {\n function totalSupply() public constant returns (uint);\n function balanceOf(address tokenOwner) public constant returns (uint balance);\n function allowance(address tokenOwner, address spender) public constant returns (uint remaining);\n function transfer(address to, uint tokens) public returns (bool success);\n function approve(address spender, uint tokens) public returns (bool success);\n function transferFrom(address from, address to, uint tokens) public returns (bool success);\n\n event Transfer(address indexed from, address indexed to, uint tokens);\n event Approval(address indexed tokenOwner, address indexed spender, uint tokens);\n}\n\n\n// ----------------------------------------------------------------------------\n// Contract function to receive approval and execute function in one call\n//\n// Borrowed from MiniMeToken\n// ----------------------------------------------------------------------------\ncontract ApproveAndCallFallBack {\n function receiveApproval(address from, uint256 tokens, address token, bytes data) public;\n}\n\n\n// ----------------------------------------------------------------------------\n// Owned contract\n// ----------------------------------------------------------------------------\ncontract Owned {\n address public owner;\n address public newOwner;\n\n event OwnershipTransferred(address indexed _from, address indexed _to);\n\n constructor() public {\n owner = msg.sender;\n }\n\n modifier onlyOwner {\n require(msg.sender == owner);\n _;\n }\n\n function transferOwnership(address _newOwner) public onlyOwner {\n newOwner = _newOwner;\n }\n function acceptOwnership() public {\n require(msg.sender == newOwner);\n emit OwnershipTransferred(owner, newOwner);\n owner = newOwner;\n newOwner = address(0);\n }\n}\n\n\n// ----------------------------------------------------------------------------\n// ERC20 Token, with the addition of symbol, name and decimals and a\n// fixed supply\n// ----------------------------------------------------------------------------\ncontract TestToken is ERC20Interface, Owned {\n using SafeMath for uint;\n\n string public symbol;\n string public name;\n uint8 public decimals;\n uint _totalSupply;\n\n mapping(address => uint) balances;\n mapping(address => mapping(address => uint)) allowed;\n\n\n // ------------------------------------------------------------------------\n // Constructor\n // ------------------------------------------------------------------------\n constructor() public {\n symbol = \"TKN\";\n name = \"Token Example\";\n decimals = 18;\n _totalSupply = 1000000 * 10**uint(decimals);\n balances[owner] = _totalSupply;\n emit Transfer(address(0), owner, _totalSupply);\n }\n\n\n // ------------------------------------------------------------------------\n // Total supply\n // ------------------------------------------------------------------------\n function totalSupply() public view returns (uint) {\n return _totalSupply.sub(balances[address(0)]);\n }\n\n\n // ------------------------------------------------------------------------\n // Get the token balance for account `tokenOwner`\n // ------------------------------------------------------------------------\n function balanceOf(address tokenOwner) public view returns (uint balance) {\n return balances[tokenOwner];\n }\n\n\n // ------------------------------------------------------------------------\n // Transfer the balance from token owner's account to `to` account\n // - Owner's account must have sufficient balance to transfer\n // - 0 value transfers are allowed\n // ------------------------------------------------------------------------\n function transfer(address to, uint tokens) public returns (bool success) {\n balances[msg.sender] = balances[msg.sender].sub(tokens);\n balances[to] = balances[to].add(tokens);\n emit Transfer(msg.sender, to, tokens);\n return true;\n }\n\n\n // ------------------------------------------------------------------------\n // Token owner can approve for `spender` to transferFrom(...) `tokens`\n // from the token owner's account\n //\n // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md\n // recommends that there are no checks for the approval double-spend attack\n // as this should be implemented in user interfaces \n // ------------------------------------------------------------------------\n function approve(address spender, uint tokens) public returns (bool success) {\n allowed[msg.sender][spender] = tokens;\n emit Approval(msg.sender, spender, tokens);\n return true;\n }\n\n\n // ------------------------------------------------------------------------\n // Transfer `tokens` from the `from` account to the `to` account\n // \n // The calling account must already have sufficient tokens approve(...)-d\n // for spending from the `from` account and\n // - From account must have sufficient balance to transfer\n // - Spender must have sufficient allowance to transfer\n // - 0 value transfers are allowed\n // ------------------------------------------------------------------------\n function transferFrom(address from, address to, uint tokens) public returns (bool success) {\n balances[from] = balances[from].sub(tokens);\n allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);\n balances[to] = balances[to].add(tokens);\n emit Transfer(from, to, tokens);\n return true;\n }\n\n\n // ------------------------------------------------------------------------\n // Returns the amount of tokens approved by the owner that can be\n // transferred to the spender's account\n // ------------------------------------------------------------------------\n function allowance(address tokenOwner, address spender) public view returns (uint remaining) {\n return allowed[tokenOwner][spender];\n }\n\n\n // ------------------------------------------------------------------------\n // Token owner can approve for `spender` to transferFrom(...) `tokens`\n // from the token owner's account. The `spender` contract function\n // `receiveApproval(...)` is then executed\n // ------------------------------------------------------------------------\n function approveAndCall(address spender, uint tokens, bytes data) public returns (bool success) {\n allowed[msg.sender][spender] = tokens;\n emit Approval(msg.sender, spender, tokens);\n ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, this, data);\n return true;\n }\n\n\n // ------------------------------------------------------------------------\n // Don't accept ETH\n // ------------------------------------------------------------------------\n function () public payable {\n revert();\n }\n\n\n // ------------------------------------------------------------------------\n // Owner can transfer out any accidentally sent ERC20 tokens\n // ------------------------------------------------------------------------\n function transferAnyERC20Token(address tokenAddress, uint tokens) public onlyOwner returns (bool success) {\n return ERC20Interface(tokenAddress).transfer(owner, tokens);\n }\n}", + "sourcePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/test/TestToken.sol", "ast": { - "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/test/MyToken.sol", + "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/test/TestToken.sol", "exportedSymbols": { "ApproveAndCallFallBack": [ - 175 + 715 ], "ERC20Interface": [ - 163 - ], - "FixedSupplyToken": [ - 551 + 703 ], "Owned": [ - 244 + 784 ], "SafeMath": [ - 96 + 636 + ], + "TestToken": [ + 1091 ] }, - "id": 552, + "id": 1092, "nodeType": "SourceUnit", "nodes": [ { - "id": 1, + "id": 541, "literals": [ "solidity", "^", @@ -383,7 +383,7 @@ ".24" ], "nodeType": "PragmaDirective", - "src": "0:24:0" + "src": "0:24:1" }, { "baseContracts": [], @@ -391,35 +391,35 @@ "contractKind": "library", "documentation": null, "fullyImplemented": true, - "id": 96, + "id": 636, "linearizedBaseContracts": [ - 96 + 636 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 22, + "id": 562, "nodeType": "Block", - "src": "719:51:0", + "src": "719:51:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 14, + "id": 554, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10, + "id": 550, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8, - "src": "729:1:0", + "referencedDeclaration": 548, + "src": "729:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -433,19 +433,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 13, + "id": 553, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 11, + "id": 551, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "733:1:0", + "referencedDeclaration": 543, + "src": "733:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -455,32 +455,32 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 12, + "id": 552, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5, - "src": "737:1:0", + "referencedDeclaration": 545, + "src": "737:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "733:5:0", + "src": "733:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "729:9:0", + "src": "729:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 15, + "id": 555, "nodeType": "ExpressionStatement", - "src": "729:9:0" + "src": "729:9:1" }, { "expression": { @@ -492,19 +492,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 19, + "id": 559, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 17, + "id": 557, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8, - "src": "756:1:0", + "referencedDeclaration": 548, + "src": "756:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -514,18 +514,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 18, + "id": 558, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "761:1:0", + "referencedDeclaration": 543, + "src": "761:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "756:6:0", + "src": "756:6:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -539,21 +539,21 @@ "typeString": "bool" } ], - "id": 16, + "id": 556, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 569, - 570 + 1109, + 1110 ], - "referencedDeclaration": 569, - "src": "748:7:0", + "referencedDeclaration": 1109, + "src": "748:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 20, + "id": 560, "isConstant": false, "isLValue": false, "isPure": false, @@ -561,20 +561,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "748:15:0", + "src": "748:15:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 21, + "id": 561, "nodeType": "ExpressionStatement", - "src": "748:15:0" + "src": "748:15:1" } ] }, "documentation": null, - "id": 23, + "id": 563, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -582,16 +582,16 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 6, + "id": 546, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3, + "id": 543, "name": "a", "nodeType": "VariableDeclaration", - "scope": 23, - "src": "672:6:0", + "scope": 563, + "src": "672:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -599,10 +599,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2, + "id": 542, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "672:4:0", + "src": "672:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -613,11 +613,11 @@ }, { "constant": false, - "id": 5, + "id": 545, "name": "b", "nodeType": "VariableDeclaration", - "scope": 23, - "src": "680:6:0", + "scope": 563, + "src": "680:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -625,10 +625,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4, + "id": 544, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "680:4:0", + "src": "680:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -638,20 +638,20 @@ "visibility": "internal" } ], - "src": "671:16:0" + "src": "671:16:1" }, "payable": false, "returnParameters": { - "id": 9, + "id": 549, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8, + "id": 548, "name": "c", "nodeType": "VariableDeclaration", - "scope": 23, - "src": "711:6:0", + "scope": 563, + "src": "711:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -659,10 +659,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7, + "id": 547, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "711:4:0", + "src": "711:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -672,19 +672,19 @@ "visibility": "internal" } ], - "src": "710:8:0" + "src": "710:8:1" }, - "scope": 96, - "src": "659:111:0", + "scope": 636, + "src": "659:111:1", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 44, + "id": 584, "nodeType": "Block", - "src": "835:51:0", + "src": "835:51:1", "statements": [ { "expression": { @@ -696,19 +696,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 35, + "id": 575, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 33, + "id": 573, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "853:1:0", + "referencedDeclaration": 567, + "src": "853:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -718,18 +718,18 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 34, + "id": 574, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "858:1:0", + "referencedDeclaration": 565, + "src": "858:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "853:6:0", + "src": "853:6:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -743,21 +743,21 @@ "typeString": "bool" } ], - "id": 32, + "id": 572, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 569, - 570 + 1109, + 1110 ], - "referencedDeclaration": 569, - "src": "845:7:0", + "referencedDeclaration": 1109, + "src": "845:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 36, + "id": 576, "isConstant": false, "isLValue": false, "isPure": false, @@ -765,32 +765,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "845:15:0", + "src": "845:15:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 37, + "id": 577, "nodeType": "ExpressionStatement", - "src": "845:15:0" + "src": "845:15:1" }, { "expression": { "argumentTypes": null, - "id": 42, + "id": 582, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 38, + "id": 578, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 30, - "src": "870:1:0", + "referencedDeclaration": 570, + "src": "870:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -804,19 +804,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 41, + "id": 581, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 39, + "id": 579, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "874:1:0", + "referencedDeclaration": 565, + "src": "874:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -826,37 +826,37 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 40, + "id": 580, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "878:1:0", + "referencedDeclaration": 567, + "src": "878:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "874:5:0", + "src": "874:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "870:9:0", + "src": "870:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 43, + "id": 583, "nodeType": "ExpressionStatement", - "src": "870:9:0" + "src": "870:9:1" } ] }, "documentation": null, - "id": 45, + "id": 585, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -864,16 +864,16 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 28, + "id": 568, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 25, + "id": 565, "name": "a", "nodeType": "VariableDeclaration", - "scope": 45, - "src": "788:6:0", + "scope": 585, + "src": "788:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -881,10 +881,10 @@ "typeString": "uint256" }, "typeName": { - "id": 24, + "id": 564, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "788:4:0", + "src": "788:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -895,11 +895,11 @@ }, { "constant": false, - "id": 27, + "id": 567, "name": "b", "nodeType": "VariableDeclaration", - "scope": 45, - "src": "796:6:0", + "scope": 585, + "src": "796:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -907,10 +907,10 @@ "typeString": "uint256" }, "typeName": { - "id": 26, + "id": 566, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "796:4:0", + "src": "796:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -920,20 +920,20 @@ "visibility": "internal" } ], - "src": "787:16:0" + "src": "787:16:1" }, "payable": false, "returnParameters": { - "id": 31, + "id": 571, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 30, + "id": 570, "name": "c", "nodeType": "VariableDeclaration", - "scope": 45, - "src": "827:6:0", + "scope": 585, + "src": "827:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -941,10 +941,10 @@ "typeString": "uint256" }, "typeName": { - "id": 29, + "id": 569, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "827:4:0", + "src": "827:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -954,36 +954,36 @@ "visibility": "internal" } ], - "src": "826:8:0" + "src": "826:8:1" }, - "scope": 96, - "src": "775:111:0", + "scope": 636, + "src": "775:111:1", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 72, + "id": 612, "nodeType": "Block", - "src": "951:65:0", + "src": "951:65:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 58, + "id": 598, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 54, + "id": 594, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "961:1:0", + "referencedDeclaration": 592, + "src": "961:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -997,19 +997,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 57, + "id": 597, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 55, + "id": 595, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "965:1:0", + "referencedDeclaration": 587, + "src": "965:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1019,32 +1019,32 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 56, + "id": 596, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "969:1:0", + "referencedDeclaration": 589, + "src": "969:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "965:5:0", + "src": "965:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "961:9:0", + "src": "961:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 59, + "id": 599, "nodeType": "ExpressionStatement", - "src": "961:9:0" + "src": "961:9:1" }, { "expression": { @@ -1056,7 +1056,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 69, + "id": 609, "isConstant": false, "isLValue": false, "isPure": false, @@ -1067,19 +1067,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 63, + "id": 603, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 61, + "id": 601, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "988:1:0", + "referencedDeclaration": 587, + "src": "988:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1090,14 +1090,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 62, + "id": 602, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "993:1:0", + "src": "993:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1105,7 +1105,7 @@ }, "value": "0" }, - "src": "988:6:0", + "src": "988:6:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1119,7 +1119,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 68, + "id": 608, "isConstant": false, "isLValue": false, "isPure": false, @@ -1130,19 +1130,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 66, + "id": 606, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 64, + "id": 604, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "998:1:0", + "referencedDeclaration": 592, + "src": "998:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1152,18 +1152,18 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 65, + "id": 605, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "1002:1:0", + "referencedDeclaration": 587, + "src": "1002:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "998:5:0", + "src": "998:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1173,24 +1173,24 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 67, + "id": 607, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "1007:1:0", + "referencedDeclaration": 589, + "src": "1007:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "998:10:0", + "src": "998:10:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "988:20:0", + "src": "988:20:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1204,21 +1204,21 @@ "typeString": "bool" } ], - "id": 60, + "id": 600, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 569, - 570 + 1109, + 1110 ], - "referencedDeclaration": 569, - "src": "980:7:0", + "referencedDeclaration": 1109, + "src": "980:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 70, + "id": 610, "isConstant": false, "isLValue": false, "isPure": false, @@ -1226,20 +1226,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "980:29:0", + "src": "980:29:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 71, + "id": 611, "nodeType": "ExpressionStatement", - "src": "980:29:0" + "src": "980:29:1" } ] }, "documentation": null, - "id": 73, + "id": 613, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1247,16 +1247,16 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 50, + "id": 590, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 47, + "id": 587, "name": "a", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "904:6:0", + "scope": 613, + "src": "904:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1264,10 +1264,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46, + "id": 586, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "904:4:0", + "src": "904:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1278,11 +1278,11 @@ }, { "constant": false, - "id": 49, + "id": 589, "name": "b", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "912:6:0", + "scope": 613, + "src": "912:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1290,10 +1290,10 @@ "typeString": "uint256" }, "typeName": { - "id": 48, + "id": 588, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "912:4:0", + "src": "912:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1303,20 +1303,20 @@ "visibility": "internal" } ], - "src": "903:16:0" + "src": "903:16:1" }, "payable": false, "returnParameters": { - "id": 53, + "id": 593, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 52, + "id": 592, "name": "c", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "943:6:0", + "scope": 613, + "src": "943:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1324,10 +1324,10 @@ "typeString": "uint256" }, "typeName": { - "id": 51, + "id": 591, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "943:4:0", + "src": "943:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1337,19 +1337,19 @@ "visibility": "internal" } ], - "src": "942:8:0" + "src": "942:8:1" }, - "scope": 96, - "src": "891:125:0", + "scope": 636, + "src": "891:125:1", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 94, + "id": 634, "nodeType": "Block", - "src": "1081:50:0", + "src": "1081:50:1", "statements": [ { "expression": { @@ -1361,19 +1361,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 85, + "id": 625, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 83, + "id": 623, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "1099:1:0", + "referencedDeclaration": 617, + "src": "1099:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1384,14 +1384,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 84, + "id": 624, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1103:1:0", + "src": "1103:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1399,7 +1399,7 @@ }, "value": "0" }, - "src": "1099:5:0", + "src": "1099:5:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1413,21 +1413,21 @@ "typeString": "bool" } ], - "id": 82, + "id": 622, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 569, - 570 + 1109, + 1110 ], - "referencedDeclaration": 569, - "src": "1091:7:0", + "referencedDeclaration": 1109, + "src": "1091:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 86, + "id": 626, "isConstant": false, "isLValue": false, "isPure": false, @@ -1435,32 +1435,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1091:14:0", + "src": "1091:14:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 87, + "id": 627, "nodeType": "ExpressionStatement", - "src": "1091:14:0" + "src": "1091:14:1" }, { "expression": { "argumentTypes": null, - "id": 92, + "id": 632, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 88, + "id": 628, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 80, - "src": "1115:1:0", + "referencedDeclaration": 620, + "src": "1115:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1474,19 +1474,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 91, + "id": 631, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 89, + "id": 629, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75, - "src": "1119:1:0", + "referencedDeclaration": 615, + "src": "1119:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1496,37 +1496,37 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 90, + "id": 630, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "1123:1:0", + "referencedDeclaration": 617, + "src": "1123:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1119:5:0", + "src": "1119:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1115:9:0", + "src": "1115:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 93, + "id": 633, "nodeType": "ExpressionStatement", - "src": "1115:9:0" + "src": "1115:9:1" } ] }, "documentation": null, - "id": 95, + "id": 635, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1534,16 +1534,16 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 78, + "id": 618, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75, + "id": 615, "name": "a", "nodeType": "VariableDeclaration", - "scope": 95, - "src": "1034:6:0", + "scope": 635, + "src": "1034:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1551,10 +1551,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74, + "id": 614, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1034:4:0", + "src": "1034:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1565,11 +1565,11 @@ }, { "constant": false, - "id": 77, + "id": 617, "name": "b", "nodeType": "VariableDeclaration", - "scope": 95, - "src": "1042:6:0", + "scope": 635, + "src": "1042:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1577,10 +1577,10 @@ "typeString": "uint256" }, "typeName": { - "id": 76, + "id": 616, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1042:4:0", + "src": "1042:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1590,20 +1590,20 @@ "visibility": "internal" } ], - "src": "1033:16:0" + "src": "1033:16:1" }, "payable": false, "returnParameters": { - "id": 81, + "id": 621, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 80, + "id": 620, "name": "c", "nodeType": "VariableDeclaration", - "scope": 95, - "src": "1073:6:0", + "scope": 635, + "src": "1073:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1611,10 +1611,10 @@ "typeString": "uint256" }, "typeName": { - "id": 79, + "id": 619, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1073:4:0", + "src": "1073:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1624,17 +1624,17 @@ "visibility": "internal" } ], - "src": "1072:8:0" + "src": "1072:8:1" }, - "scope": 96, - "src": "1021:110:0", + "scope": 636, + "src": "1021:110:1", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 552, - "src": "636:497:0" + "scope": 1092, + "src": "636:497:1" }, { "baseContracts": [], @@ -1642,9 +1642,9 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 163, + "id": 703, "linearizedBaseContracts": [ - 163 + 703 ], "name": "ERC20Interface", "nodeType": "ContractDefinition", @@ -1652,7 +1652,7 @@ { "body": null, "documentation": null, - "id": 101, + "id": 641, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -1660,23 +1660,23 @@ "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 97, + "id": 637, "nodeType": "ParameterList", "parameters": [], - "src": "1445:2:0" + "src": "1445:2:1" }, "payable": false, "returnParameters": { - "id": 100, + "id": 640, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 99, + "id": 639, "name": "", "nodeType": "VariableDeclaration", - "scope": 101, - "src": "1473:4:0", + "scope": 641, + "src": "1473:4:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1684,10 +1684,10 @@ "typeString": "uint256" }, "typeName": { - "id": 98, + "id": 638, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1473:4:0", + "src": "1473:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1697,10 +1697,10 @@ "visibility": "internal" } ], - "src": "1472:6:0" + "src": "1472:6:1" }, - "scope": 163, - "src": "1425:54:0", + "scope": 703, + "src": "1425:54:1", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -1708,7 +1708,7 @@ { "body": null, "documentation": null, - "id": 108, + "id": 648, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -1716,16 +1716,16 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 104, + "id": 644, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 103, + "id": 643, "name": "tokenOwner", "nodeType": "VariableDeclaration", - "scope": 108, - "src": "1503:18:0", + "scope": 648, + "src": "1503:18:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1733,10 +1733,10 @@ "typeString": "address" }, "typeName": { - "id": 102, + "id": 642, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1503:7:0", + "src": "1503:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1746,20 +1746,20 @@ "visibility": "internal" } ], - "src": "1502:20:0" + "src": "1502:20:1" }, "payable": false, "returnParameters": { - "id": 107, + "id": 647, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 106, + "id": 646, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 108, - "src": "1548:12:0", + "scope": 648, + "src": "1548:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1767,10 +1767,10 @@ "typeString": "uint256" }, "typeName": { - "id": 105, + "id": 645, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1548:4:0", + "src": "1548:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1780,10 +1780,10 @@ "visibility": "internal" } ], - "src": "1547:14:0" + "src": "1547:14:1" }, - "scope": 163, - "src": "1484:78:0", + "scope": 703, + "src": "1484:78:1", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -1791,7 +1791,7 @@ { "body": null, "documentation": null, - "id": 117, + "id": 657, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -1799,16 +1799,16 @@ "name": "allowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 113, + "id": 653, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 110, + "id": 650, "name": "tokenOwner", "nodeType": "VariableDeclaration", - "scope": 117, - "src": "1586:18:0", + "scope": 657, + "src": "1586:18:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1816,10 +1816,10 @@ "typeString": "address" }, "typeName": { - "id": 109, + "id": 649, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1586:7:0", + "src": "1586:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1830,11 +1830,11 @@ }, { "constant": false, - "id": 112, + "id": 652, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 117, - "src": "1606:15:0", + "scope": 657, + "src": "1606:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1842,10 +1842,10 @@ "typeString": "address" }, "typeName": { - "id": 111, + "id": 651, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1606:7:0", + "src": "1606:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1855,20 +1855,20 @@ "visibility": "internal" } ], - "src": "1585:37:0" + "src": "1585:37:1" }, "payable": false, "returnParameters": { - "id": 116, + "id": 656, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 115, + "id": 655, "name": "remaining", "nodeType": "VariableDeclaration", - "scope": 117, - "src": "1648:14:0", + "scope": 657, + "src": "1648:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1876,10 +1876,10 @@ "typeString": "uint256" }, "typeName": { - "id": 114, + "id": 654, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1648:4:0", + "src": "1648:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1889,10 +1889,10 @@ "visibility": "internal" } ], - "src": "1647:16:0" + "src": "1647:16:1" }, - "scope": 163, - "src": "1567:97:0", + "scope": 703, + "src": "1567:97:1", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -1900,7 +1900,7 @@ { "body": null, "documentation": null, - "id": 126, + "id": 666, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -1908,16 +1908,16 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 122, + "id": 662, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 119, + "id": 659, "name": "to", "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1687:10:0", + "scope": 666, + "src": "1687:10:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1925,10 +1925,10 @@ "typeString": "address" }, "typeName": { - "id": 118, + "id": 658, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1687:7:0", + "src": "1687:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1939,11 +1939,11 @@ }, { "constant": false, - "id": 121, + "id": 661, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1699:11:0", + "scope": 666, + "src": "1699:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1951,10 +1951,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120, + "id": 660, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1699:4:0", + "src": "1699:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1964,20 +1964,20 @@ "visibility": "internal" } ], - "src": "1686:25:0" + "src": "1686:25:1" }, "payable": false, "returnParameters": { - "id": 125, + "id": 665, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 124, + "id": 664, "name": "success", "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1728:12:0", + "scope": 666, + "src": "1728:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1985,10 +1985,10 @@ "typeString": "bool" }, "typeName": { - "id": 123, + "id": 663, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1728:4:0", + "src": "1728:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1998,10 +1998,10 @@ "visibility": "internal" } ], - "src": "1727:14:0" + "src": "1727:14:1" }, - "scope": 163, - "src": "1669:73:0", + "scope": 703, + "src": "1669:73:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -2009,7 +2009,7 @@ { "body": null, "documentation": null, - "id": 135, + "id": 675, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -2017,16 +2017,16 @@ "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 131, + "id": 671, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 128, + "id": 668, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 135, - "src": "1764:15:0", + "scope": 675, + "src": "1764:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2034,10 +2034,10 @@ "typeString": "address" }, "typeName": { - "id": 127, + "id": 667, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1764:7:0", + "src": "1764:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2048,11 +2048,11 @@ }, { "constant": false, - "id": 130, + "id": 670, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 135, - "src": "1781:11:0", + "scope": 675, + "src": "1781:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2060,10 +2060,10 @@ "typeString": "uint256" }, "typeName": { - "id": 129, + "id": 669, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1781:4:0", + "src": "1781:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2073,20 +2073,20 @@ "visibility": "internal" } ], - "src": "1763:30:0" + "src": "1763:30:1" }, "payable": false, "returnParameters": { - "id": 134, + "id": 674, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 133, + "id": 673, "name": "success", "nodeType": "VariableDeclaration", - "scope": 135, - "src": "1810:12:0", + "scope": 675, + "src": "1810:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2094,10 +2094,10 @@ "typeString": "bool" }, "typeName": { - "id": 132, + "id": 672, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1810:4:0", + "src": "1810:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2107,10 +2107,10 @@ "visibility": "internal" } ], - "src": "1809:14:0" + "src": "1809:14:1" }, - "scope": 163, - "src": "1747:77:0", + "scope": 703, + "src": "1747:77:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -2118,7 +2118,7 @@ { "body": null, "documentation": null, - "id": 146, + "id": 686, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -2126,16 +2126,16 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 142, + "id": 682, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 137, + "id": 677, "name": "from", "nodeType": "VariableDeclaration", - "scope": 146, - "src": "1851:12:0", + "scope": 686, + "src": "1851:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2143,10 +2143,10 @@ "typeString": "address" }, "typeName": { - "id": 136, + "id": 676, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1851:7:0", + "src": "1851:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2157,11 +2157,11 @@ }, { "constant": false, - "id": 139, + "id": 679, "name": "to", "nodeType": "VariableDeclaration", - "scope": 146, - "src": "1865:10:0", + "scope": 686, + "src": "1865:10:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2169,10 +2169,10 @@ "typeString": "address" }, "typeName": { - "id": 138, + "id": 678, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1865:7:0", + "src": "1865:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2183,11 +2183,11 @@ }, { "constant": false, - "id": 141, + "id": 681, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 146, - "src": "1877:11:0", + "scope": 686, + "src": "1877:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2195,10 +2195,10 @@ "typeString": "uint256" }, "typeName": { - "id": 140, + "id": 680, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1877:4:0", + "src": "1877:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2208,20 +2208,20 @@ "visibility": "internal" } ], - "src": "1850:39:0" + "src": "1850:39:1" }, "payable": false, "returnParameters": { - "id": 145, + "id": 685, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 144, + "id": 684, "name": "success", "nodeType": "VariableDeclaration", - "scope": 146, - "src": "1906:12:0", + "scope": 686, + "src": "1906:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2229,10 +2229,10 @@ "typeString": "bool" }, "typeName": { - "id": 143, + "id": 683, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1906:4:0", + "src": "1906:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2242,10 +2242,10 @@ "visibility": "internal" } ], - "src": "1905:14:0" + "src": "1905:14:1" }, - "scope": 163, - "src": "1829:91:0", + "scope": 703, + "src": "1829:91:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -2253,21 +2253,21 @@ { "anonymous": false, "documentation": null, - "id": 154, + "id": 694, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 153, + "id": 693, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 148, + "id": 688, "indexed": true, "name": "from", "nodeType": "VariableDeclaration", - "scope": 154, - "src": "1941:20:0", + "scope": 694, + "src": "1941:20:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2275,10 +2275,10 @@ "typeString": "address" }, "typeName": { - "id": 147, + "id": 687, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1941:7:0", + "src": "1941:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2289,12 +2289,12 @@ }, { "constant": false, - "id": 150, + "id": 690, "indexed": true, "name": "to", "nodeType": "VariableDeclaration", - "scope": 154, - "src": "1963:18:0", + "scope": 694, + "src": "1963:18:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2302,10 +2302,10 @@ "typeString": "address" }, "typeName": { - "id": 149, + "id": 689, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1963:7:0", + "src": "1963:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2316,12 +2316,12 @@ }, { "constant": false, - "id": 152, + "id": 692, "indexed": false, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 154, - "src": "1983:11:0", + "scope": 694, + "src": "1983:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2329,10 +2329,10 @@ "typeString": "uint256" }, "typeName": { - "id": 151, + "id": 691, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1983:4:0", + "src": "1983:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2342,28 +2342,28 @@ "visibility": "internal" } ], - "src": "1940:55:0" + "src": "1940:55:1" }, - "src": "1926:70:0" + "src": "1926:70:1" }, { "anonymous": false, "documentation": null, - "id": 162, + "id": 702, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 161, + "id": 701, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 156, + "id": 696, "indexed": true, "name": "tokenOwner", "nodeType": "VariableDeclaration", - "scope": 162, - "src": "2016:26:0", + "scope": 702, + "src": "2016:26:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2371,10 +2371,10 @@ "typeString": "address" }, "typeName": { - "id": 155, + "id": 695, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2016:7:0", + "src": "2016:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2385,12 +2385,12 @@ }, { "constant": false, - "id": 158, + "id": 698, "indexed": true, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 162, - "src": "2044:23:0", + "scope": 702, + "src": "2044:23:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2398,10 +2398,10 @@ "typeString": "address" }, "typeName": { - "id": 157, + "id": 697, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2044:7:0", + "src": "2044:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2412,12 +2412,12 @@ }, { "constant": false, - "id": 160, + "id": 700, "indexed": false, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 162, - "src": "2069:11:0", + "scope": 702, + "src": "2069:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2425,10 +2425,10 @@ "typeString": "uint256" }, "typeName": { - "id": 159, + "id": 699, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2069:4:0", + "src": "2069:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2438,13 +2438,13 @@ "visibility": "internal" } ], - "src": "2015:66:0" + "src": "2015:66:1" }, - "src": "2001:81:0" + "src": "2001:81:1" } ], - "scope": 552, - "src": "1395:689:0" + "scope": 1092, + "src": "1395:689:1" }, { "baseContracts": [], @@ -2452,9 +2452,9 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 175, + "id": 715, "linearizedBaseContracts": [ - 175 + 715 ], "name": "ApproveAndCallFallBack", "nodeType": "ContractDefinition", @@ -2462,7 +2462,7 @@ { "body": null, "documentation": null, - "id": 174, + "id": 714, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -2470,16 +2470,16 @@ "name": "receiveApproval", "nodeType": "FunctionDefinition", "parameters": { - "id": 172, + "id": 712, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 165, + "id": 705, "name": "from", "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2416:12:0", + "scope": 714, + "src": "2416:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2487,10 +2487,10 @@ "typeString": "address" }, "typeName": { - "id": 164, + "id": 704, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2416:7:0", + "src": "2416:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2501,11 +2501,11 @@ }, { "constant": false, - "id": 167, + "id": 707, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2430:14:0", + "scope": 714, + "src": "2430:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2513,10 +2513,10 @@ "typeString": "uint256" }, "typeName": { - "id": 166, + "id": 706, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2430:7:0", + "src": "2430:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2527,11 +2527,11 @@ }, { "constant": false, - "id": 169, + "id": 709, "name": "token", "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2446:13:0", + "scope": 714, + "src": "2446:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2539,10 +2539,10 @@ "typeString": "address" }, "typeName": { - "id": 168, + "id": 708, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2446:7:0", + "src": "2446:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2553,11 +2553,11 @@ }, { "constant": false, - "id": 171, + "id": 711, "name": "data", "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2461:10:0", + "scope": 714, + "src": "2461:10:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2565,10 +2565,10 @@ "typeString": "bytes" }, "typeName": { - "id": 170, + "id": 710, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2461:5:0", + "src": "2461:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2578,24 +2578,24 @@ "visibility": "internal" } ], - "src": "2415:57:0" + "src": "2415:57:1" }, "payable": false, "returnParameters": { - "id": 173, + "id": 713, "nodeType": "ParameterList", "parameters": [], - "src": "2479:0:0" + "src": "2479:0:1" }, - "scope": 175, - "src": "2391:89:0", + "scope": 715, + "src": "2391:89:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 552, - "src": "2353:129:0" + "scope": 1092, + "src": "2353:129:1" }, { "baseContracts": [], @@ -2603,20 +2603,20 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 244, + "id": 784, "linearizedBaseContracts": [ - 244 + 784 ], "name": "Owned", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 177, + "id": 717, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 244, - "src": "2684:20:0", + "scope": 784, + "src": "2684:20:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2624,10 +2624,10 @@ "typeString": "address" }, "typeName": { - "id": 176, + "id": 716, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2684:7:0", + "src": "2684:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2638,11 +2638,11 @@ }, { "constant": false, - "id": 179, + "id": 719, "name": "newOwner", "nodeType": "VariableDeclaration", - "scope": 244, - "src": "2710:23:0", + "scope": 784, + "src": "2710:23:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2650,10 +2650,10 @@ "typeString": "address" }, "typeName": { - "id": 178, + "id": 718, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2710:7:0", + "src": "2710:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2665,21 +2665,21 @@ { "anonymous": false, "documentation": null, - "id": 185, + "id": 725, "name": "OwnershipTransferred", "nodeType": "EventDefinition", "parameters": { - "id": 184, + "id": 724, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 181, + "id": 721, "indexed": true, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 185, - "src": "2767:21:0", + "scope": 725, + "src": "2767:21:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2687,10 +2687,10 @@ "typeString": "address" }, "typeName": { - "id": 180, + "id": 720, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2767:7:0", + "src": "2767:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2701,12 +2701,12 @@ }, { "constant": false, - "id": 183, + "id": 723, "indexed": true, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 185, - "src": "2790:19:0", + "scope": 725, + "src": "2790:19:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2714,10 +2714,10 @@ "typeString": "address" }, "typeName": { - "id": 182, + "id": 722, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2790:7:0", + "src": "2790:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2727,32 +2727,32 @@ "visibility": "internal" } ], - "src": "2766:44:0" + "src": "2766:44:1" }, - "src": "2740:71:0" + "src": "2740:71:1" }, { "body": { - "id": 193, + "id": 733, "nodeType": "Block", - "src": "2838:35:0", + "src": "2838:35:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 191, + "id": 731, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 188, + "id": 728, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "2848:5:0", + "referencedDeclaration": 717, + "src": "2848:5:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2764,18 +2764,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 189, + "id": 729, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2856:3:0", + "referencedDeclaration": 1106, + "src": "2856:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 190, + "id": 730, "isConstant": false, "isLValue": false, "isPure": false, @@ -2783,26 +2783,26 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2856:10:0", + "src": "2856:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2848:18:0", + "src": "2848:18:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 192, + "id": 732, "nodeType": "ExpressionStatement", - "src": "2848:18:0" + "src": "2848:18:1" } ] }, "documentation": null, - "id": 194, + "id": 734, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -2810,29 +2810,29 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 186, + "id": 726, "nodeType": "ParameterList", "parameters": [], - "src": "2828:2:0" + "src": "2828:2:1" }, "payable": false, "returnParameters": { - "id": 187, + "id": 727, "nodeType": "ParameterList", "parameters": [], - "src": "2838:0:0" + "src": "2838:0:1" }, - "scope": 244, - "src": "2817:56:0", + "scope": 784, + "src": "2817:56:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 204, + "id": 744, "nodeType": "Block", - "src": "2898:56:0", + "src": "2898:56:1", "statements": [ { "expression": { @@ -2844,7 +2844,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 200, + "id": 740, "isConstant": false, "isLValue": false, "isPure": false, @@ -2853,18 +2853,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 197, + "id": 737, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2916:3:0", + "referencedDeclaration": 1106, + "src": "2916:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 198, + "id": 738, "isConstant": false, "isLValue": false, "isPure": false, @@ -2872,7 +2872,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2916:10:0", + "src": "2916:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2882,18 +2882,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 199, + "id": 739, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "2930:5:0", + "referencedDeclaration": 717, + "src": "2930:5:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2916:19:0", + "src": "2916:19:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2907,21 +2907,21 @@ "typeString": "bool" } ], - "id": 196, + "id": 736, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 569, - 570 + 1109, + 1110 ], - "referencedDeclaration": 569, - "src": "2908:7:0", + "referencedDeclaration": 1109, + "src": "2908:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 201, + "id": 741, "isConstant": false, "isLValue": false, "isPure": false, @@ -2929,58 +2929,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2908:28:0", + "src": "2908:28:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 202, + "id": 742, "nodeType": "ExpressionStatement", - "src": "2908:28:0" + "src": "2908:28:1" }, { - "id": 203, + "id": 743, "nodeType": "PlaceholderStatement", - "src": "2946:1:0" + "src": "2946:1:1" } ] }, "documentation": null, - "id": 205, + "id": 745, "name": "onlyOwner", "nodeType": "ModifierDefinition", "parameters": { - "id": 195, + "id": 735, "nodeType": "ParameterList", "parameters": [], - "src": "2898:0:0" + "src": "2898:0:1" }, - "src": "2879:75:0", + "src": "2879:75:1", "visibility": "internal" }, { "body": { - "id": 216, + "id": 756, "nodeType": "Block", - "src": "3023:37:0", + "src": "3023:37:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 214, + "id": 754, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 212, + "id": 752, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3033:8:0", + "referencedDeclaration": 719, + "src": "3033:8:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2990,68 +2990,68 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 213, + "id": 753, "name": "_newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "3044:9:0", + "referencedDeclaration": 747, + "src": "3044:9:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3033:20:0", + "src": "3033:20:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 215, + "id": 755, "nodeType": "ExpressionStatement", - "src": "3033:20:0" + "src": "3033:20:1" } ] }, "documentation": null, - "id": 217, + "id": 757, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 210, + "id": 750, "modifierName": { "argumentTypes": null, - "id": 209, + "id": 749, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "3013:9:0", + "referencedDeclaration": 745, + "src": "3013:9:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3013:9:0" + "src": "3013:9:1" } ], "name": "transferOwnership", "nodeType": "FunctionDefinition", "parameters": { - "id": 208, + "id": 748, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 207, + "id": 747, "name": "_newOwner", "nodeType": "VariableDeclaration", - "scope": 217, - "src": "2987:17:0", + "scope": 757, + "src": "2987:17:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3059,10 +3059,10 @@ "typeString": "address" }, "typeName": { - "id": 206, + "id": 746, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2987:7:0", + "src": "2987:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3072,26 +3072,26 @@ "visibility": "internal" } ], - "src": "2986:19:0" + "src": "2986:19:1" }, "payable": false, "returnParameters": { - "id": 211, + "id": 751, "nodeType": "ParameterList", "parameters": [], - "src": "3023:0:0" + "src": "3023:0:1" }, - "scope": 244, - "src": "2960:100:0", + "scope": 784, + "src": "2960:100:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 242, + "id": 782, "nodeType": "Block", - "src": "3099:157:0", + "src": "3099:157:1", "statements": [ { "expression": { @@ -3103,7 +3103,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 224, + "id": 764, "isConstant": false, "isLValue": false, "isPure": false, @@ -3112,18 +3112,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 221, + "id": 761, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "3117:3:0", + "referencedDeclaration": 1106, + "src": "3117:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 222, + "id": 762, "isConstant": false, "isLValue": false, "isPure": false, @@ -3131,7 +3131,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3117:10:0", + "src": "3117:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3141,18 +3141,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 223, + "id": 763, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3131:8:0", + "referencedDeclaration": 719, + "src": "3131:8:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3117:22:0", + "src": "3117:22:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3166,21 +3166,21 @@ "typeString": "bool" } ], - "id": 220, + "id": 760, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 569, - 570 + 1109, + 1110 ], - "referencedDeclaration": 569, - "src": "3109:7:0", + "referencedDeclaration": 1109, + "src": "3109:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 225, + "id": 765, "isConstant": false, "isLValue": false, "isPure": false, @@ -3188,15 +3188,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3109:31:0", + "src": "3109:31:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 226, + "id": 766, "nodeType": "ExpressionStatement", - "src": "3109:31:0" + "src": "3109:31:1" }, { "eventCall": { @@ -3204,12 +3204,12 @@ "arguments": [ { "argumentTypes": null, - "id": 228, + "id": 768, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "3176:5:0", + "referencedDeclaration": 717, + "src": "3176:5:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3217,12 +3217,12 @@ }, { "argumentTypes": null, - "id": 229, + "id": 769, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3183:8:0", + "referencedDeclaration": 719, + "src": "3183:8:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3240,18 +3240,18 @@ "typeString": "address" } ], - "id": 227, + "id": 767, "name": "OwnershipTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 185, - "src": "3155:20:0", + "referencedDeclaration": 725, + "src": "3155:20:1", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, - "id": 230, + "id": 770, "isConstant": false, "isLValue": false, "isPure": false, @@ -3259,32 +3259,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3155:37:0", + "src": "3155:37:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 231, + "id": 771, "nodeType": "EmitStatement", - "src": "3150:42:0" + "src": "3150:42:1" }, { "expression": { "argumentTypes": null, - "id": 234, + "id": 774, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 232, + "id": 772, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "3202:5:0", + "referencedDeclaration": 717, + "src": "3202:5:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3294,43 +3294,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 233, + "id": 773, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3210:8:0", + "referencedDeclaration": 719, + "src": "3210:8:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3202:16:0", + "src": "3202:16:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 235, + "id": 775, "nodeType": "ExpressionStatement", - "src": "3202:16:0" + "src": "3202:16:1" }, { "expression": { "argumentTypes": null, - "id": 240, + "id": 780, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 236, + "id": 776, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3228:8:0", + "referencedDeclaration": 719, + "src": "3228:8:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3344,14 +3344,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 238, + "id": 778, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3247:1:0", + "src": "3247:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3367,20 +3367,20 @@ "typeString": "int_const 0" } ], - "id": 237, + "id": 777, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3239:7:0", + "src": "3239:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 239, + "id": 779, "isConstant": false, "isLValue": false, "isPure": true, @@ -3388,26 +3388,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3239:10:0", + "src": "3239:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3228:21:0", + "src": "3228:21:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 241, + "id": 781, "nodeType": "ExpressionStatement", - "src": "3228:21:0" + "src": "3228:21:1" } ] }, "documentation": null, - "id": 243, + "id": 783, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -3415,27 +3415,27 @@ "name": "acceptOwnership", "nodeType": "FunctionDefinition", "parameters": { - "id": 218, + "id": 758, "nodeType": "ParameterList", "parameters": [], - "src": "3089:2:0" + "src": "3089:2:1" }, "payable": false, "returnParameters": { - "id": 219, + "id": 759, "nodeType": "ParameterList", "parameters": [], - "src": "3099:0:0" + "src": "3099:0:1" }, - "scope": 244, - "src": "3065:191:0", + "scope": 784, + "src": "3065:191:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 552, - "src": "2663:595:0" + "scope": 1092, + "src": "2663:595:1" }, { "baseContracts": [ @@ -3443,76 +3443,76 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 245, + "id": 785, "name": "ERC20Interface", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 163, - "src": "3535:14:0", + "referencedDeclaration": 703, + "src": "3528:14:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Interface_$163", + "typeIdentifier": "t_contract$_ERC20Interface_$703", "typeString": "contract ERC20Interface" } }, - "id": 246, + "id": 786, "nodeType": "InheritanceSpecifier", - "src": "3535:14:0" + "src": "3528:14:1" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 247, + "id": 787, "name": "Owned", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 244, - "src": "3551:5:0", + "referencedDeclaration": 784, + "src": "3544:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_Owned_$244", + "typeIdentifier": "t_contract$_Owned_$784", "typeString": "contract Owned" } }, - "id": 248, + "id": 788, "nodeType": "InheritanceSpecifier", - "src": "3551:5:0" + "src": "3544:5:1" } ], "contractDependencies": [ - 244, - 163 + 703, + 784 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 551, + "id": 1091, "linearizedBaseContracts": [ - 551, - 244, - 163 + 1091, + 784, + 703 ], - "name": "FixedSupplyToken", + "name": "TestToken", "nodeType": "ContractDefinition", "nodes": [ { - "id": 251, + "id": 791, "libraryName": { "contractScope": null, - "id": 249, + "id": 789, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 96, - "src": "3569:8:0", + "referencedDeclaration": 636, + "src": "3562:8:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$96", + "typeIdentifier": "t_contract$_SafeMath_$636", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "3563:24:0", + "src": "3556:24:1", "typeName": { - "id": 250, + "id": 790, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3582:4:0", + "src": "3575:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3521,11 +3521,11 @@ }, { "constant": false, - "id": 253, + "id": 793, "name": "symbol", "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3593:20:0", + "scope": 1091, + "src": "3586:20:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3533,10 +3533,10 @@ "typeString": "string" }, "typeName": { - "id": 252, + "id": 792, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3593:6:0", + "src": "3586:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -3547,11 +3547,11 @@ }, { "constant": false, - "id": 255, + "id": 795, "name": "name", "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3619:19:0", + "scope": 1091, + "src": "3612:19:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3559,10 +3559,10 @@ "typeString": "string" }, "typeName": { - "id": 254, + "id": 794, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3619:6:0", + "src": "3612:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -3573,11 +3573,11 @@ }, { "constant": false, - "id": 257, + "id": 797, "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3644:21:0", + "scope": 1091, + "src": "3637:21:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3585,10 +3585,10 @@ "typeString": "uint8" }, "typeName": { - "id": 256, + "id": 796, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3644:5:0", + "src": "3637:5:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3599,11 +3599,11 @@ }, { "constant": false, - "id": 259, + "id": 799, "name": "_totalSupply", "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3671:17:0", + "scope": 1091, + "src": "3664:17:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3611,10 +3611,10 @@ "typeString": "uint256" }, "typeName": { - "id": 258, + "id": 798, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3671:4:0", + "src": "3664:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3625,11 +3625,11 @@ }, { "constant": false, - "id": 263, + "id": 803, "name": "balances", "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3695:33:0", + "scope": 1091, + "src": "3688:33:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3637,28 +3637,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 262, + "id": 802, "keyType": { - "id": 260, + "id": 800, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3703:7:0", + "src": "3696:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "3695:24:0", + "src": "3688:24:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 261, + "id": 801, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3714:4:0", + "src": "3707:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3670,11 +3670,11 @@ }, { "constant": false, - "id": 269, + "id": 809, "name": "allowed", "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3734:52:0", + "scope": 1091, + "src": "3727:52:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3682,46 +3682,46 @@ "typeString": "mapping(address => mapping(address => uint256))" }, "typeName": { - "id": 268, + "id": 808, "keyType": { - "id": 264, + "id": 804, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3742:7:0", + "src": "3735:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "3734:44:0", + "src": "3727:44:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" }, "valueType": { - "id": 267, + "id": 807, "keyType": { - "id": 265, + "id": 805, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3761:7:0", + "src": "3754:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "3753:24:0", + "src": "3746:24:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 266, + "id": 806, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3772:4:0", + "src": "3765:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3734,26 +3734,26 @@ }, { "body": { - "id": 308, + "id": 848, "nodeType": "Block", - "src": "3994:235:0", + "src": "3987:235:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 274, + "id": 814, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 272, + "id": 812, "name": "symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 253, - "src": "4004:6:0", + "referencedDeclaration": 793, + "src": "3997:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -3764,14 +3764,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "544b4e", - "id": 273, + "id": 813, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4013:5:0", + "src": "4006:5:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9ee187a325c80a9ca820b4f297a58770bf5a85fede3756f8e7e9d14ff37d7b66", @@ -3779,32 +3779,32 @@ }, "value": "TKN" }, - "src": "4004:14:0", + "src": "3997:14:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 275, + "id": 815, "nodeType": "ExpressionStatement", - "src": "4004:14:0" + "src": "3997:14:1" }, { "expression": { "argumentTypes": null, - "id": 278, + "id": 818, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 276, + "id": 816, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 255, - "src": "4028:4:0", + "referencedDeclaration": 795, + "src": "4021:4:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -3815,14 +3815,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "546f6b656e204578616d706c65", - "id": 277, + "id": 817, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4035:15:0", + "src": "4028:15:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e57db44f555e20abcea99743d90b2c763b40df4478f8c8195ecabb23fc906e9a", @@ -3830,32 +3830,32 @@ }, "value": "Token Example" }, - "src": "4028:22:0", + "src": "4021:22:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 279, + "id": 819, "nodeType": "ExpressionStatement", - "src": "4028:22:0" + "src": "4021:22:1" }, { "expression": { "argumentTypes": null, - "id": 282, + "id": 822, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 280, + "id": 820, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 257, - "src": "4060:8:0", + "referencedDeclaration": 797, + "src": "4053:8:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3866,14 +3866,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "3138", - "id": 281, + "id": 821, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4071:2:0", + "src": "4064:2:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_18_by_1", @@ -3881,32 +3881,32 @@ }, "value": "18" }, - "src": "4060:13:0", + "src": "4053:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 283, + "id": 823, "nodeType": "ExpressionStatement", - "src": "4060:13:0" + "src": "4053:13:1" }, { "expression": { "argumentTypes": null, - "id": 292, + "id": 832, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 284, + "id": 824, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4083:12:0", + "referencedDeclaration": 799, + "src": "4076:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3920,7 +3920,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 291, + "id": 831, "isConstant": false, "isLValue": false, "isPure": false, @@ -3928,14 +3928,14 @@ "leftExpression": { "argumentTypes": null, "hexValue": "31303030303030", - "id": 285, + "id": 825, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4098:7:0", + "src": "4091:7:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1000000_by_1", @@ -3951,7 +3951,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 290, + "id": 830, "isConstant": false, "isLValue": false, "isPure": false, @@ -3959,14 +3959,14 @@ "leftExpression": { "argumentTypes": null, "hexValue": "3130", - "id": 286, + "id": 826, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4108:2:0", + "src": "4101:2:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -3981,12 +3981,12 @@ "arguments": [ { "argumentTypes": null, - "id": 288, + "id": 828, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 257, - "src": "4117:8:0", + "referencedDeclaration": 797, + "src": "4110:8:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4000,20 +4000,20 @@ "typeString": "uint8" } ], - "id": 287, + "id": 827, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4112:4:0", + "src": "4105:4:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint" }, - "id": 289, + "id": 829, "isConstant": false, "isLValue": false, "isPure": false, @@ -4021,38 +4021,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4112:14:0", + "src": "4105:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4108:18:0", + "src": "4101:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4098:28:0", + "src": "4091:28:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4083:43:0", + "src": "4076:43:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 293, + "id": 833, "nodeType": "ExpressionStatement", - "src": "4083:43:0" + "src": "4076:43:1" }, { "expression": { "argumentTypes": null, - "id": 298, + "id": 838, "isConstant": false, "isLValue": false, "isPure": false, @@ -4061,26 +4061,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 294, + "id": 834, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "4136:8:0", + "referencedDeclaration": 803, + "src": "4129:8:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 296, + "id": 836, "indexExpression": { "argumentTypes": null, - "id": 295, + "id": 835, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "4145:5:0", + "referencedDeclaration": 717, + "src": "4138:5:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4091,7 +4091,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4136:15:0", + "src": "4129:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4101,26 +4101,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 297, + "id": 837, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4154:12:0", + "referencedDeclaration": 799, + "src": "4147:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4136:30:0", + "src": "4129:30:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 299, + "id": 839, "nodeType": "ExpressionStatement", - "src": "4136:30:0" + "src": "4129:30:1" }, { "eventCall": { @@ -4132,14 +4132,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 302, + "id": 842, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4198:1:0", + "src": "4191:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4155,20 +4155,20 @@ "typeString": "int_const 0" } ], - "id": 301, + "id": 841, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4190:7:0", + "src": "4183:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 303, + "id": 843, "isConstant": false, "isLValue": false, "isPure": true, @@ -4176,7 +4176,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4190:10:0", + "src": "4183:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4184,12 +4184,12 @@ }, { "argumentTypes": null, - "id": 304, + "id": 844, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "4202:5:0", + "referencedDeclaration": 717, + "src": "4195:5:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4197,12 +4197,12 @@ }, { "argumentTypes": null, - "id": 305, + "id": 845, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4209:12:0", + "referencedDeclaration": 799, + "src": "4202:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4224,18 +4224,18 @@ "typeString": "uint256" } ], - "id": 300, + "id": 840, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 154, - "src": "4181:8:0", + "referencedDeclaration": 694, + "src": "4174:8:1", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 306, + "id": 846, "isConstant": false, "isLValue": false, "isPure": false, @@ -4243,20 +4243,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4181:41:0", + "src": "4174:41:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 307, + "id": 847, "nodeType": "EmitStatement", - "src": "4176:46:0" + "src": "4169:46:1" } ] }, "documentation": null, - "id": 309, + "id": 849, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -4264,29 +4264,29 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 270, + "id": 810, "nodeType": "ParameterList", "parameters": [], - "src": "3984:2:0" + "src": "3977:2:1" }, "payable": false, "returnParameters": { - "id": 271, + "id": 811, "nodeType": "ParameterList", "parameters": [], - "src": "3994:0:0" + "src": "3987:0:1" }, - "scope": 551, - "src": "3973:256:0", + "scope": 1091, + "src": "3966:256:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 323, + "id": 863, "nodeType": "Block", - "src": "4466:62:0", + "src": "4459:62:1", "statements": [ { "expression": { @@ -4296,32 +4296,32 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 316, + "id": 856, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "4500:8:0", + "referencedDeclaration": 803, + "src": "4493:8:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 320, + "id": 860, "indexExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", - "id": 318, + "id": 858, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4517:1:0", + "src": "4510:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4337,20 +4337,20 @@ "typeString": "int_const 0" } ], - "id": 317, + "id": 857, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4509:7:0", + "src": "4502:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 319, + "id": 859, "isConstant": false, "isLValue": false, "isPure": true, @@ -4358,7 +4358,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4509:10:0", + "src": "4502:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4369,7 +4369,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4500:20:0", + "src": "4493:20:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4385,32 +4385,32 @@ ], "expression": { "argumentTypes": null, - "id": 314, + "id": 854, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4483:12:0", + "referencedDeclaration": 799, + "src": "4476:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 315, + "id": 855, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "4483:16:0", + "referencedDeclaration": 585, + "src": "4476:16:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 321, + "id": 861, "isConstant": false, "isLValue": false, "isPure": false, @@ -4418,21 +4418,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4483:38:0", + "src": "4476:38:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 313, - "id": 322, + "functionReturnParameters": 853, + "id": 862, "nodeType": "Return", - "src": "4476:45:0" + "src": "4469:45:1" } ] }, "documentation": null, - "id": 324, + "id": 864, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -4440,23 +4440,23 @@ "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 310, + "id": 850, "nodeType": "ParameterList", "parameters": [], - "src": "4436:2:0" + "src": "4429:2:1" }, "payable": false, "returnParameters": { - "id": 313, + "id": 853, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 312, + "id": 852, "name": "", "nodeType": "VariableDeclaration", - "scope": 324, - "src": "4460:4:0", + "scope": 864, + "src": "4453:4:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4464,10 +4464,10 @@ "typeString": "uint256" }, "typeName": { - "id": 311, + "id": 851, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4460:4:0", + "src": "4453:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4477,45 +4477,45 @@ "visibility": "internal" } ], - "src": "4459:6:0" + "src": "4452:6:1" }, - "scope": 551, - "src": "4416:112:0", + "scope": 1091, + "src": "4409:112:1", "stateMutability": "view", - "superFunction": 101, + "superFunction": 641, "visibility": "public" }, { "body": { - "id": 335, + "id": 875, "nodeType": "Block", - "src": "4823:44:0", + "src": "4816:44:1", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 331, + "id": 871, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "4840:8:0", + "referencedDeclaration": 803, + "src": "4833:8:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 333, + "id": 873, "indexExpression": { "argumentTypes": null, - "id": 332, + "id": 872, "name": "tokenOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 326, - "src": "4849:10:0", + "referencedDeclaration": 866, + "src": "4842:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4526,21 +4526,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4840:20:0", + "src": "4833:20:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 330, - "id": 334, + "functionReturnParameters": 870, + "id": 874, "nodeType": "Return", - "src": "4833:27:0" + "src": "4826:27:1" } ] }, "documentation": null, - "id": 336, + "id": 876, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -4548,16 +4548,16 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 327, + "id": 867, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 326, + "id": 866, "name": "tokenOwner", "nodeType": "VariableDeclaration", - "scope": 336, - "src": "4768:18:0", + "scope": 876, + "src": "4761:18:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4565,10 +4565,10 @@ "typeString": "address" }, "typeName": { - "id": 325, + "id": 865, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4768:7:0", + "src": "4761:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4578,20 +4578,20 @@ "visibility": "internal" } ], - "src": "4767:20:0" + "src": "4760:20:1" }, "payable": false, "returnParameters": { - "id": 330, + "id": 870, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 329, + "id": 869, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 336, - "src": "4809:12:0", + "scope": 876, + "src": "4802:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4599,10 +4599,10 @@ "typeString": "uint256" }, "typeName": { - "id": 328, + "id": 868, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4809:4:0", + "src": "4802:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4612,24 +4612,24 @@ "visibility": "internal" } ], - "src": "4808:14:0" + "src": "4801:14:1" }, - "scope": 551, - "src": "4749:118:0", + "scope": 1091, + "src": "4742:118:1", "stateMutability": "view", - "superFunction": 108, + "superFunction": 648, "visibility": "public" }, { "body": { - "id": 378, + "id": 918, "nodeType": "Block", - "src": "5283:189:0", + "src": "5276:189:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 356, + "id": 896, "isConstant": false, "isLValue": false, "isPure": false, @@ -4638,34 +4638,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 345, + "id": 885, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5293:8:0", + "referencedDeclaration": 803, + "src": "5286:8:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 348, + "id": 888, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 346, + "id": 886, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "5302:3:0", + "referencedDeclaration": 1106, + "src": "5295:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 347, + "id": 887, "isConstant": false, "isLValue": false, "isPure": false, @@ -4673,7 +4673,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5302:10:0", + "src": "5295:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4684,7 +4684,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5293:20:0", + "src": "5286:20:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4697,12 +4697,12 @@ "arguments": [ { "argumentTypes": null, - "id": 354, + "id": 894, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "5341:6:0", + "referencedDeclaration": 880, + "src": "5334:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4720,34 +4720,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 349, + "id": 889, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5316:8:0", + "referencedDeclaration": 803, + "src": "5309:8:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 352, + "id": 892, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 350, + "id": 890, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "5325:3:0", + "referencedDeclaration": 1106, + "src": "5318:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 351, + "id": 891, "isConstant": false, "isLValue": false, "isPure": false, @@ -4755,7 +4755,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5325:10:0", + "src": "5318:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4766,27 +4766,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5316:20:0", + "src": "5309:20:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 353, + "id": 893, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "5316:24:0", + "referencedDeclaration": 585, + "src": "5309:24:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 355, + "id": 895, "isConstant": false, "isLValue": false, "isPure": false, @@ -4794,26 +4794,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5316:32:0", + "src": "5309:32:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5293:55:0", + "src": "5286:55:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 357, + "id": 897, "nodeType": "ExpressionStatement", - "src": "5293:55:0" + "src": "5286:55:1" }, { "expression": { "argumentTypes": null, - "id": 367, + "id": 907, "isConstant": false, "isLValue": false, "isPure": false, @@ -4822,26 +4822,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 358, + "id": 898, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5358:8:0", + "referencedDeclaration": 803, + "src": "5351:8:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 360, + "id": 900, "indexExpression": { "argumentTypes": null, - "id": 359, + "id": 899, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "5367:2:0", + "referencedDeclaration": 878, + "src": "5360:2:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4852,7 +4852,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5358:12:0", + "src": "5351:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4865,12 +4865,12 @@ "arguments": [ { "argumentTypes": null, - "id": 365, + "id": 905, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "5390:6:0", + "referencedDeclaration": 880, + "src": "5383:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4888,26 +4888,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 361, + "id": 901, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5373:8:0", + "referencedDeclaration": 803, + "src": "5366:8:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 363, + "id": 903, "indexExpression": { "argumentTypes": null, - "id": 362, + "id": 902, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "5382:2:0", + "referencedDeclaration": 878, + "src": "5375:2:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4918,27 +4918,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5373:12:0", + "src": "5366:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 364, + "id": 904, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "5373:16:0", + "referencedDeclaration": 563, + "src": "5366:16:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 366, + "id": 906, "isConstant": false, "isLValue": false, "isPure": false, @@ -4946,21 +4946,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5373:24:0", + "src": "5366:24:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5358:39:0", + "src": "5351:39:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 368, + "id": 908, "nodeType": "ExpressionStatement", - "src": "5358:39:0" + "src": "5351:39:1" }, { "eventCall": { @@ -4970,18 +4970,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 370, + "id": 910, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "5421:3:0", + "referencedDeclaration": 1106, + "src": "5414:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 371, + "id": 911, "isConstant": false, "isLValue": false, "isPure": false, @@ -4989,7 +4989,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5421:10:0", + "src": "5414:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4997,12 +4997,12 @@ }, { "argumentTypes": null, - "id": 372, + "id": 912, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "5433:2:0", + "referencedDeclaration": 878, + "src": "5426:2:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5010,12 +5010,12 @@ }, { "argumentTypes": null, - "id": 373, + "id": 913, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "5437:6:0", + "referencedDeclaration": 880, + "src": "5430:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5037,18 +5037,18 @@ "typeString": "uint256" } ], - "id": 369, + "id": 909, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 154, - "src": "5412:8:0", + "referencedDeclaration": 694, + "src": "5405:8:1", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 374, + "id": 914, "isConstant": false, "isLValue": false, "isPure": false, @@ -5056,28 +5056,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5412:32:0", + "src": "5405:32:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 375, + "id": 915, "nodeType": "EmitStatement", - "src": "5407:37:0" + "src": "5400:37:1" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 376, + "id": 916, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "5461:4:0", + "src": "5454:4:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -5085,15 +5085,15 @@ }, "value": "true" }, - "functionReturnParameters": 344, - "id": 377, + "functionReturnParameters": 884, + "id": 917, "nodeType": "Return", - "src": "5454:11:0" + "src": "5447:11:1" } ] }, "documentation": null, - "id": 379, + "id": 919, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5101,16 +5101,16 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 341, + "id": 881, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 338, + "id": 878, "name": "to", "nodeType": "VariableDeclaration", - "scope": 379, - "src": "5228:10:0", + "scope": 919, + "src": "5221:10:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5118,10 +5118,10 @@ "typeString": "address" }, "typeName": { - "id": 337, + "id": 877, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5228:7:0", + "src": "5221:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5132,11 +5132,11 @@ }, { "constant": false, - "id": 340, + "id": 880, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 379, - "src": "5240:11:0", + "scope": 919, + "src": "5233:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5144,10 +5144,10 @@ "typeString": "uint256" }, "typeName": { - "id": 339, + "id": 879, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "5240:4:0", + "src": "5233:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5157,20 +5157,20 @@ "visibility": "internal" } ], - "src": "5227:25:0" + "src": "5220:25:1" }, "payable": false, "returnParameters": { - "id": 344, + "id": 884, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 343, + "id": 883, "name": "success", "nodeType": "VariableDeclaration", - "scope": 379, - "src": "5269:12:0", + "scope": 919, + "src": "5262:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5178,10 +5178,10 @@ "typeString": "bool" }, "typeName": { - "id": 342, + "id": 882, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5269:4:0", + "src": "5262:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5191,24 +5191,24 @@ "visibility": "internal" } ], - "src": "5268:14:0" + "src": "5261:14:1" }, - "scope": 551, - "src": "5210:262:0", + "scope": 1091, + "src": "5203:262:1", "stateMutability": "nonpayable", - "superFunction": 126, + "superFunction": 666, "visibility": "public" }, { "body": { - "id": 406, + "id": 946, "nodeType": "Block", - "src": "6055:127:0", + "src": "6048:127:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 395, + "id": 935, "isConstant": false, "isLValue": false, "isPure": false, @@ -5219,34 +5219,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 388, + "id": 928, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "6065:7:0", + "referencedDeclaration": 809, + "src": "6058:7:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 392, + "id": 932, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 389, + "id": 929, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6073:3:0", + "referencedDeclaration": 1106, + "src": "6066:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 390, + "id": 930, "isConstant": false, "isLValue": false, "isPure": false, @@ -5254,7 +5254,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6073:10:0", + "src": "6066:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5265,21 +5265,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6065:19:0", + "src": "6058:19:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 393, + "id": 933, "indexExpression": { "argumentTypes": null, - "id": 391, + "id": 931, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 381, - "src": "6085:7:0", + "referencedDeclaration": 921, + "src": "6078:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5290,7 +5290,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6065:28:0", + "src": "6058:28:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5300,26 +5300,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 394, + "id": 934, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 383, - "src": "6096:6:0", + "referencedDeclaration": 923, + "src": "6089:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6065:37:0", + "src": "6058:37:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 396, + "id": 936, "nodeType": "ExpressionStatement", - "src": "6065:37:0" + "src": "6058:37:1" }, { "eventCall": { @@ -5329,18 +5329,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 398, + "id": 938, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6126:3:0", + "referencedDeclaration": 1106, + "src": "6119:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 399, + "id": 939, "isConstant": false, "isLValue": false, "isPure": false, @@ -5348,7 +5348,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6126:10:0", + "src": "6119:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5356,12 +5356,12 @@ }, { "argumentTypes": null, - "id": 400, + "id": 940, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 381, - "src": "6138:7:0", + "referencedDeclaration": 921, + "src": "6131:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5369,12 +5369,12 @@ }, { "argumentTypes": null, - "id": 401, + "id": 941, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 383, - "src": "6147:6:0", + "referencedDeclaration": 923, + "src": "6140:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5396,18 +5396,18 @@ "typeString": "uint256" } ], - "id": 397, + "id": 937, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 162, - "src": "6117:8:0", + "referencedDeclaration": 702, + "src": "6110:8:1", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 402, + "id": 942, "isConstant": false, "isLValue": false, "isPure": false, @@ -5415,28 +5415,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6117:37:0", + "src": "6110:37:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 403, + "id": 943, "nodeType": "EmitStatement", - "src": "6112:42:0" + "src": "6105:42:1" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 404, + "id": 944, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "6171:4:0", + "src": "6164:4:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -5444,15 +5444,15 @@ }, "value": "true" }, - "functionReturnParameters": 387, - "id": 405, + "functionReturnParameters": 927, + "id": 945, "nodeType": "Return", - "src": "6164:11:0" + "src": "6157:11:1" } ] }, "documentation": null, - "id": 407, + "id": 947, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5460,16 +5460,16 @@ "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 384, + "id": 924, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 381, + "id": 921, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 407, - "src": "5995:15:0", + "scope": 947, + "src": "5988:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5477,10 +5477,10 @@ "typeString": "address" }, "typeName": { - "id": 380, + "id": 920, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5995:7:0", + "src": "5988:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5491,11 +5491,11 @@ }, { "constant": false, - "id": 383, + "id": 923, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 407, - "src": "6012:11:0", + "scope": 947, + "src": "6005:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5503,10 +5503,10 @@ "typeString": "uint256" }, "typeName": { - "id": 382, + "id": 922, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "6012:4:0", + "src": "6005:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5516,20 +5516,20 @@ "visibility": "internal" } ], - "src": "5994:30:0" + "src": "5987:30:1" }, "payable": false, "returnParameters": { - "id": 387, + "id": 927, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 386, + "id": 926, "name": "success", "nodeType": "VariableDeclaration", - "scope": 407, - "src": "6041:12:0", + "scope": 947, + "src": "6034:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5537,10 +5537,10 @@ "typeString": "bool" }, "typeName": { - "id": 385, + "id": 925, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6041:4:0", + "src": "6034:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5550,24 +5550,24 @@ "visibility": "internal" } ], - "src": "6040:14:0" + "src": "6033:14:1" }, - "scope": 551, - "src": "5978:204:0", + "scope": 1091, + "src": "5971:204:1", "stateMutability": "nonpayable", - "superFunction": 135, + "superFunction": 675, "visibility": "public" }, { "body": { - "id": 465, + "id": 1005, "nodeType": "Block", - "src": "6805:246:0", + "src": "6798:246:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 427, + "id": 967, "isConstant": false, "isLValue": false, "isPure": false, @@ -5576,26 +5576,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 418, + "id": 958, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6815:8:0", + "referencedDeclaration": 803, + "src": "6808:8:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 420, + "id": 960, "indexExpression": { "argumentTypes": null, - "id": 419, + "id": 959, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6824:4:0", + "referencedDeclaration": 949, + "src": "6817:4:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5606,7 +5606,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6815:14:0", + "src": "6808:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5619,12 +5619,12 @@ "arguments": [ { "argumentTypes": null, - "id": 425, + "id": 965, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "6851:6:0", + "referencedDeclaration": 953, + "src": "6844:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5642,26 +5642,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 421, + "id": 961, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6832:8:0", + "referencedDeclaration": 803, + "src": "6825:8:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 423, + "id": 963, "indexExpression": { "argumentTypes": null, - "id": 422, + "id": 962, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6841:4:0", + "referencedDeclaration": 949, + "src": "6834:4:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5672,27 +5672,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6832:14:0", + "src": "6825:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 424, + "id": 964, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "6832:18:0", + "referencedDeclaration": 585, + "src": "6825:18:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 426, + "id": 966, "isConstant": false, "isLValue": false, "isPure": false, @@ -5700,26 +5700,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6832:26:0", + "src": "6825:26:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6815:43:0", + "src": "6808:43:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 428, + "id": 968, "nodeType": "ExpressionStatement", - "src": "6815:43:0" + "src": "6808:43:1" }, { "expression": { "argumentTypes": null, - "id": 444, + "id": 984, "isConstant": false, "isLValue": false, "isPure": false, @@ -5730,26 +5730,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 429, + "id": 969, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "6868:7:0", + "referencedDeclaration": 809, + "src": "6861:7:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 433, + "id": 973, "indexExpression": { "argumentTypes": null, - "id": 430, + "id": 970, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6876:4:0", + "referencedDeclaration": 949, + "src": "6869:4:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5760,29 +5760,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6868:13:0", + "src": "6861:13:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 434, + "id": 974, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 431, + "id": 971, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6882:3:0", + "referencedDeclaration": 1106, + "src": "6875:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 432, + "id": 972, "isConstant": false, "isLValue": false, "isPure": false, @@ -5790,7 +5790,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6882:10:0", + "src": "6875:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5801,7 +5801,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6868:25:0", + "src": "6861:25:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5814,12 +5814,12 @@ "arguments": [ { "argumentTypes": null, - "id": 442, + "id": 982, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "6926:6:0", + "referencedDeclaration": 953, + "src": "6919:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5839,26 +5839,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 435, + "id": 975, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "6896:7:0", + "referencedDeclaration": 809, + "src": "6889:7:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 437, + "id": 977, "indexExpression": { "argumentTypes": null, - "id": 436, + "id": 976, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6904:4:0", + "referencedDeclaration": 949, + "src": "6897:4:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5869,29 +5869,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6896:13:0", + "src": "6889:13:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 440, + "id": 980, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 438, + "id": 978, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6910:3:0", + "referencedDeclaration": 1106, + "src": "6903:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 439, + "id": 979, "isConstant": false, "isLValue": false, "isPure": false, @@ -5899,7 +5899,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6910:10:0", + "src": "6903:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5910,27 +5910,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6896:25:0", + "src": "6889:25:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 441, + "id": 981, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "6896:29:0", + "referencedDeclaration": 585, + "src": "6889:29:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 443, + "id": 983, "isConstant": false, "isLValue": false, "isPure": false, @@ -5938,26 +5938,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6896:37:0", + "src": "6889:37:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6868:65:0", + "src": "6861:65:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 445, + "id": 985, "nodeType": "ExpressionStatement", - "src": "6868:65:0" + "src": "6861:65:1" }, { "expression": { "argumentTypes": null, - "id": 455, + "id": 995, "isConstant": false, "isLValue": false, "isPure": false, @@ -5966,26 +5966,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 446, + "id": 986, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6943:8:0", + "referencedDeclaration": 803, + "src": "6936:8:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 448, + "id": 988, "indexExpression": { "argumentTypes": null, - "id": 447, + "id": 987, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "6952:2:0", + "referencedDeclaration": 951, + "src": "6945:2:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5996,7 +5996,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6943:12:0", + "src": "6936:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6009,12 +6009,12 @@ "arguments": [ { "argumentTypes": null, - "id": 453, + "id": 993, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "6975:6:0", + "referencedDeclaration": 953, + "src": "6968:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6032,26 +6032,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 449, + "id": 989, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6958:8:0", + "referencedDeclaration": 803, + "src": "6951:8:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 451, + "id": 991, "indexExpression": { "argumentTypes": null, - "id": 450, + "id": 990, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "6967:2:0", + "referencedDeclaration": 951, + "src": "6960:2:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6062,27 +6062,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6958:12:0", + "src": "6951:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 452, + "id": 992, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "6958:16:0", + "referencedDeclaration": 563, + "src": "6951:16:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 454, + "id": 994, "isConstant": false, "isLValue": false, "isPure": false, @@ -6090,21 +6090,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6958:24:0", + "src": "6951:24:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6943:39:0", + "src": "6936:39:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 456, + "id": 996, "nodeType": "ExpressionStatement", - "src": "6943:39:0" + "src": "6936:39:1" }, { "eventCall": { @@ -6112,12 +6112,12 @@ "arguments": [ { "argumentTypes": null, - "id": 458, + "id": 998, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "7006:4:0", + "referencedDeclaration": 949, + "src": "6999:4:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6125,12 +6125,12 @@ }, { "argumentTypes": null, - "id": 459, + "id": 999, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "7012:2:0", + "referencedDeclaration": 951, + "src": "7005:2:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6138,12 +6138,12 @@ }, { "argumentTypes": null, - "id": 460, + "id": 1000, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "7016:6:0", + "referencedDeclaration": 953, + "src": "7009:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6165,18 +6165,18 @@ "typeString": "uint256" } ], - "id": 457, + "id": 997, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 154, - "src": "6997:8:0", + "referencedDeclaration": 694, + "src": "6990:8:1", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 461, + "id": 1001, "isConstant": false, "isLValue": false, "isPure": false, @@ -6184,28 +6184,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6997:26:0", + "src": "6990:26:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 462, + "id": 1002, "nodeType": "EmitStatement", - "src": "6992:31:0" + "src": "6985:31:1" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 463, + "id": 1003, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "7040:4:0", + "src": "7033:4:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -6213,15 +6213,15 @@ }, "value": "true" }, - "functionReturnParameters": 417, - "id": 464, + "functionReturnParameters": 957, + "id": 1004, "nodeType": "Return", - "src": "7033:11:0" + "src": "7026:11:1" } ] }, "documentation": null, - "id": 466, + "id": 1006, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -6229,16 +6229,16 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 414, + "id": 954, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 409, + "id": 949, "name": "from", "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6736:12:0", + "scope": 1006, + "src": "6729:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6246,10 +6246,10 @@ "typeString": "address" }, "typeName": { - "id": 408, + "id": 948, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6736:7:0", + "src": "6729:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6260,11 +6260,11 @@ }, { "constant": false, - "id": 411, + "id": 951, "name": "to", "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6750:10:0", + "scope": 1006, + "src": "6743:10:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6272,10 +6272,10 @@ "typeString": "address" }, "typeName": { - "id": 410, + "id": 950, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6750:7:0", + "src": "6743:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6286,11 +6286,11 @@ }, { "constant": false, - "id": 413, + "id": 953, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6762:11:0", + "scope": 1006, + "src": "6755:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6298,10 +6298,10 @@ "typeString": "uint256" }, "typeName": { - "id": 412, + "id": 952, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "6762:4:0", + "src": "6755:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6311,20 +6311,20 @@ "visibility": "internal" } ], - "src": "6735:39:0" + "src": "6728:39:1" }, "payable": false, "returnParameters": { - "id": 417, + "id": 957, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 416, + "id": 956, "name": "success", "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6791:12:0", + "scope": 1006, + "src": "6784:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6332,10 +6332,10 @@ "typeString": "bool" }, "typeName": { - "id": 415, + "id": 955, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6791:4:0", + "src": "6784:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6345,19 +6345,19 @@ "visibility": "internal" } ], - "src": "6790:14:0" + "src": "6783:14:1" }, - "scope": 551, - "src": "6714:337:0", + "scope": 1091, + "src": "6707:337:1", "stateMutability": "nonpayable", - "superFunction": 146, + "superFunction": 686, "visibility": "public" }, { "body": { - "id": 481, + "id": 1021, "nodeType": "Block", - "src": "7425:52:0", + "src": "7418:52:1", "statements": [ { "expression": { @@ -6366,26 +6366,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 475, + "id": 1015, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "7442:7:0", + "referencedDeclaration": 809, + "src": "7435:7:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 477, + "id": 1017, "indexExpression": { "argumentTypes": null, - "id": 476, + "id": 1016, "name": "tokenOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 468, - "src": "7450:10:0", + "referencedDeclaration": 1008, + "src": "7443:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6396,21 +6396,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7442:19:0", + "src": "7435:19:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 479, + "id": 1019, "indexExpression": { "argumentTypes": null, - "id": 478, + "id": 1018, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 470, - "src": "7462:7:0", + "referencedDeclaration": 1010, + "src": "7455:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6421,21 +6421,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7442:28:0", + "src": "7435:28:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 474, - "id": 480, + "functionReturnParameters": 1014, + "id": 1020, "nodeType": "Return", - "src": "7435:35:0" + "src": "7428:35:1" } ] }, "documentation": null, - "id": 482, + "id": 1022, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -6443,16 +6443,16 @@ "name": "allowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 471, + "id": 1011, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 468, + "id": 1008, "name": "tokenOwner", "nodeType": "VariableDeclaration", - "scope": 482, - "src": "7351:18:0", + "scope": 1022, + "src": "7344:18:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6460,10 +6460,10 @@ "typeString": "address" }, "typeName": { - "id": 467, + "id": 1007, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7351:7:0", + "src": "7344:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6474,11 +6474,11 @@ }, { "constant": false, - "id": 470, + "id": 1010, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 482, - "src": "7371:15:0", + "scope": 1022, + "src": "7364:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6486,10 +6486,10 @@ "typeString": "address" }, "typeName": { - "id": 469, + "id": 1009, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7371:7:0", + "src": "7364:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6499,20 +6499,20 @@ "visibility": "internal" } ], - "src": "7350:37:0" + "src": "7343:37:1" }, "payable": false, "returnParameters": { - "id": 474, + "id": 1014, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 473, + "id": 1013, "name": "remaining", "nodeType": "VariableDeclaration", - "scope": 482, - "src": "7409:14:0", + "scope": 1022, + "src": "7402:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6520,10 +6520,10 @@ "typeString": "uint256" }, "typeName": { - "id": 472, + "id": 1012, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "7409:4:0", + "src": "7402:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6533,24 +6533,24 @@ "visibility": "internal" } ], - "src": "7408:16:0" + "src": "7401:16:1" }, - "scope": 551, - "src": "7332:145:0", + "scope": 1091, + "src": "7325:145:1", "stateMutability": "view", - "superFunction": 117, + "superFunction": 657, "visibility": "public" }, { "body": { - "id": 522, + "id": 1062, "nodeType": "Block", - "src": "7933:216:0", + "src": "7926:216:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 500, + "id": 1040, "isConstant": false, "isLValue": false, "isPure": false, @@ -6561,34 +6561,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 493, + "id": 1033, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "7943:7:0", + "referencedDeclaration": 809, + "src": "7936:7:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 497, + "id": 1037, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 494, + "id": 1034, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "7951:3:0", + "referencedDeclaration": 1106, + "src": "7944:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 495, + "id": 1035, "isConstant": false, "isLValue": false, "isPure": false, @@ -6596,7 +6596,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7951:10:0", + "src": "7944:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6607,21 +6607,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7943:19:0", + "src": "7936:19:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 498, + "id": 1038, "indexExpression": { "argumentTypes": null, - "id": 496, + "id": 1036, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "7963:7:0", + "referencedDeclaration": 1024, + "src": "7956:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6632,7 +6632,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7943:28:0", + "src": "7936:28:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6642,26 +6642,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 499, + "id": 1039, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "7974:6:0", + "referencedDeclaration": 1026, + "src": "7967:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7943:37:0", + "src": "7936:37:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 501, + "id": 1041, "nodeType": "ExpressionStatement", - "src": "7943:37:0" + "src": "7936:37:1" }, { "eventCall": { @@ -6671,18 +6671,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 503, + "id": 1043, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "8004:3:0", + "referencedDeclaration": 1106, + "src": "7997:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 504, + "id": 1044, "isConstant": false, "isLValue": false, "isPure": false, @@ -6690,7 +6690,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8004:10:0", + "src": "7997:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6698,12 +6698,12 @@ }, { "argumentTypes": null, - "id": 505, + "id": 1045, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "8016:7:0", + "referencedDeclaration": 1024, + "src": "8009:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6711,12 +6711,12 @@ }, { "argumentTypes": null, - "id": 506, + "id": 1046, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "8025:6:0", + "referencedDeclaration": 1026, + "src": "8018:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6738,18 +6738,18 @@ "typeString": "uint256" } ], - "id": 502, + "id": 1042, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 162, - "src": "7995:8:0", + "referencedDeclaration": 702, + "src": "7988:8:1", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 507, + "id": 1047, "isConstant": false, "isLValue": false, "isPure": false, @@ -6757,15 +6757,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7995:37:0", + "src": "7988:37:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 508, + "id": 1048, "nodeType": "EmitStatement", - "src": "7990:42:0" + "src": "7983:42:1" }, { "expression": { @@ -6775,18 +6775,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 513, + "id": 1053, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "8090:3:0", + "referencedDeclaration": 1106, + "src": "8083:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 514, + "id": 1054, "isConstant": false, "isLValue": false, "isPure": false, @@ -6794,7 +6794,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8090:10:0", + "src": "8083:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6802,12 +6802,12 @@ }, { "argumentTypes": null, - "id": 515, + "id": 1055, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "8102:6:0", + "referencedDeclaration": 1026, + "src": "8095:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6815,25 +6815,25 @@ }, { "argumentTypes": null, - "id": 516, + "id": 1056, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 587, - "src": "8110:4:0", + "referencedDeclaration": 1137, + "src": "8103:4:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_FixedSupplyToken_$551", - "typeString": "contract FixedSupplyToken" + "typeIdentifier": "t_contract$_TestToken_$1091", + "typeString": "contract TestToken" } }, { "argumentTypes": null, - "id": 517, + "id": 1057, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 488, - "src": "8116:4:0", + "referencedDeclaration": 1028, + "src": "8109:4:1", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -6851,8 +6851,8 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_contract$_FixedSupplyToken_$551", - "typeString": "contract FixedSupplyToken" + "typeIdentifier": "t_contract$_TestToken_$1091", + "typeString": "contract TestToken" }, { "typeIdentifier": "t_bytes_memory_ptr", @@ -6864,12 +6864,12 @@ "arguments": [ { "argumentTypes": null, - "id": 510, + "id": 1050, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "8065:7:0", + "referencedDeclaration": 1024, + "src": "8058:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6883,18 +6883,18 @@ "typeString": "address" } ], - "id": 509, + "id": 1049, "name": "ApproveAndCallFallBack", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 175, - "src": "8042:22:0", + "referencedDeclaration": 715, + "src": "8035:22:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ApproveAndCallFallBack_$175_$", + "typeIdentifier": "t_type$_t_contract$_ApproveAndCallFallBack_$715_$", "typeString": "type(contract ApproveAndCallFallBack)" } }, - "id": 511, + "id": 1051, "isConstant": false, "isLValue": false, "isPure": false, @@ -6902,27 +6902,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8042:31:0", + "src": "8035:31:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$175", + "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$715", "typeString": "contract ApproveAndCallFallBack" } }, - "id": 512, + "id": 1052, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "receiveApproval", "nodeType": "MemberAccess", - "referencedDeclaration": 174, - "src": "8042:47:0", + "referencedDeclaration": 714, + "src": "8035:47:1", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,uint256,address,bytes memory) external" } }, - "id": 518, + "id": 1058, "isConstant": false, "isLValue": false, "isPure": false, @@ -6930,28 +6930,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8042:79:0", + "src": "8035:79:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 519, + "id": 1059, "nodeType": "ExpressionStatement", - "src": "8042:79:0" + "src": "8035:79:1" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 520, + "id": 1060, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "8138:4:0", + "src": "8131:4:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -6959,15 +6959,15 @@ }, "value": "true" }, - "functionReturnParameters": 492, - "id": 521, + "functionReturnParameters": 1032, + "id": 1061, "nodeType": "Return", - "src": "8131:11:0" + "src": "8124:11:1" } ] }, "documentation": null, - "id": 523, + "id": 1063, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -6975,16 +6975,16 @@ "name": "approveAndCall", "nodeType": "FunctionDefinition", "parameters": { - "id": 489, + "id": 1029, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 484, + "id": 1024, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7861:15:0", + "scope": 1063, + "src": "7854:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6992,10 +6992,10 @@ "typeString": "address" }, "typeName": { - "id": 483, + "id": 1023, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7861:7:0", + "src": "7854:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7006,11 +7006,11 @@ }, { "constant": false, - "id": 486, + "id": 1026, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7878:11:0", + "scope": 1063, + "src": "7871:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7018,10 +7018,10 @@ "typeString": "uint256" }, "typeName": { - "id": 485, + "id": 1025, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "7878:4:0", + "src": "7871:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7032,11 +7032,11 @@ }, { "constant": false, - "id": 488, + "id": 1028, "name": "data", "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7891:10:0", + "scope": 1063, + "src": "7884:10:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7044,10 +7044,10 @@ "typeString": "bytes" }, "typeName": { - "id": 487, + "id": 1027, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7891:5:0", + "src": "7884:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -7057,20 +7057,20 @@ "visibility": "internal" } ], - "src": "7860:42:0" + "src": "7853:42:1" }, "payable": false, "returnParameters": { - "id": 492, + "id": 1032, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 491, + "id": 1031, "name": "success", "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7919:12:0", + "scope": 1063, + "src": "7912:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7078,10 +7078,10 @@ "typeString": "bool" }, "typeName": { - "id": 490, + "id": 1030, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7919:4:0", + "src": "7912:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7091,19 +7091,19 @@ "visibility": "internal" } ], - "src": "7918:14:0" + "src": "7911:14:1" }, - "scope": 551, - "src": "7837:312:0", + "scope": 1091, + "src": "7830:312:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 529, + "id": 1069, "nodeType": "Block", - "src": "8367:25:0", + "src": "8360:25:1", "statements": [ { "expression": { @@ -7111,21 +7111,21 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 526, + "id": 1066, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 571, - 572 + 1111, + 1112 ], - "referencedDeclaration": 571, - "src": "8377:6:0", + "referencedDeclaration": 1111, + "src": "8370:6:1", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 527, + "id": 1067, "isConstant": false, "isLValue": false, "isPure": false, @@ -7133,20 +7133,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8377:8:0", + "src": "8370:8:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 528, + "id": 1068, "nodeType": "ExpressionStatement", - "src": "8377:8:0" + "src": "8370:8:1" } ] }, "documentation": null, - "id": 530, + "id": 1070, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -7154,29 +7154,29 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 524, + "id": 1064, "nodeType": "ParameterList", "parameters": [], - "src": "8349:2:0" + "src": "8342:2:1" }, "payable": true, "returnParameters": { - "id": 525, + "id": 1065, "nodeType": "ParameterList", "parameters": [], - "src": "8367:0:0" + "src": "8360:0:1" }, - "scope": 551, - "src": "8340:52:0", + "scope": 1091, + "src": "8333:52:1", "stateMutability": "payable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 549, + "id": 1089, "nodeType": "Block", - "src": "8730:76:0", + "src": "8723:76:1", "statements": [ { "expression": { @@ -7184,12 +7184,12 @@ "arguments": [ { "argumentTypes": null, - "id": 545, + "id": 1085, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "8785:5:0", + "referencedDeclaration": 717, + "src": "8778:5:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7197,12 +7197,12 @@ }, { "argumentTypes": null, - "id": 546, + "id": 1086, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 534, - "src": "8792:6:0", + "referencedDeclaration": 1074, + "src": "8785:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7225,12 +7225,12 @@ "arguments": [ { "argumentTypes": null, - "id": 542, + "id": 1082, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 532, - "src": "8762:12:0", + "referencedDeclaration": 1072, + "src": "8755:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7244,18 +7244,18 @@ "typeString": "address" } ], - "id": 541, + "id": 1081, "name": "ERC20Interface", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 163, - "src": "8747:14:0", + "referencedDeclaration": 703, + "src": "8740:14:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20Interface_$163_$", + "typeIdentifier": "t_type$_t_contract$_ERC20Interface_$703_$", "typeString": "type(contract ERC20Interface)" } }, - "id": 543, + "id": 1083, "isConstant": false, "isLValue": false, "isPure": false, @@ -7263,27 +7263,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8747:28:0", + "src": "8740:28:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Interface_$163", + "typeIdentifier": "t_contract$_ERC20Interface_$703", "typeString": "contract ERC20Interface" } }, - "id": 544, + "id": 1084, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 126, - "src": "8747:37:0", + "referencedDeclaration": 666, + "src": "8740:37:1", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 547, + "id": 1087, "isConstant": false, "isLValue": false, "isPure": false, @@ -7291,58 +7291,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8747:52:0", + "src": "8740:52:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 540, - "id": 548, + "functionReturnParameters": 1080, + "id": 1088, "nodeType": "Return", - "src": "8740:59:0" + "src": "8733:59:1" } ] }, "documentation": null, - "id": 550, + "id": 1090, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 537, + "id": 1077, "modifierName": { "argumentTypes": null, - "id": 536, + "id": 1076, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "8697:9:0", + "referencedDeclaration": 745, + "src": "8690:9:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "8697:9:0" + "src": "8690:9:1" } ], "name": "transferAnyERC20Token", "nodeType": "FunctionDefinition", "parameters": { - "id": 535, + "id": 1075, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 532, + "id": 1072, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 550, - "src": "8655:20:0", + "scope": 1090, + "src": "8648:20:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7350,10 +7350,10 @@ "typeString": "address" }, "typeName": { - "id": 531, + "id": 1071, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8655:7:0", + "src": "8648:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7364,11 +7364,11 @@ }, { "constant": false, - "id": 534, + "id": 1074, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 550, - "src": "8677:11:0", + "scope": 1090, + "src": "8670:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7376,10 +7376,10 @@ "typeString": "uint256" }, "typeName": { - "id": 533, + "id": 1073, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "8677:4:0", + "src": "8670:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7389,20 +7389,20 @@ "visibility": "internal" } ], - "src": "8654:35:0" + "src": "8647:35:1" }, "payable": false, "returnParameters": { - "id": 540, + "id": 1080, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 539, + "id": 1079, "name": "success", "nodeType": "VariableDeclaration", - "scope": 550, - "src": "8716:12:0", + "scope": 1090, + "src": "8709:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7410,10 +7410,10 @@ "typeString": "bool" }, "typeName": { - "id": 538, + "id": 1078, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "8716:4:0", + "src": "8709:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7423,45 +7423,45 @@ "visibility": "internal" } ], - "src": "8715:14:0" + "src": "8708:14:1" }, - "scope": 551, - "src": "8624:182:0", + "scope": 1091, + "src": "8617:182:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 552, - "src": "3506:5302:0" + "scope": 1092, + "src": "3506:5295:1" } ], - "src": "0:8808:0" + "src": "0:8801:1" }, "legacyAST": { - "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/test/MyToken.sol", + "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/test/TestToken.sol", "exportedSymbols": { "ApproveAndCallFallBack": [ - 175 + 715 ], "ERC20Interface": [ - 163 - ], - "FixedSupplyToken": [ - 551 + 703 ], "Owned": [ - 244 + 784 ], "SafeMath": [ - 96 + 636 + ], + "TestToken": [ + 1091 ] }, - "id": 552, + "id": 1092, "nodeType": "SourceUnit", "nodes": [ { - "id": 1, + "id": 541, "literals": [ "solidity", "^", @@ -7469,7 +7469,7 @@ ".24" ], "nodeType": "PragmaDirective", - "src": "0:24:0" + "src": "0:24:1" }, { "baseContracts": [], @@ -7477,35 +7477,35 @@ "contractKind": "library", "documentation": null, "fullyImplemented": true, - "id": 96, + "id": 636, "linearizedBaseContracts": [ - 96 + 636 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 22, + "id": 562, "nodeType": "Block", - "src": "719:51:0", + "src": "719:51:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 14, + "id": 554, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 10, + "id": 550, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8, - "src": "729:1:0", + "referencedDeclaration": 548, + "src": "729:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7519,19 +7519,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 13, + "id": 553, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 11, + "id": 551, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "733:1:0", + "referencedDeclaration": 543, + "src": "733:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7541,32 +7541,32 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 12, + "id": 552, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5, - "src": "737:1:0", + "referencedDeclaration": 545, + "src": "737:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "733:5:0", + "src": "733:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "729:9:0", + "src": "729:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 15, + "id": 555, "nodeType": "ExpressionStatement", - "src": "729:9:0" + "src": "729:9:1" }, { "expression": { @@ -7578,19 +7578,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 19, + "id": 559, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 17, + "id": 557, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8, - "src": "756:1:0", + "referencedDeclaration": 548, + "src": "756:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7600,18 +7600,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 18, + "id": 558, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "761:1:0", + "referencedDeclaration": 543, + "src": "761:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "756:6:0", + "src": "756:6:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7625,21 +7625,21 @@ "typeString": "bool" } ], - "id": 16, + "id": 556, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 569, - 570 + 1109, + 1110 ], - "referencedDeclaration": 569, - "src": "748:7:0", + "referencedDeclaration": 1109, + "src": "748:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 20, + "id": 560, "isConstant": false, "isLValue": false, "isPure": false, @@ -7647,20 +7647,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "748:15:0", + "src": "748:15:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 21, + "id": 561, "nodeType": "ExpressionStatement", - "src": "748:15:0" + "src": "748:15:1" } ] }, "documentation": null, - "id": 23, + "id": 563, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -7668,16 +7668,16 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 6, + "id": 546, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3, + "id": 543, "name": "a", "nodeType": "VariableDeclaration", - "scope": 23, - "src": "672:6:0", + "scope": 563, + "src": "672:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7685,10 +7685,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2, + "id": 542, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "672:4:0", + "src": "672:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7699,11 +7699,11 @@ }, { "constant": false, - "id": 5, + "id": 545, "name": "b", "nodeType": "VariableDeclaration", - "scope": 23, - "src": "680:6:0", + "scope": 563, + "src": "680:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7711,10 +7711,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4, + "id": 544, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "680:4:0", + "src": "680:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7724,20 +7724,20 @@ "visibility": "internal" } ], - "src": "671:16:0" + "src": "671:16:1" }, "payable": false, "returnParameters": { - "id": 9, + "id": 549, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8, + "id": 548, "name": "c", "nodeType": "VariableDeclaration", - "scope": 23, - "src": "711:6:0", + "scope": 563, + "src": "711:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7745,10 +7745,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7, + "id": 547, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "711:4:0", + "src": "711:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7758,19 +7758,19 @@ "visibility": "internal" } ], - "src": "710:8:0" + "src": "710:8:1" }, - "scope": 96, - "src": "659:111:0", + "scope": 636, + "src": "659:111:1", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 44, + "id": 584, "nodeType": "Block", - "src": "835:51:0", + "src": "835:51:1", "statements": [ { "expression": { @@ -7782,19 +7782,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 35, + "id": 575, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 33, + "id": 573, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "853:1:0", + "referencedDeclaration": 567, + "src": "853:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7804,18 +7804,18 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 34, + "id": 574, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "858:1:0", + "referencedDeclaration": 565, + "src": "858:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "853:6:0", + "src": "853:6:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7829,21 +7829,21 @@ "typeString": "bool" } ], - "id": 32, + "id": 572, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 569, - 570 + 1109, + 1110 ], - "referencedDeclaration": 569, - "src": "845:7:0", + "referencedDeclaration": 1109, + "src": "845:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 36, + "id": 576, "isConstant": false, "isLValue": false, "isPure": false, @@ -7851,32 +7851,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "845:15:0", + "src": "845:15:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 37, + "id": 577, "nodeType": "ExpressionStatement", - "src": "845:15:0" + "src": "845:15:1" }, { "expression": { "argumentTypes": null, - "id": 42, + "id": 582, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 38, + "id": 578, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 30, - "src": "870:1:0", + "referencedDeclaration": 570, + "src": "870:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7890,19 +7890,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 41, + "id": 581, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 39, + "id": 579, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "874:1:0", + "referencedDeclaration": 565, + "src": "874:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7912,37 +7912,37 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 40, + "id": 580, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "878:1:0", + "referencedDeclaration": 567, + "src": "878:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "874:5:0", + "src": "874:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "870:9:0", + "src": "870:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 43, + "id": 583, "nodeType": "ExpressionStatement", - "src": "870:9:0" + "src": "870:9:1" } ] }, "documentation": null, - "id": 45, + "id": 585, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -7950,16 +7950,16 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 28, + "id": 568, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 25, + "id": 565, "name": "a", "nodeType": "VariableDeclaration", - "scope": 45, - "src": "788:6:0", + "scope": 585, + "src": "788:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7967,10 +7967,10 @@ "typeString": "uint256" }, "typeName": { - "id": 24, + "id": 564, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "788:4:0", + "src": "788:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7981,11 +7981,11 @@ }, { "constant": false, - "id": 27, + "id": 567, "name": "b", "nodeType": "VariableDeclaration", - "scope": 45, - "src": "796:6:0", + "scope": 585, + "src": "796:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7993,10 +7993,10 @@ "typeString": "uint256" }, "typeName": { - "id": 26, + "id": 566, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "796:4:0", + "src": "796:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8006,20 +8006,20 @@ "visibility": "internal" } ], - "src": "787:16:0" + "src": "787:16:1" }, "payable": false, "returnParameters": { - "id": 31, + "id": 571, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 30, + "id": 570, "name": "c", "nodeType": "VariableDeclaration", - "scope": 45, - "src": "827:6:0", + "scope": 585, + "src": "827:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8027,10 +8027,10 @@ "typeString": "uint256" }, "typeName": { - "id": 29, + "id": 569, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "827:4:0", + "src": "827:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8040,36 +8040,36 @@ "visibility": "internal" } ], - "src": "826:8:0" + "src": "826:8:1" }, - "scope": 96, - "src": "775:111:0", + "scope": 636, + "src": "775:111:1", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 72, + "id": 612, "nodeType": "Block", - "src": "951:65:0", + "src": "951:65:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 58, + "id": 598, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 54, + "id": 594, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "961:1:0", + "referencedDeclaration": 592, + "src": "961:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8083,19 +8083,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 57, + "id": 597, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 55, + "id": 595, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "965:1:0", + "referencedDeclaration": 587, + "src": "965:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8105,32 +8105,32 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 56, + "id": 596, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "969:1:0", + "referencedDeclaration": 589, + "src": "969:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "965:5:0", + "src": "965:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "961:9:0", + "src": "961:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 59, + "id": 599, "nodeType": "ExpressionStatement", - "src": "961:9:0" + "src": "961:9:1" }, { "expression": { @@ -8142,7 +8142,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 69, + "id": 609, "isConstant": false, "isLValue": false, "isPure": false, @@ -8153,19 +8153,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 63, + "id": 603, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 61, + "id": 601, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "988:1:0", + "referencedDeclaration": 587, + "src": "988:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8176,14 +8176,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 62, + "id": 602, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "993:1:0", + "src": "993:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8191,7 +8191,7 @@ }, "value": "0" }, - "src": "988:6:0", + "src": "988:6:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8205,7 +8205,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 68, + "id": 608, "isConstant": false, "isLValue": false, "isPure": false, @@ -8216,19 +8216,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 66, + "id": 606, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 64, + "id": 604, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "998:1:0", + "referencedDeclaration": 592, + "src": "998:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8238,18 +8238,18 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 65, + "id": 605, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "1002:1:0", + "referencedDeclaration": 587, + "src": "1002:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "998:5:0", + "src": "998:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8259,24 +8259,24 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 67, + "id": 607, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 49, - "src": "1007:1:0", + "referencedDeclaration": 589, + "src": "1007:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "998:10:0", + "src": "998:10:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "988:20:0", + "src": "988:20:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8290,21 +8290,21 @@ "typeString": "bool" } ], - "id": 60, + "id": 600, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 569, - 570 + 1109, + 1110 ], - "referencedDeclaration": 569, - "src": "980:7:0", + "referencedDeclaration": 1109, + "src": "980:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 70, + "id": 610, "isConstant": false, "isLValue": false, "isPure": false, @@ -8312,20 +8312,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "980:29:0", + "src": "980:29:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 71, + "id": 611, "nodeType": "ExpressionStatement", - "src": "980:29:0" + "src": "980:29:1" } ] }, "documentation": null, - "id": 73, + "id": 613, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -8333,16 +8333,16 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 50, + "id": 590, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 47, + "id": 587, "name": "a", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "904:6:0", + "scope": 613, + "src": "904:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8350,10 +8350,10 @@ "typeString": "uint256" }, "typeName": { - "id": 46, + "id": 586, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "904:4:0", + "src": "904:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8364,11 +8364,11 @@ }, { "constant": false, - "id": 49, + "id": 589, "name": "b", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "912:6:0", + "scope": 613, + "src": "912:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8376,10 +8376,10 @@ "typeString": "uint256" }, "typeName": { - "id": 48, + "id": 588, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "912:4:0", + "src": "912:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8389,20 +8389,20 @@ "visibility": "internal" } ], - "src": "903:16:0" + "src": "903:16:1" }, "payable": false, "returnParameters": { - "id": 53, + "id": 593, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 52, + "id": 592, "name": "c", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "943:6:0", + "scope": 613, + "src": "943:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8410,10 +8410,10 @@ "typeString": "uint256" }, "typeName": { - "id": 51, + "id": 591, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "943:4:0", + "src": "943:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8423,19 +8423,19 @@ "visibility": "internal" } ], - "src": "942:8:0" + "src": "942:8:1" }, - "scope": 96, - "src": "891:125:0", + "scope": 636, + "src": "891:125:1", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 94, + "id": 634, "nodeType": "Block", - "src": "1081:50:0", + "src": "1081:50:1", "statements": [ { "expression": { @@ -8447,19 +8447,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 85, + "id": 625, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 83, + "id": 623, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "1099:1:0", + "referencedDeclaration": 617, + "src": "1099:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8470,14 +8470,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 84, + "id": 624, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1103:1:0", + "src": "1103:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8485,7 +8485,7 @@ }, "value": "0" }, - "src": "1099:5:0", + "src": "1099:5:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8499,21 +8499,21 @@ "typeString": "bool" } ], - "id": 82, + "id": 622, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 569, - 570 + 1109, + 1110 ], - "referencedDeclaration": 569, - "src": "1091:7:0", + "referencedDeclaration": 1109, + "src": "1091:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 86, + "id": 626, "isConstant": false, "isLValue": false, "isPure": false, @@ -8521,32 +8521,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1091:14:0", + "src": "1091:14:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 87, + "id": 627, "nodeType": "ExpressionStatement", - "src": "1091:14:0" + "src": "1091:14:1" }, { "expression": { "argumentTypes": null, - "id": 92, + "id": 632, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 88, + "id": 628, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 80, - "src": "1115:1:0", + "referencedDeclaration": 620, + "src": "1115:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8560,19 +8560,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 91, + "id": 631, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 89, + "id": 629, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 75, - "src": "1119:1:0", + "referencedDeclaration": 615, + "src": "1119:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8582,37 +8582,37 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 90, + "id": 630, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "1123:1:0", + "referencedDeclaration": 617, + "src": "1123:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1119:5:0", + "src": "1119:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1115:9:0", + "src": "1115:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 93, + "id": 633, "nodeType": "ExpressionStatement", - "src": "1115:9:0" + "src": "1115:9:1" } ] }, "documentation": null, - "id": 95, + "id": 635, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -8620,16 +8620,16 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 78, + "id": 618, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 75, + "id": 615, "name": "a", "nodeType": "VariableDeclaration", - "scope": 95, - "src": "1034:6:0", + "scope": 635, + "src": "1034:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8637,10 +8637,10 @@ "typeString": "uint256" }, "typeName": { - "id": 74, + "id": 614, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1034:4:0", + "src": "1034:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8651,11 +8651,11 @@ }, { "constant": false, - "id": 77, + "id": 617, "name": "b", "nodeType": "VariableDeclaration", - "scope": 95, - "src": "1042:6:0", + "scope": 635, + "src": "1042:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8663,10 +8663,10 @@ "typeString": "uint256" }, "typeName": { - "id": 76, + "id": 616, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1042:4:0", + "src": "1042:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8676,20 +8676,20 @@ "visibility": "internal" } ], - "src": "1033:16:0" + "src": "1033:16:1" }, "payable": false, "returnParameters": { - "id": 81, + "id": 621, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 80, + "id": 620, "name": "c", "nodeType": "VariableDeclaration", - "scope": 95, - "src": "1073:6:0", + "scope": 635, + "src": "1073:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8697,10 +8697,10 @@ "typeString": "uint256" }, "typeName": { - "id": 79, + "id": 619, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1073:4:0", + "src": "1073:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8710,17 +8710,17 @@ "visibility": "internal" } ], - "src": "1072:8:0" + "src": "1072:8:1" }, - "scope": 96, - "src": "1021:110:0", + "scope": 636, + "src": "1021:110:1", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 552, - "src": "636:497:0" + "scope": 1092, + "src": "636:497:1" }, { "baseContracts": [], @@ -8728,9 +8728,9 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 163, + "id": 703, "linearizedBaseContracts": [ - 163 + 703 ], "name": "ERC20Interface", "nodeType": "ContractDefinition", @@ -8738,7 +8738,7 @@ { "body": null, "documentation": null, - "id": 101, + "id": 641, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -8746,23 +8746,23 @@ "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 97, + "id": 637, "nodeType": "ParameterList", "parameters": [], - "src": "1445:2:0" + "src": "1445:2:1" }, "payable": false, "returnParameters": { - "id": 100, + "id": 640, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 99, + "id": 639, "name": "", "nodeType": "VariableDeclaration", - "scope": 101, - "src": "1473:4:0", + "scope": 641, + "src": "1473:4:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8770,10 +8770,10 @@ "typeString": "uint256" }, "typeName": { - "id": 98, + "id": 638, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1473:4:0", + "src": "1473:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8783,10 +8783,10 @@ "visibility": "internal" } ], - "src": "1472:6:0" + "src": "1472:6:1" }, - "scope": 163, - "src": "1425:54:0", + "scope": 703, + "src": "1425:54:1", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -8794,7 +8794,7 @@ { "body": null, "documentation": null, - "id": 108, + "id": 648, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -8802,16 +8802,16 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 104, + "id": 644, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 103, + "id": 643, "name": "tokenOwner", "nodeType": "VariableDeclaration", - "scope": 108, - "src": "1503:18:0", + "scope": 648, + "src": "1503:18:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8819,10 +8819,10 @@ "typeString": "address" }, "typeName": { - "id": 102, + "id": 642, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1503:7:0", + "src": "1503:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8832,20 +8832,20 @@ "visibility": "internal" } ], - "src": "1502:20:0" + "src": "1502:20:1" }, "payable": false, "returnParameters": { - "id": 107, + "id": 647, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 106, + "id": 646, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 108, - "src": "1548:12:0", + "scope": 648, + "src": "1548:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8853,10 +8853,10 @@ "typeString": "uint256" }, "typeName": { - "id": 105, + "id": 645, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1548:4:0", + "src": "1548:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8866,10 +8866,10 @@ "visibility": "internal" } ], - "src": "1547:14:0" + "src": "1547:14:1" }, - "scope": 163, - "src": "1484:78:0", + "scope": 703, + "src": "1484:78:1", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -8877,7 +8877,7 @@ { "body": null, "documentation": null, - "id": 117, + "id": 657, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -8885,16 +8885,16 @@ "name": "allowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 113, + "id": 653, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 110, + "id": 650, "name": "tokenOwner", "nodeType": "VariableDeclaration", - "scope": 117, - "src": "1586:18:0", + "scope": 657, + "src": "1586:18:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8902,10 +8902,10 @@ "typeString": "address" }, "typeName": { - "id": 109, + "id": 649, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1586:7:0", + "src": "1586:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8916,11 +8916,11 @@ }, { "constant": false, - "id": 112, + "id": 652, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 117, - "src": "1606:15:0", + "scope": 657, + "src": "1606:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8928,10 +8928,10 @@ "typeString": "address" }, "typeName": { - "id": 111, + "id": 651, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1606:7:0", + "src": "1606:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8941,20 +8941,20 @@ "visibility": "internal" } ], - "src": "1585:37:0" + "src": "1585:37:1" }, "payable": false, "returnParameters": { - "id": 116, + "id": 656, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 115, + "id": 655, "name": "remaining", "nodeType": "VariableDeclaration", - "scope": 117, - "src": "1648:14:0", + "scope": 657, + "src": "1648:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8962,10 +8962,10 @@ "typeString": "uint256" }, "typeName": { - "id": 114, + "id": 654, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1648:4:0", + "src": "1648:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8975,10 +8975,10 @@ "visibility": "internal" } ], - "src": "1647:16:0" + "src": "1647:16:1" }, - "scope": 163, - "src": "1567:97:0", + "scope": 703, + "src": "1567:97:1", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -8986,7 +8986,7 @@ { "body": null, "documentation": null, - "id": 126, + "id": 666, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -8994,16 +8994,16 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 122, + "id": 662, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 119, + "id": 659, "name": "to", "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1687:10:0", + "scope": 666, + "src": "1687:10:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9011,10 +9011,10 @@ "typeString": "address" }, "typeName": { - "id": 118, + "id": 658, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1687:7:0", + "src": "1687:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9025,11 +9025,11 @@ }, { "constant": false, - "id": 121, + "id": 661, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1699:11:0", + "scope": 666, + "src": "1699:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9037,10 +9037,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120, + "id": 660, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1699:4:0", + "src": "1699:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9050,20 +9050,20 @@ "visibility": "internal" } ], - "src": "1686:25:0" + "src": "1686:25:1" }, "payable": false, "returnParameters": { - "id": 125, + "id": 665, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 124, + "id": 664, "name": "success", "nodeType": "VariableDeclaration", - "scope": 126, - "src": "1728:12:0", + "scope": 666, + "src": "1728:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9071,10 +9071,10 @@ "typeString": "bool" }, "typeName": { - "id": 123, + "id": 663, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1728:4:0", + "src": "1728:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9084,10 +9084,10 @@ "visibility": "internal" } ], - "src": "1727:14:0" + "src": "1727:14:1" }, - "scope": 163, - "src": "1669:73:0", + "scope": 703, + "src": "1669:73:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -9095,7 +9095,7 @@ { "body": null, "documentation": null, - "id": 135, + "id": 675, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -9103,16 +9103,16 @@ "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 131, + "id": 671, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 128, + "id": 668, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 135, - "src": "1764:15:0", + "scope": 675, + "src": "1764:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9120,10 +9120,10 @@ "typeString": "address" }, "typeName": { - "id": 127, + "id": 667, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1764:7:0", + "src": "1764:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9134,11 +9134,11 @@ }, { "constant": false, - "id": 130, + "id": 670, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 135, - "src": "1781:11:0", + "scope": 675, + "src": "1781:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9146,10 +9146,10 @@ "typeString": "uint256" }, "typeName": { - "id": 129, + "id": 669, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1781:4:0", + "src": "1781:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9159,20 +9159,20 @@ "visibility": "internal" } ], - "src": "1763:30:0" + "src": "1763:30:1" }, "payable": false, "returnParameters": { - "id": 134, + "id": 674, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 133, + "id": 673, "name": "success", "nodeType": "VariableDeclaration", - "scope": 135, - "src": "1810:12:0", + "scope": 675, + "src": "1810:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9180,10 +9180,10 @@ "typeString": "bool" }, "typeName": { - "id": 132, + "id": 672, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1810:4:0", + "src": "1810:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9193,10 +9193,10 @@ "visibility": "internal" } ], - "src": "1809:14:0" + "src": "1809:14:1" }, - "scope": 163, - "src": "1747:77:0", + "scope": 703, + "src": "1747:77:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -9204,7 +9204,7 @@ { "body": null, "documentation": null, - "id": 146, + "id": 686, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -9212,16 +9212,16 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 142, + "id": 682, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 137, + "id": 677, "name": "from", "nodeType": "VariableDeclaration", - "scope": 146, - "src": "1851:12:0", + "scope": 686, + "src": "1851:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9229,10 +9229,10 @@ "typeString": "address" }, "typeName": { - "id": 136, + "id": 676, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1851:7:0", + "src": "1851:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9243,11 +9243,11 @@ }, { "constant": false, - "id": 139, + "id": 679, "name": "to", "nodeType": "VariableDeclaration", - "scope": 146, - "src": "1865:10:0", + "scope": 686, + "src": "1865:10:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9255,10 +9255,10 @@ "typeString": "address" }, "typeName": { - "id": 138, + "id": 678, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1865:7:0", + "src": "1865:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9269,11 +9269,11 @@ }, { "constant": false, - "id": 141, + "id": 681, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 146, - "src": "1877:11:0", + "scope": 686, + "src": "1877:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9281,10 +9281,10 @@ "typeString": "uint256" }, "typeName": { - "id": 140, + "id": 680, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1877:4:0", + "src": "1877:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9294,20 +9294,20 @@ "visibility": "internal" } ], - "src": "1850:39:0" + "src": "1850:39:1" }, "payable": false, "returnParameters": { - "id": 145, + "id": 685, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 144, + "id": 684, "name": "success", "nodeType": "VariableDeclaration", - "scope": 146, - "src": "1906:12:0", + "scope": 686, + "src": "1906:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9315,10 +9315,10 @@ "typeString": "bool" }, "typeName": { - "id": 143, + "id": 683, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1906:4:0", + "src": "1906:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9328,10 +9328,10 @@ "visibility": "internal" } ], - "src": "1905:14:0" + "src": "1905:14:1" }, - "scope": 163, - "src": "1829:91:0", + "scope": 703, + "src": "1829:91:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -9339,21 +9339,21 @@ { "anonymous": false, "documentation": null, - "id": 154, + "id": 694, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 153, + "id": 693, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 148, + "id": 688, "indexed": true, "name": "from", "nodeType": "VariableDeclaration", - "scope": 154, - "src": "1941:20:0", + "scope": 694, + "src": "1941:20:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9361,10 +9361,10 @@ "typeString": "address" }, "typeName": { - "id": 147, + "id": 687, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1941:7:0", + "src": "1941:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9375,12 +9375,12 @@ }, { "constant": false, - "id": 150, + "id": 690, "indexed": true, "name": "to", "nodeType": "VariableDeclaration", - "scope": 154, - "src": "1963:18:0", + "scope": 694, + "src": "1963:18:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9388,10 +9388,10 @@ "typeString": "address" }, "typeName": { - "id": 149, + "id": 689, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1963:7:0", + "src": "1963:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9402,12 +9402,12 @@ }, { "constant": false, - "id": 152, + "id": 692, "indexed": false, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 154, - "src": "1983:11:0", + "scope": 694, + "src": "1983:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9415,10 +9415,10 @@ "typeString": "uint256" }, "typeName": { - "id": 151, + "id": 691, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1983:4:0", + "src": "1983:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9428,28 +9428,28 @@ "visibility": "internal" } ], - "src": "1940:55:0" + "src": "1940:55:1" }, - "src": "1926:70:0" + "src": "1926:70:1" }, { "anonymous": false, "documentation": null, - "id": 162, + "id": 702, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 161, + "id": 701, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 156, + "id": 696, "indexed": true, "name": "tokenOwner", "nodeType": "VariableDeclaration", - "scope": 162, - "src": "2016:26:0", + "scope": 702, + "src": "2016:26:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9457,10 +9457,10 @@ "typeString": "address" }, "typeName": { - "id": 155, + "id": 695, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2016:7:0", + "src": "2016:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9471,12 +9471,12 @@ }, { "constant": false, - "id": 158, + "id": 698, "indexed": true, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 162, - "src": "2044:23:0", + "scope": 702, + "src": "2044:23:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9484,10 +9484,10 @@ "typeString": "address" }, "typeName": { - "id": 157, + "id": 697, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2044:7:0", + "src": "2044:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9498,12 +9498,12 @@ }, { "constant": false, - "id": 160, + "id": 700, "indexed": false, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 162, - "src": "2069:11:0", + "scope": 702, + "src": "2069:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9511,10 +9511,10 @@ "typeString": "uint256" }, "typeName": { - "id": 159, + "id": 699, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2069:4:0", + "src": "2069:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9524,13 +9524,13 @@ "visibility": "internal" } ], - "src": "2015:66:0" + "src": "2015:66:1" }, - "src": "2001:81:0" + "src": "2001:81:1" } ], - "scope": 552, - "src": "1395:689:0" + "scope": 1092, + "src": "1395:689:1" }, { "baseContracts": [], @@ -9538,9 +9538,9 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 175, + "id": 715, "linearizedBaseContracts": [ - 175 + 715 ], "name": "ApproveAndCallFallBack", "nodeType": "ContractDefinition", @@ -9548,7 +9548,7 @@ { "body": null, "documentation": null, - "id": 174, + "id": 714, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -9556,16 +9556,16 @@ "name": "receiveApproval", "nodeType": "FunctionDefinition", "parameters": { - "id": 172, + "id": 712, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 165, + "id": 705, "name": "from", "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2416:12:0", + "scope": 714, + "src": "2416:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9573,10 +9573,10 @@ "typeString": "address" }, "typeName": { - "id": 164, + "id": 704, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2416:7:0", + "src": "2416:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9587,11 +9587,11 @@ }, { "constant": false, - "id": 167, + "id": 707, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2430:14:0", + "scope": 714, + "src": "2430:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9599,10 +9599,10 @@ "typeString": "uint256" }, "typeName": { - "id": 166, + "id": 706, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2430:7:0", + "src": "2430:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9613,11 +9613,11 @@ }, { "constant": false, - "id": 169, + "id": 709, "name": "token", "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2446:13:0", + "scope": 714, + "src": "2446:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9625,10 +9625,10 @@ "typeString": "address" }, "typeName": { - "id": 168, + "id": 708, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2446:7:0", + "src": "2446:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9639,11 +9639,11 @@ }, { "constant": false, - "id": 171, + "id": 711, "name": "data", "nodeType": "VariableDeclaration", - "scope": 174, - "src": "2461:10:0", + "scope": 714, + "src": "2461:10:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9651,10 +9651,10 @@ "typeString": "bytes" }, "typeName": { - "id": 170, + "id": 710, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2461:5:0", + "src": "2461:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -9664,24 +9664,24 @@ "visibility": "internal" } ], - "src": "2415:57:0" + "src": "2415:57:1" }, "payable": false, "returnParameters": { - "id": 173, + "id": 713, "nodeType": "ParameterList", "parameters": [], - "src": "2479:0:0" + "src": "2479:0:1" }, - "scope": 175, - "src": "2391:89:0", + "scope": 715, + "src": "2391:89:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 552, - "src": "2353:129:0" + "scope": 1092, + "src": "2353:129:1" }, { "baseContracts": [], @@ -9689,20 +9689,20 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 244, + "id": 784, "linearizedBaseContracts": [ - 244 + 784 ], "name": "Owned", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 177, + "id": 717, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 244, - "src": "2684:20:0", + "scope": 784, + "src": "2684:20:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -9710,10 +9710,10 @@ "typeString": "address" }, "typeName": { - "id": 176, + "id": 716, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2684:7:0", + "src": "2684:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9724,11 +9724,11 @@ }, { "constant": false, - "id": 179, + "id": 719, "name": "newOwner", "nodeType": "VariableDeclaration", - "scope": 244, - "src": "2710:23:0", + "scope": 784, + "src": "2710:23:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -9736,10 +9736,10 @@ "typeString": "address" }, "typeName": { - "id": 178, + "id": 718, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2710:7:0", + "src": "2710:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9751,21 +9751,21 @@ { "anonymous": false, "documentation": null, - "id": 185, + "id": 725, "name": "OwnershipTransferred", "nodeType": "EventDefinition", "parameters": { - "id": 184, + "id": 724, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 181, + "id": 721, "indexed": true, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 185, - "src": "2767:21:0", + "scope": 725, + "src": "2767:21:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9773,10 +9773,10 @@ "typeString": "address" }, "typeName": { - "id": 180, + "id": 720, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2767:7:0", + "src": "2767:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9787,12 +9787,12 @@ }, { "constant": false, - "id": 183, + "id": 723, "indexed": true, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 185, - "src": "2790:19:0", + "scope": 725, + "src": "2790:19:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9800,10 +9800,10 @@ "typeString": "address" }, "typeName": { - "id": 182, + "id": 722, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2790:7:0", + "src": "2790:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9813,32 +9813,32 @@ "visibility": "internal" } ], - "src": "2766:44:0" + "src": "2766:44:1" }, - "src": "2740:71:0" + "src": "2740:71:1" }, { "body": { - "id": 193, + "id": 733, "nodeType": "Block", - "src": "2838:35:0", + "src": "2838:35:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 191, + "id": 731, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 188, + "id": 728, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "2848:5:0", + "referencedDeclaration": 717, + "src": "2848:5:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9850,18 +9850,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 189, + "id": 729, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2856:3:0", + "referencedDeclaration": 1106, + "src": "2856:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 190, + "id": 730, "isConstant": false, "isLValue": false, "isPure": false, @@ -9869,26 +9869,26 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2856:10:0", + "src": "2856:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2848:18:0", + "src": "2848:18:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 192, + "id": 732, "nodeType": "ExpressionStatement", - "src": "2848:18:0" + "src": "2848:18:1" } ] }, "documentation": null, - "id": 194, + "id": 734, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -9896,29 +9896,29 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 186, + "id": 726, "nodeType": "ParameterList", "parameters": [], - "src": "2828:2:0" + "src": "2828:2:1" }, "payable": false, "returnParameters": { - "id": 187, + "id": 727, "nodeType": "ParameterList", "parameters": [], - "src": "2838:0:0" + "src": "2838:0:1" }, - "scope": 244, - "src": "2817:56:0", + "scope": 784, + "src": "2817:56:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 204, + "id": 744, "nodeType": "Block", - "src": "2898:56:0", + "src": "2898:56:1", "statements": [ { "expression": { @@ -9930,7 +9930,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 200, + "id": 740, "isConstant": false, "isLValue": false, "isPure": false, @@ -9939,18 +9939,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 197, + "id": 737, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2916:3:0", + "referencedDeclaration": 1106, + "src": "2916:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 198, + "id": 738, "isConstant": false, "isLValue": false, "isPure": false, @@ -9958,7 +9958,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2916:10:0", + "src": "2916:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9968,18 +9968,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 199, + "id": 739, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "2930:5:0", + "referencedDeclaration": 717, + "src": "2930:5:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2916:19:0", + "src": "2916:19:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9993,21 +9993,21 @@ "typeString": "bool" } ], - "id": 196, + "id": 736, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 569, - 570 + 1109, + 1110 ], - "referencedDeclaration": 569, - "src": "2908:7:0", + "referencedDeclaration": 1109, + "src": "2908:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 201, + "id": 741, "isConstant": false, "isLValue": false, "isPure": false, @@ -10015,58 +10015,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2908:28:0", + "src": "2908:28:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 202, + "id": 742, "nodeType": "ExpressionStatement", - "src": "2908:28:0" + "src": "2908:28:1" }, { - "id": 203, + "id": 743, "nodeType": "PlaceholderStatement", - "src": "2946:1:0" + "src": "2946:1:1" } ] }, "documentation": null, - "id": 205, + "id": 745, "name": "onlyOwner", "nodeType": "ModifierDefinition", "parameters": { - "id": 195, + "id": 735, "nodeType": "ParameterList", "parameters": [], - "src": "2898:0:0" + "src": "2898:0:1" }, - "src": "2879:75:0", + "src": "2879:75:1", "visibility": "internal" }, { "body": { - "id": 216, + "id": 756, "nodeType": "Block", - "src": "3023:37:0", + "src": "3023:37:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 214, + "id": 754, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 212, + "id": 752, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3033:8:0", + "referencedDeclaration": 719, + "src": "3033:8:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10076,68 +10076,68 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 213, + "id": 753, "name": "_newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "3044:9:0", + "referencedDeclaration": 747, + "src": "3044:9:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3033:20:0", + "src": "3033:20:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 215, + "id": 755, "nodeType": "ExpressionStatement", - "src": "3033:20:0" + "src": "3033:20:1" } ] }, "documentation": null, - "id": 217, + "id": 757, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 210, + "id": 750, "modifierName": { "argumentTypes": null, - "id": 209, + "id": 749, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "3013:9:0", + "referencedDeclaration": 745, + "src": "3013:9:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3013:9:0" + "src": "3013:9:1" } ], "name": "transferOwnership", "nodeType": "FunctionDefinition", "parameters": { - "id": 208, + "id": 748, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 207, + "id": 747, "name": "_newOwner", "nodeType": "VariableDeclaration", - "scope": 217, - "src": "2987:17:0", + "scope": 757, + "src": "2987:17:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10145,10 +10145,10 @@ "typeString": "address" }, "typeName": { - "id": 206, + "id": 746, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2987:7:0", + "src": "2987:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10158,26 +10158,26 @@ "visibility": "internal" } ], - "src": "2986:19:0" + "src": "2986:19:1" }, "payable": false, "returnParameters": { - "id": 211, + "id": 751, "nodeType": "ParameterList", "parameters": [], - "src": "3023:0:0" + "src": "3023:0:1" }, - "scope": 244, - "src": "2960:100:0", + "scope": 784, + "src": "2960:100:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 242, + "id": 782, "nodeType": "Block", - "src": "3099:157:0", + "src": "3099:157:1", "statements": [ { "expression": { @@ -10189,7 +10189,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 224, + "id": 764, "isConstant": false, "isLValue": false, "isPure": false, @@ -10198,18 +10198,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 221, + "id": 761, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "3117:3:0", + "referencedDeclaration": 1106, + "src": "3117:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 222, + "id": 762, "isConstant": false, "isLValue": false, "isPure": false, @@ -10217,7 +10217,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3117:10:0", + "src": "3117:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10227,18 +10227,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 223, + "id": 763, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3131:8:0", + "referencedDeclaration": 719, + "src": "3131:8:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3117:22:0", + "src": "3117:22:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10252,21 +10252,21 @@ "typeString": "bool" } ], - "id": 220, + "id": 760, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 569, - 570 + 1109, + 1110 ], - "referencedDeclaration": 569, - "src": "3109:7:0", + "referencedDeclaration": 1109, + "src": "3109:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 225, + "id": 765, "isConstant": false, "isLValue": false, "isPure": false, @@ -10274,15 +10274,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3109:31:0", + "src": "3109:31:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 226, + "id": 766, "nodeType": "ExpressionStatement", - "src": "3109:31:0" + "src": "3109:31:1" }, { "eventCall": { @@ -10290,12 +10290,12 @@ "arguments": [ { "argumentTypes": null, - "id": 228, + "id": 768, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "3176:5:0", + "referencedDeclaration": 717, + "src": "3176:5:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10303,12 +10303,12 @@ }, { "argumentTypes": null, - "id": 229, + "id": 769, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3183:8:0", + "referencedDeclaration": 719, + "src": "3183:8:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10326,18 +10326,18 @@ "typeString": "address" } ], - "id": 227, + "id": 767, "name": "OwnershipTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 185, - "src": "3155:20:0", + "referencedDeclaration": 725, + "src": "3155:20:1", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, - "id": 230, + "id": 770, "isConstant": false, "isLValue": false, "isPure": false, @@ -10345,32 +10345,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3155:37:0", + "src": "3155:37:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 231, + "id": 771, "nodeType": "EmitStatement", - "src": "3150:42:0" + "src": "3150:42:1" }, { "expression": { "argumentTypes": null, - "id": 234, + "id": 774, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 232, + "id": 772, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "3202:5:0", + "referencedDeclaration": 717, + "src": "3202:5:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10380,43 +10380,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 233, + "id": 773, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3210:8:0", + "referencedDeclaration": 719, + "src": "3210:8:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3202:16:0", + "src": "3202:16:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 235, + "id": 775, "nodeType": "ExpressionStatement", - "src": "3202:16:0" + "src": "3202:16:1" }, { "expression": { "argumentTypes": null, - "id": 240, + "id": 780, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 236, + "id": 776, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3228:8:0", + "referencedDeclaration": 719, + "src": "3228:8:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10430,14 +10430,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 238, + "id": 778, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3247:1:0", + "src": "3247:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10453,20 +10453,20 @@ "typeString": "int_const 0" } ], - "id": 237, + "id": 777, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3239:7:0", + "src": "3239:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 239, + "id": 779, "isConstant": false, "isLValue": false, "isPure": true, @@ -10474,26 +10474,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3239:10:0", + "src": "3239:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3228:21:0", + "src": "3228:21:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 241, + "id": 781, "nodeType": "ExpressionStatement", - "src": "3228:21:0" + "src": "3228:21:1" } ] }, "documentation": null, - "id": 243, + "id": 783, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -10501,27 +10501,27 @@ "name": "acceptOwnership", "nodeType": "FunctionDefinition", "parameters": { - "id": 218, + "id": 758, "nodeType": "ParameterList", "parameters": [], - "src": "3089:2:0" + "src": "3089:2:1" }, "payable": false, "returnParameters": { - "id": 219, + "id": 759, "nodeType": "ParameterList", "parameters": [], - "src": "3099:0:0" + "src": "3099:0:1" }, - "scope": 244, - "src": "3065:191:0", + "scope": 784, + "src": "3065:191:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 552, - "src": "2663:595:0" + "scope": 1092, + "src": "2663:595:1" }, { "baseContracts": [ @@ -10529,76 +10529,76 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 245, + "id": 785, "name": "ERC20Interface", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 163, - "src": "3535:14:0", + "referencedDeclaration": 703, + "src": "3528:14:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Interface_$163", + "typeIdentifier": "t_contract$_ERC20Interface_$703", "typeString": "contract ERC20Interface" } }, - "id": 246, + "id": 786, "nodeType": "InheritanceSpecifier", - "src": "3535:14:0" + "src": "3528:14:1" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 247, + "id": 787, "name": "Owned", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 244, - "src": "3551:5:0", + "referencedDeclaration": 784, + "src": "3544:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_Owned_$244", + "typeIdentifier": "t_contract$_Owned_$784", "typeString": "contract Owned" } }, - "id": 248, + "id": 788, "nodeType": "InheritanceSpecifier", - "src": "3551:5:0" + "src": "3544:5:1" } ], "contractDependencies": [ - 244, - 163 + 703, + 784 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 551, + "id": 1091, "linearizedBaseContracts": [ - 551, - 244, - 163 + 1091, + 784, + 703 ], - "name": "FixedSupplyToken", + "name": "TestToken", "nodeType": "ContractDefinition", "nodes": [ { - "id": 251, + "id": 791, "libraryName": { "contractScope": null, - "id": 249, + "id": 789, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 96, - "src": "3569:8:0", + "referencedDeclaration": 636, + "src": "3562:8:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$96", + "typeIdentifier": "t_contract$_SafeMath_$636", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "3563:24:0", + "src": "3556:24:1", "typeName": { - "id": 250, + "id": 790, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3582:4:0", + "src": "3575:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10607,11 +10607,11 @@ }, { "constant": false, - "id": 253, + "id": 793, "name": "symbol", "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3593:20:0", + "scope": 1091, + "src": "3586:20:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -10619,10 +10619,10 @@ "typeString": "string" }, "typeName": { - "id": 252, + "id": 792, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3593:6:0", + "src": "3586:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -10633,11 +10633,11 @@ }, { "constant": false, - "id": 255, + "id": 795, "name": "name", "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3619:19:0", + "scope": 1091, + "src": "3612:19:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -10645,10 +10645,10 @@ "typeString": "string" }, "typeName": { - "id": 254, + "id": 794, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3619:6:0", + "src": "3612:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -10659,11 +10659,11 @@ }, { "constant": false, - "id": 257, + "id": 797, "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3644:21:0", + "scope": 1091, + "src": "3637:21:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -10671,10 +10671,10 @@ "typeString": "uint8" }, "typeName": { - "id": 256, + "id": 796, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3644:5:0", + "src": "3637:5:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -10685,11 +10685,11 @@ }, { "constant": false, - "id": 259, + "id": 799, "name": "_totalSupply", "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3671:17:0", + "scope": 1091, + "src": "3664:17:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -10697,10 +10697,10 @@ "typeString": "uint256" }, "typeName": { - "id": 258, + "id": 798, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3671:4:0", + "src": "3664:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10711,11 +10711,11 @@ }, { "constant": false, - "id": 263, + "id": 803, "name": "balances", "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3695:33:0", + "scope": 1091, + "src": "3688:33:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -10723,28 +10723,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 262, + "id": 802, "keyType": { - "id": 260, + "id": 800, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3703:7:0", + "src": "3696:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "3695:24:0", + "src": "3688:24:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 261, + "id": 801, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3714:4:0", + "src": "3707:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10756,11 +10756,11 @@ }, { "constant": false, - "id": 269, + "id": 809, "name": "allowed", "nodeType": "VariableDeclaration", - "scope": 551, - "src": "3734:52:0", + "scope": 1091, + "src": "3727:52:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -10768,46 +10768,46 @@ "typeString": "mapping(address => mapping(address => uint256))" }, "typeName": { - "id": 268, + "id": 808, "keyType": { - "id": 264, + "id": 804, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3742:7:0", + "src": "3735:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "3734:44:0", + "src": "3727:44:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" }, "valueType": { - "id": 267, + "id": 807, "keyType": { - "id": 265, + "id": 805, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3761:7:0", + "src": "3754:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "3753:24:0", + "src": "3746:24:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 266, + "id": 806, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3772:4:0", + "src": "3765:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10820,26 +10820,26 @@ }, { "body": { - "id": 308, + "id": 848, "nodeType": "Block", - "src": "3994:235:0", + "src": "3987:235:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 274, + "id": 814, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 272, + "id": 812, "name": "symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 253, - "src": "4004:6:0", + "referencedDeclaration": 793, + "src": "3997:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -10850,14 +10850,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "544b4e", - "id": 273, + "id": 813, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4013:5:0", + "src": "4006:5:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9ee187a325c80a9ca820b4f297a58770bf5a85fede3756f8e7e9d14ff37d7b66", @@ -10865,32 +10865,32 @@ }, "value": "TKN" }, - "src": "4004:14:0", + "src": "3997:14:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 275, + "id": 815, "nodeType": "ExpressionStatement", - "src": "4004:14:0" + "src": "3997:14:1" }, { "expression": { "argumentTypes": null, - "id": 278, + "id": 818, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 276, + "id": 816, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 255, - "src": "4028:4:0", + "referencedDeclaration": 795, + "src": "4021:4:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -10901,14 +10901,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "546f6b656e204578616d706c65", - "id": 277, + "id": 817, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4035:15:0", + "src": "4028:15:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e57db44f555e20abcea99743d90b2c763b40df4478f8c8195ecabb23fc906e9a", @@ -10916,32 +10916,32 @@ }, "value": "Token Example" }, - "src": "4028:22:0", + "src": "4021:22:1", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 279, + "id": 819, "nodeType": "ExpressionStatement", - "src": "4028:22:0" + "src": "4021:22:1" }, { "expression": { "argumentTypes": null, - "id": 282, + "id": 822, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 280, + "id": 820, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 257, - "src": "4060:8:0", + "referencedDeclaration": 797, + "src": "4053:8:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -10952,14 +10952,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "3138", - "id": 281, + "id": 821, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4071:2:0", + "src": "4064:2:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_18_by_1", @@ -10967,32 +10967,32 @@ }, "value": "18" }, - "src": "4060:13:0", + "src": "4053:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 283, + "id": 823, "nodeType": "ExpressionStatement", - "src": "4060:13:0" + "src": "4053:13:1" }, { "expression": { "argumentTypes": null, - "id": 292, + "id": 832, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 284, + "id": 824, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4083:12:0", + "referencedDeclaration": 799, + "src": "4076:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11006,7 +11006,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 291, + "id": 831, "isConstant": false, "isLValue": false, "isPure": false, @@ -11014,14 +11014,14 @@ "leftExpression": { "argumentTypes": null, "hexValue": "31303030303030", - "id": 285, + "id": 825, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4098:7:0", + "src": "4091:7:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1000000_by_1", @@ -11037,7 +11037,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 290, + "id": 830, "isConstant": false, "isLValue": false, "isPure": false, @@ -11045,14 +11045,14 @@ "leftExpression": { "argumentTypes": null, "hexValue": "3130", - "id": 286, + "id": 826, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4108:2:0", + "src": "4101:2:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -11067,12 +11067,12 @@ "arguments": [ { "argumentTypes": null, - "id": 288, + "id": 828, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 257, - "src": "4117:8:0", + "referencedDeclaration": 797, + "src": "4110:8:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -11086,20 +11086,20 @@ "typeString": "uint8" } ], - "id": 287, + "id": 827, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4112:4:0", + "src": "4105:4:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint" }, - "id": 289, + "id": 829, "isConstant": false, "isLValue": false, "isPure": false, @@ -11107,38 +11107,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4112:14:0", + "src": "4105:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4108:18:0", + "src": "4101:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4098:28:0", + "src": "4091:28:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4083:43:0", + "src": "4076:43:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 293, + "id": 833, "nodeType": "ExpressionStatement", - "src": "4083:43:0" + "src": "4076:43:1" }, { "expression": { "argumentTypes": null, - "id": 298, + "id": 838, "isConstant": false, "isLValue": false, "isPure": false, @@ -11147,26 +11147,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 294, + "id": 834, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "4136:8:0", + "referencedDeclaration": 803, + "src": "4129:8:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 296, + "id": 836, "indexExpression": { "argumentTypes": null, - "id": 295, + "id": 835, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "4145:5:0", + "referencedDeclaration": 717, + "src": "4138:5:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11177,7 +11177,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4136:15:0", + "src": "4129:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11187,26 +11187,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 297, + "id": 837, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4154:12:0", + "referencedDeclaration": 799, + "src": "4147:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4136:30:0", + "src": "4129:30:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 299, + "id": 839, "nodeType": "ExpressionStatement", - "src": "4136:30:0" + "src": "4129:30:1" }, { "eventCall": { @@ -11218,14 +11218,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 302, + "id": 842, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4198:1:0", + "src": "4191:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11241,20 +11241,20 @@ "typeString": "int_const 0" } ], - "id": 301, + "id": 841, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4190:7:0", + "src": "4183:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 303, + "id": 843, "isConstant": false, "isLValue": false, "isPure": true, @@ -11262,7 +11262,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4190:10:0", + "src": "4183:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11270,12 +11270,12 @@ }, { "argumentTypes": null, - "id": 304, + "id": 844, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "4202:5:0", + "referencedDeclaration": 717, + "src": "4195:5:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11283,12 +11283,12 @@ }, { "argumentTypes": null, - "id": 305, + "id": 845, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4209:12:0", + "referencedDeclaration": 799, + "src": "4202:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11310,18 +11310,18 @@ "typeString": "uint256" } ], - "id": 300, + "id": 840, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 154, - "src": "4181:8:0", + "referencedDeclaration": 694, + "src": "4174:8:1", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 306, + "id": 846, "isConstant": false, "isLValue": false, "isPure": false, @@ -11329,20 +11329,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4181:41:0", + "src": "4174:41:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 307, + "id": 847, "nodeType": "EmitStatement", - "src": "4176:46:0" + "src": "4169:46:1" } ] }, "documentation": null, - "id": 309, + "id": 849, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -11350,29 +11350,29 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 270, + "id": 810, "nodeType": "ParameterList", "parameters": [], - "src": "3984:2:0" + "src": "3977:2:1" }, "payable": false, "returnParameters": { - "id": 271, + "id": 811, "nodeType": "ParameterList", "parameters": [], - "src": "3994:0:0" + "src": "3987:0:1" }, - "scope": 551, - "src": "3973:256:0", + "scope": 1091, + "src": "3966:256:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 323, + "id": 863, "nodeType": "Block", - "src": "4466:62:0", + "src": "4459:62:1", "statements": [ { "expression": { @@ -11382,32 +11382,32 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 316, + "id": 856, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "4500:8:0", + "referencedDeclaration": 803, + "src": "4493:8:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 320, + "id": 860, "indexExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", - "id": 318, + "id": 858, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4517:1:0", + "src": "4510:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11423,20 +11423,20 @@ "typeString": "int_const 0" } ], - "id": 317, + "id": 857, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4509:7:0", + "src": "4502:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 319, + "id": 859, "isConstant": false, "isLValue": false, "isPure": true, @@ -11444,7 +11444,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4509:10:0", + "src": "4502:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11455,7 +11455,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4500:20:0", + "src": "4493:20:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11471,32 +11471,32 @@ ], "expression": { "argumentTypes": null, - "id": 314, + "id": 854, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4483:12:0", + "referencedDeclaration": 799, + "src": "4476:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 315, + "id": 855, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "4483:16:0", + "referencedDeclaration": 585, + "src": "4476:16:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 321, + "id": 861, "isConstant": false, "isLValue": false, "isPure": false, @@ -11504,21 +11504,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4483:38:0", + "src": "4476:38:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 313, - "id": 322, + "functionReturnParameters": 853, + "id": 862, "nodeType": "Return", - "src": "4476:45:0" + "src": "4469:45:1" } ] }, "documentation": null, - "id": 324, + "id": 864, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -11526,23 +11526,23 @@ "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 310, + "id": 850, "nodeType": "ParameterList", "parameters": [], - "src": "4436:2:0" + "src": "4429:2:1" }, "payable": false, "returnParameters": { - "id": 313, + "id": 853, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 312, + "id": 852, "name": "", "nodeType": "VariableDeclaration", - "scope": 324, - "src": "4460:4:0", + "scope": 864, + "src": "4453:4:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11550,10 +11550,10 @@ "typeString": "uint256" }, "typeName": { - "id": 311, + "id": 851, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4460:4:0", + "src": "4453:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11563,45 +11563,45 @@ "visibility": "internal" } ], - "src": "4459:6:0" + "src": "4452:6:1" }, - "scope": 551, - "src": "4416:112:0", + "scope": 1091, + "src": "4409:112:1", "stateMutability": "view", - "superFunction": 101, + "superFunction": 641, "visibility": "public" }, { "body": { - "id": 335, + "id": 875, "nodeType": "Block", - "src": "4823:44:0", + "src": "4816:44:1", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 331, + "id": 871, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "4840:8:0", + "referencedDeclaration": 803, + "src": "4833:8:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 333, + "id": 873, "indexExpression": { "argumentTypes": null, - "id": 332, + "id": 872, "name": "tokenOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 326, - "src": "4849:10:0", + "referencedDeclaration": 866, + "src": "4842:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11612,21 +11612,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4840:20:0", + "src": "4833:20:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 330, - "id": 334, + "functionReturnParameters": 870, + "id": 874, "nodeType": "Return", - "src": "4833:27:0" + "src": "4826:27:1" } ] }, "documentation": null, - "id": 336, + "id": 876, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -11634,16 +11634,16 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 327, + "id": 867, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 326, + "id": 866, "name": "tokenOwner", "nodeType": "VariableDeclaration", - "scope": 336, - "src": "4768:18:0", + "scope": 876, + "src": "4761:18:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11651,10 +11651,10 @@ "typeString": "address" }, "typeName": { - "id": 325, + "id": 865, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4768:7:0", + "src": "4761:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11664,20 +11664,20 @@ "visibility": "internal" } ], - "src": "4767:20:0" + "src": "4760:20:1" }, "payable": false, "returnParameters": { - "id": 330, + "id": 870, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 329, + "id": 869, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 336, - "src": "4809:12:0", + "scope": 876, + "src": "4802:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11685,10 +11685,10 @@ "typeString": "uint256" }, "typeName": { - "id": 328, + "id": 868, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4809:4:0", + "src": "4802:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11698,24 +11698,24 @@ "visibility": "internal" } ], - "src": "4808:14:0" + "src": "4801:14:1" }, - "scope": 551, - "src": "4749:118:0", + "scope": 1091, + "src": "4742:118:1", "stateMutability": "view", - "superFunction": 108, + "superFunction": 648, "visibility": "public" }, { "body": { - "id": 378, + "id": 918, "nodeType": "Block", - "src": "5283:189:0", + "src": "5276:189:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 356, + "id": 896, "isConstant": false, "isLValue": false, "isPure": false, @@ -11724,34 +11724,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 345, + "id": 885, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5293:8:0", + "referencedDeclaration": 803, + "src": "5286:8:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 348, + "id": 888, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 346, + "id": 886, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "5302:3:0", + "referencedDeclaration": 1106, + "src": "5295:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 347, + "id": 887, "isConstant": false, "isLValue": false, "isPure": false, @@ -11759,7 +11759,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5302:10:0", + "src": "5295:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11770,7 +11770,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5293:20:0", + "src": "5286:20:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11783,12 +11783,12 @@ "arguments": [ { "argumentTypes": null, - "id": 354, + "id": 894, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "5341:6:0", + "referencedDeclaration": 880, + "src": "5334:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11806,34 +11806,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 349, + "id": 889, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5316:8:0", + "referencedDeclaration": 803, + "src": "5309:8:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 352, + "id": 892, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 350, + "id": 890, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "5325:3:0", + "referencedDeclaration": 1106, + "src": "5318:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 351, + "id": 891, "isConstant": false, "isLValue": false, "isPure": false, @@ -11841,7 +11841,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5325:10:0", + "src": "5318:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11852,27 +11852,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5316:20:0", + "src": "5309:20:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 353, + "id": 893, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "5316:24:0", + "referencedDeclaration": 585, + "src": "5309:24:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 355, + "id": 895, "isConstant": false, "isLValue": false, "isPure": false, @@ -11880,26 +11880,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5316:32:0", + "src": "5309:32:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5293:55:0", + "src": "5286:55:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 357, + "id": 897, "nodeType": "ExpressionStatement", - "src": "5293:55:0" + "src": "5286:55:1" }, { "expression": { "argumentTypes": null, - "id": 367, + "id": 907, "isConstant": false, "isLValue": false, "isPure": false, @@ -11908,26 +11908,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 358, + "id": 898, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5358:8:0", + "referencedDeclaration": 803, + "src": "5351:8:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 360, + "id": 900, "indexExpression": { "argumentTypes": null, - "id": 359, + "id": 899, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "5367:2:0", + "referencedDeclaration": 878, + "src": "5360:2:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11938,7 +11938,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5358:12:0", + "src": "5351:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11951,12 +11951,12 @@ "arguments": [ { "argumentTypes": null, - "id": 365, + "id": 905, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "5390:6:0", + "referencedDeclaration": 880, + "src": "5383:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11974,26 +11974,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 361, + "id": 901, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "5373:8:0", + "referencedDeclaration": 803, + "src": "5366:8:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 363, + "id": 903, "indexExpression": { "argumentTypes": null, - "id": 362, + "id": 902, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "5382:2:0", + "referencedDeclaration": 878, + "src": "5375:2:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12004,27 +12004,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5373:12:0", + "src": "5366:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 364, + "id": 904, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "5373:16:0", + "referencedDeclaration": 563, + "src": "5366:16:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 366, + "id": 906, "isConstant": false, "isLValue": false, "isPure": false, @@ -12032,21 +12032,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5373:24:0", + "src": "5366:24:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5358:39:0", + "src": "5351:39:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 368, + "id": 908, "nodeType": "ExpressionStatement", - "src": "5358:39:0" + "src": "5351:39:1" }, { "eventCall": { @@ -12056,18 +12056,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 370, + "id": 910, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "5421:3:0", + "referencedDeclaration": 1106, + "src": "5414:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 371, + "id": 911, "isConstant": false, "isLValue": false, "isPure": false, @@ -12075,7 +12075,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5421:10:0", + "src": "5414:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12083,12 +12083,12 @@ }, { "argumentTypes": null, - "id": 372, + "id": 912, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 338, - "src": "5433:2:0", + "referencedDeclaration": 878, + "src": "5426:2:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12096,12 +12096,12 @@ }, { "argumentTypes": null, - "id": 373, + "id": 913, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "5437:6:0", + "referencedDeclaration": 880, + "src": "5430:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12123,18 +12123,18 @@ "typeString": "uint256" } ], - "id": 369, + "id": 909, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 154, - "src": "5412:8:0", + "referencedDeclaration": 694, + "src": "5405:8:1", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 374, + "id": 914, "isConstant": false, "isLValue": false, "isPure": false, @@ -12142,28 +12142,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5412:32:0", + "src": "5405:32:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 375, + "id": 915, "nodeType": "EmitStatement", - "src": "5407:37:0" + "src": "5400:37:1" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 376, + "id": 916, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "5461:4:0", + "src": "5454:4:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -12171,15 +12171,15 @@ }, "value": "true" }, - "functionReturnParameters": 344, - "id": 377, + "functionReturnParameters": 884, + "id": 917, "nodeType": "Return", - "src": "5454:11:0" + "src": "5447:11:1" } ] }, "documentation": null, - "id": 379, + "id": 919, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -12187,16 +12187,16 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 341, + "id": 881, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 338, + "id": 878, "name": "to", "nodeType": "VariableDeclaration", - "scope": 379, - "src": "5228:10:0", + "scope": 919, + "src": "5221:10:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12204,10 +12204,10 @@ "typeString": "address" }, "typeName": { - "id": 337, + "id": 877, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5228:7:0", + "src": "5221:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12218,11 +12218,11 @@ }, { "constant": false, - "id": 340, + "id": 880, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 379, - "src": "5240:11:0", + "scope": 919, + "src": "5233:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12230,10 +12230,10 @@ "typeString": "uint256" }, "typeName": { - "id": 339, + "id": 879, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "5240:4:0", + "src": "5233:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12243,20 +12243,20 @@ "visibility": "internal" } ], - "src": "5227:25:0" + "src": "5220:25:1" }, "payable": false, "returnParameters": { - "id": 344, + "id": 884, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 343, + "id": 883, "name": "success", "nodeType": "VariableDeclaration", - "scope": 379, - "src": "5269:12:0", + "scope": 919, + "src": "5262:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12264,10 +12264,10 @@ "typeString": "bool" }, "typeName": { - "id": 342, + "id": 882, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5269:4:0", + "src": "5262:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12277,24 +12277,24 @@ "visibility": "internal" } ], - "src": "5268:14:0" + "src": "5261:14:1" }, - "scope": 551, - "src": "5210:262:0", + "scope": 1091, + "src": "5203:262:1", "stateMutability": "nonpayable", - "superFunction": 126, + "superFunction": 666, "visibility": "public" }, { "body": { - "id": 406, + "id": 946, "nodeType": "Block", - "src": "6055:127:0", + "src": "6048:127:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 395, + "id": 935, "isConstant": false, "isLValue": false, "isPure": false, @@ -12305,34 +12305,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 388, + "id": 928, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "6065:7:0", + "referencedDeclaration": 809, + "src": "6058:7:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 392, + "id": 932, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 389, + "id": 929, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6073:3:0", + "referencedDeclaration": 1106, + "src": "6066:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 390, + "id": 930, "isConstant": false, "isLValue": false, "isPure": false, @@ -12340,7 +12340,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6073:10:0", + "src": "6066:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12351,21 +12351,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6065:19:0", + "src": "6058:19:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 393, + "id": 933, "indexExpression": { "argumentTypes": null, - "id": 391, + "id": 931, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 381, - "src": "6085:7:0", + "referencedDeclaration": 921, + "src": "6078:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12376,7 +12376,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6065:28:0", + "src": "6058:28:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12386,26 +12386,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 394, + "id": 934, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 383, - "src": "6096:6:0", + "referencedDeclaration": 923, + "src": "6089:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6065:37:0", + "src": "6058:37:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 396, + "id": 936, "nodeType": "ExpressionStatement", - "src": "6065:37:0" + "src": "6058:37:1" }, { "eventCall": { @@ -12415,18 +12415,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 398, + "id": 938, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6126:3:0", + "referencedDeclaration": 1106, + "src": "6119:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 399, + "id": 939, "isConstant": false, "isLValue": false, "isPure": false, @@ -12434,7 +12434,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6126:10:0", + "src": "6119:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12442,12 +12442,12 @@ }, { "argumentTypes": null, - "id": 400, + "id": 940, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 381, - "src": "6138:7:0", + "referencedDeclaration": 921, + "src": "6131:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12455,12 +12455,12 @@ }, { "argumentTypes": null, - "id": 401, + "id": 941, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 383, - "src": "6147:6:0", + "referencedDeclaration": 923, + "src": "6140:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12482,18 +12482,18 @@ "typeString": "uint256" } ], - "id": 397, + "id": 937, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 162, - "src": "6117:8:0", + "referencedDeclaration": 702, + "src": "6110:8:1", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 402, + "id": 942, "isConstant": false, "isLValue": false, "isPure": false, @@ -12501,28 +12501,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6117:37:0", + "src": "6110:37:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 403, + "id": 943, "nodeType": "EmitStatement", - "src": "6112:42:0" + "src": "6105:42:1" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 404, + "id": 944, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "6171:4:0", + "src": "6164:4:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -12530,15 +12530,15 @@ }, "value": "true" }, - "functionReturnParameters": 387, - "id": 405, + "functionReturnParameters": 927, + "id": 945, "nodeType": "Return", - "src": "6164:11:0" + "src": "6157:11:1" } ] }, "documentation": null, - "id": 407, + "id": 947, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -12546,16 +12546,16 @@ "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 384, + "id": 924, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 381, + "id": 921, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 407, - "src": "5995:15:0", + "scope": 947, + "src": "5988:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12563,10 +12563,10 @@ "typeString": "address" }, "typeName": { - "id": 380, + "id": 920, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5995:7:0", + "src": "5988:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12577,11 +12577,11 @@ }, { "constant": false, - "id": 383, + "id": 923, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 407, - "src": "6012:11:0", + "scope": 947, + "src": "6005:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12589,10 +12589,10 @@ "typeString": "uint256" }, "typeName": { - "id": 382, + "id": 922, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "6012:4:0", + "src": "6005:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12602,20 +12602,20 @@ "visibility": "internal" } ], - "src": "5994:30:0" + "src": "5987:30:1" }, "payable": false, "returnParameters": { - "id": 387, + "id": 927, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 386, + "id": 926, "name": "success", "nodeType": "VariableDeclaration", - "scope": 407, - "src": "6041:12:0", + "scope": 947, + "src": "6034:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12623,10 +12623,10 @@ "typeString": "bool" }, "typeName": { - "id": 385, + "id": 925, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6041:4:0", + "src": "6034:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12636,24 +12636,24 @@ "visibility": "internal" } ], - "src": "6040:14:0" + "src": "6033:14:1" }, - "scope": 551, - "src": "5978:204:0", + "scope": 1091, + "src": "5971:204:1", "stateMutability": "nonpayable", - "superFunction": 135, + "superFunction": 675, "visibility": "public" }, { "body": { - "id": 465, + "id": 1005, "nodeType": "Block", - "src": "6805:246:0", + "src": "6798:246:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 427, + "id": 967, "isConstant": false, "isLValue": false, "isPure": false, @@ -12662,26 +12662,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 418, + "id": 958, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6815:8:0", + "referencedDeclaration": 803, + "src": "6808:8:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 420, + "id": 960, "indexExpression": { "argumentTypes": null, - "id": 419, + "id": 959, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6824:4:0", + "referencedDeclaration": 949, + "src": "6817:4:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12692,7 +12692,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6815:14:0", + "src": "6808:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12705,12 +12705,12 @@ "arguments": [ { "argumentTypes": null, - "id": 425, + "id": 965, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "6851:6:0", + "referencedDeclaration": 953, + "src": "6844:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12728,26 +12728,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 421, + "id": 961, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6832:8:0", + "referencedDeclaration": 803, + "src": "6825:8:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 423, + "id": 963, "indexExpression": { "argumentTypes": null, - "id": 422, + "id": 962, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6841:4:0", + "referencedDeclaration": 949, + "src": "6834:4:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12758,27 +12758,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6832:14:0", + "src": "6825:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 424, + "id": 964, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "6832:18:0", + "referencedDeclaration": 585, + "src": "6825:18:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 426, + "id": 966, "isConstant": false, "isLValue": false, "isPure": false, @@ -12786,26 +12786,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6832:26:0", + "src": "6825:26:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6815:43:0", + "src": "6808:43:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 428, + "id": 968, "nodeType": "ExpressionStatement", - "src": "6815:43:0" + "src": "6808:43:1" }, { "expression": { "argumentTypes": null, - "id": 444, + "id": 984, "isConstant": false, "isLValue": false, "isPure": false, @@ -12816,26 +12816,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 429, + "id": 969, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "6868:7:0", + "referencedDeclaration": 809, + "src": "6861:7:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 433, + "id": 973, "indexExpression": { "argumentTypes": null, - "id": 430, + "id": 970, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6876:4:0", + "referencedDeclaration": 949, + "src": "6869:4:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12846,29 +12846,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6868:13:0", + "src": "6861:13:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 434, + "id": 974, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 431, + "id": 971, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6882:3:0", + "referencedDeclaration": 1106, + "src": "6875:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 432, + "id": 972, "isConstant": false, "isLValue": false, "isPure": false, @@ -12876,7 +12876,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6882:10:0", + "src": "6875:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12887,7 +12887,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6868:25:0", + "src": "6861:25:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12900,12 +12900,12 @@ "arguments": [ { "argumentTypes": null, - "id": 442, + "id": 982, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "6926:6:0", + "referencedDeclaration": 953, + "src": "6919:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12925,26 +12925,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 435, + "id": 975, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "6896:7:0", + "referencedDeclaration": 809, + "src": "6889:7:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 437, + "id": 977, "indexExpression": { "argumentTypes": null, - "id": 436, + "id": 976, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "6904:4:0", + "referencedDeclaration": 949, + "src": "6897:4:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12955,29 +12955,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6896:13:0", + "src": "6889:13:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 440, + "id": 980, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 438, + "id": 978, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "6910:3:0", + "referencedDeclaration": 1106, + "src": "6903:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 439, + "id": 979, "isConstant": false, "isLValue": false, "isPure": false, @@ -12985,7 +12985,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6910:10:0", + "src": "6903:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12996,27 +12996,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6896:25:0", + "src": "6889:25:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 441, + "id": 981, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 45, - "src": "6896:29:0", + "referencedDeclaration": 585, + "src": "6889:29:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 443, + "id": 983, "isConstant": false, "isLValue": false, "isPure": false, @@ -13024,26 +13024,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6896:37:0", + "src": "6889:37:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6868:65:0", + "src": "6861:65:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 445, + "id": 985, "nodeType": "ExpressionStatement", - "src": "6868:65:0" + "src": "6861:65:1" }, { "expression": { "argumentTypes": null, - "id": 455, + "id": 995, "isConstant": false, "isLValue": false, "isPure": false, @@ -13052,26 +13052,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 446, + "id": 986, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6943:8:0", + "referencedDeclaration": 803, + "src": "6936:8:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 448, + "id": 988, "indexExpression": { "argumentTypes": null, - "id": 447, + "id": 987, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "6952:2:0", + "referencedDeclaration": 951, + "src": "6945:2:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13082,7 +13082,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6943:12:0", + "src": "6936:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13095,12 +13095,12 @@ "arguments": [ { "argumentTypes": null, - "id": 453, + "id": 993, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "6975:6:0", + "referencedDeclaration": 953, + "src": "6968:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13118,26 +13118,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 449, + "id": 989, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 263, - "src": "6958:8:0", + "referencedDeclaration": 803, + "src": "6951:8:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 451, + "id": 991, "indexExpression": { "argumentTypes": null, - "id": 450, + "id": 990, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "6967:2:0", + "referencedDeclaration": 951, + "src": "6960:2:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13148,27 +13148,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6958:12:0", + "src": "6951:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 452, + "id": 992, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 23, - "src": "6958:16:0", + "referencedDeclaration": 563, + "src": "6951:16:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 454, + "id": 994, "isConstant": false, "isLValue": false, "isPure": false, @@ -13176,21 +13176,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6958:24:0", + "src": "6951:24:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6943:39:0", + "src": "6936:39:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 456, + "id": 996, "nodeType": "ExpressionStatement", - "src": "6943:39:0" + "src": "6936:39:1" }, { "eventCall": { @@ -13198,12 +13198,12 @@ "arguments": [ { "argumentTypes": null, - "id": 458, + "id": 998, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "7006:4:0", + "referencedDeclaration": 949, + "src": "6999:4:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13211,12 +13211,12 @@ }, { "argumentTypes": null, - "id": 459, + "id": 999, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "7012:2:0", + "referencedDeclaration": 951, + "src": "7005:2:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13224,12 +13224,12 @@ }, { "argumentTypes": null, - "id": 460, + "id": 1000, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "7016:6:0", + "referencedDeclaration": 953, + "src": "7009:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13251,18 +13251,18 @@ "typeString": "uint256" } ], - "id": 457, + "id": 997, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 154, - "src": "6997:8:0", + "referencedDeclaration": 694, + "src": "6990:8:1", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 461, + "id": 1001, "isConstant": false, "isLValue": false, "isPure": false, @@ -13270,28 +13270,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6997:26:0", + "src": "6990:26:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 462, + "id": 1002, "nodeType": "EmitStatement", - "src": "6992:31:0" + "src": "6985:31:1" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 463, + "id": 1003, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "7040:4:0", + "src": "7033:4:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13299,15 +13299,15 @@ }, "value": "true" }, - "functionReturnParameters": 417, - "id": 464, + "functionReturnParameters": 957, + "id": 1004, "nodeType": "Return", - "src": "7033:11:0" + "src": "7026:11:1" } ] }, "documentation": null, - "id": 466, + "id": 1006, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -13315,16 +13315,16 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 414, + "id": 954, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 409, + "id": 949, "name": "from", "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6736:12:0", + "scope": 1006, + "src": "6729:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13332,10 +13332,10 @@ "typeString": "address" }, "typeName": { - "id": 408, + "id": 948, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6736:7:0", + "src": "6729:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13346,11 +13346,11 @@ }, { "constant": false, - "id": 411, + "id": 951, "name": "to", "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6750:10:0", + "scope": 1006, + "src": "6743:10:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13358,10 +13358,10 @@ "typeString": "address" }, "typeName": { - "id": 410, + "id": 950, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6750:7:0", + "src": "6743:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13372,11 +13372,11 @@ }, { "constant": false, - "id": 413, + "id": 953, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6762:11:0", + "scope": 1006, + "src": "6755:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13384,10 +13384,10 @@ "typeString": "uint256" }, "typeName": { - "id": 412, + "id": 952, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "6762:4:0", + "src": "6755:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13397,20 +13397,20 @@ "visibility": "internal" } ], - "src": "6735:39:0" + "src": "6728:39:1" }, "payable": false, "returnParameters": { - "id": 417, + "id": 957, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 416, + "id": 956, "name": "success", "nodeType": "VariableDeclaration", - "scope": 466, - "src": "6791:12:0", + "scope": 1006, + "src": "6784:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13418,10 +13418,10 @@ "typeString": "bool" }, "typeName": { - "id": 415, + "id": 955, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6791:4:0", + "src": "6784:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13431,19 +13431,19 @@ "visibility": "internal" } ], - "src": "6790:14:0" + "src": "6783:14:1" }, - "scope": 551, - "src": "6714:337:0", + "scope": 1091, + "src": "6707:337:1", "stateMutability": "nonpayable", - "superFunction": 146, + "superFunction": 686, "visibility": "public" }, { "body": { - "id": 481, + "id": 1021, "nodeType": "Block", - "src": "7425:52:0", + "src": "7418:52:1", "statements": [ { "expression": { @@ -13452,26 +13452,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 475, + "id": 1015, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "7442:7:0", + "referencedDeclaration": 809, + "src": "7435:7:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 477, + "id": 1017, "indexExpression": { "argumentTypes": null, - "id": 476, + "id": 1016, "name": "tokenOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 468, - "src": "7450:10:0", + "referencedDeclaration": 1008, + "src": "7443:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13482,21 +13482,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7442:19:0", + "src": "7435:19:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 479, + "id": 1019, "indexExpression": { "argumentTypes": null, - "id": 478, + "id": 1018, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 470, - "src": "7462:7:0", + "referencedDeclaration": 1010, + "src": "7455:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13507,21 +13507,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7442:28:0", + "src": "7435:28:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 474, - "id": 480, + "functionReturnParameters": 1014, + "id": 1020, "nodeType": "Return", - "src": "7435:35:0" + "src": "7428:35:1" } ] }, "documentation": null, - "id": 482, + "id": 1022, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -13529,16 +13529,16 @@ "name": "allowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 471, + "id": 1011, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 468, + "id": 1008, "name": "tokenOwner", "nodeType": "VariableDeclaration", - "scope": 482, - "src": "7351:18:0", + "scope": 1022, + "src": "7344:18:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13546,10 +13546,10 @@ "typeString": "address" }, "typeName": { - "id": 467, + "id": 1007, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7351:7:0", + "src": "7344:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13560,11 +13560,11 @@ }, { "constant": false, - "id": 470, + "id": 1010, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 482, - "src": "7371:15:0", + "scope": 1022, + "src": "7364:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13572,10 +13572,10 @@ "typeString": "address" }, "typeName": { - "id": 469, + "id": 1009, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7371:7:0", + "src": "7364:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13585,20 +13585,20 @@ "visibility": "internal" } ], - "src": "7350:37:0" + "src": "7343:37:1" }, "payable": false, "returnParameters": { - "id": 474, + "id": 1014, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 473, + "id": 1013, "name": "remaining", "nodeType": "VariableDeclaration", - "scope": 482, - "src": "7409:14:0", + "scope": 1022, + "src": "7402:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13606,10 +13606,10 @@ "typeString": "uint256" }, "typeName": { - "id": 472, + "id": 1012, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "7409:4:0", + "src": "7402:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13619,24 +13619,24 @@ "visibility": "internal" } ], - "src": "7408:16:0" + "src": "7401:16:1" }, - "scope": 551, - "src": "7332:145:0", + "scope": 1091, + "src": "7325:145:1", "stateMutability": "view", - "superFunction": 117, + "superFunction": 657, "visibility": "public" }, { "body": { - "id": 522, + "id": 1062, "nodeType": "Block", - "src": "7933:216:0", + "src": "7926:216:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 500, + "id": 1040, "isConstant": false, "isLValue": false, "isPure": false, @@ -13647,34 +13647,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 493, + "id": 1033, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 269, - "src": "7943:7:0", + "referencedDeclaration": 809, + "src": "7936:7:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 497, + "id": 1037, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 494, + "id": 1034, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "7951:3:0", + "referencedDeclaration": 1106, + "src": "7944:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 495, + "id": 1035, "isConstant": false, "isLValue": false, "isPure": false, @@ -13682,7 +13682,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7951:10:0", + "src": "7944:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13693,21 +13693,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7943:19:0", + "src": "7936:19:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 498, + "id": 1038, "indexExpression": { "argumentTypes": null, - "id": 496, + "id": 1036, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "7963:7:0", + "referencedDeclaration": 1024, + "src": "7956:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13718,7 +13718,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7943:28:0", + "src": "7936:28:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13728,26 +13728,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 499, + "id": 1039, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "7974:6:0", + "referencedDeclaration": 1026, + "src": "7967:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7943:37:0", + "src": "7936:37:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 501, + "id": 1041, "nodeType": "ExpressionStatement", - "src": "7943:37:0" + "src": "7936:37:1" }, { "eventCall": { @@ -13757,18 +13757,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 503, + "id": 1043, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "8004:3:0", + "referencedDeclaration": 1106, + "src": "7997:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 504, + "id": 1044, "isConstant": false, "isLValue": false, "isPure": false, @@ -13776,7 +13776,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8004:10:0", + "src": "7997:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13784,12 +13784,12 @@ }, { "argumentTypes": null, - "id": 505, + "id": 1045, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "8016:7:0", + "referencedDeclaration": 1024, + "src": "8009:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13797,12 +13797,12 @@ }, { "argumentTypes": null, - "id": 506, + "id": 1046, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "8025:6:0", + "referencedDeclaration": 1026, + "src": "8018:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13824,18 +13824,18 @@ "typeString": "uint256" } ], - "id": 502, + "id": 1042, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 162, - "src": "7995:8:0", + "referencedDeclaration": 702, + "src": "7988:8:1", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 507, + "id": 1047, "isConstant": false, "isLValue": false, "isPure": false, @@ -13843,15 +13843,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7995:37:0", + "src": "7988:37:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 508, + "id": 1048, "nodeType": "EmitStatement", - "src": "7990:42:0" + "src": "7983:42:1" }, { "expression": { @@ -13861,18 +13861,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 513, + "id": 1053, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "8090:3:0", + "referencedDeclaration": 1106, + "src": "8083:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 514, + "id": 1054, "isConstant": false, "isLValue": false, "isPure": false, @@ -13880,7 +13880,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8090:10:0", + "src": "8083:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13888,12 +13888,12 @@ }, { "argumentTypes": null, - "id": 515, + "id": 1055, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 486, - "src": "8102:6:0", + "referencedDeclaration": 1026, + "src": "8095:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13901,25 +13901,25 @@ }, { "argumentTypes": null, - "id": 516, + "id": 1056, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 587, - "src": "8110:4:0", + "referencedDeclaration": 1137, + "src": "8103:4:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_FixedSupplyToken_$551", - "typeString": "contract FixedSupplyToken" + "typeIdentifier": "t_contract$_TestToken_$1091", + "typeString": "contract TestToken" } }, { "argumentTypes": null, - "id": 517, + "id": 1057, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 488, - "src": "8116:4:0", + "referencedDeclaration": 1028, + "src": "8109:4:1", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13937,8 +13937,8 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_contract$_FixedSupplyToken_$551", - "typeString": "contract FixedSupplyToken" + "typeIdentifier": "t_contract$_TestToken_$1091", + "typeString": "contract TestToken" }, { "typeIdentifier": "t_bytes_memory_ptr", @@ -13950,12 +13950,12 @@ "arguments": [ { "argumentTypes": null, - "id": 510, + "id": 1050, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "8065:7:0", + "referencedDeclaration": 1024, + "src": "8058:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13969,18 +13969,18 @@ "typeString": "address" } ], - "id": 509, + "id": 1049, "name": "ApproveAndCallFallBack", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 175, - "src": "8042:22:0", + "referencedDeclaration": 715, + "src": "8035:22:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ApproveAndCallFallBack_$175_$", + "typeIdentifier": "t_type$_t_contract$_ApproveAndCallFallBack_$715_$", "typeString": "type(contract ApproveAndCallFallBack)" } }, - "id": 511, + "id": 1051, "isConstant": false, "isLValue": false, "isPure": false, @@ -13988,27 +13988,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8042:31:0", + "src": "8035:31:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$175", + "typeIdentifier": "t_contract$_ApproveAndCallFallBack_$715", "typeString": "contract ApproveAndCallFallBack" } }, - "id": 512, + "id": 1052, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "receiveApproval", "nodeType": "MemberAccess", - "referencedDeclaration": 174, - "src": "8042:47:0", + "referencedDeclaration": 714, + "src": "8035:47:1", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,uint256,address,bytes memory) external" } }, - "id": 518, + "id": 1058, "isConstant": false, "isLValue": false, "isPure": false, @@ -14016,28 +14016,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8042:79:0", + "src": "8035:79:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 519, + "id": 1059, "nodeType": "ExpressionStatement", - "src": "8042:79:0" + "src": "8035:79:1" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 520, + "id": 1060, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "8138:4:0", + "src": "8131:4:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14045,15 +14045,15 @@ }, "value": "true" }, - "functionReturnParameters": 492, - "id": 521, + "functionReturnParameters": 1032, + "id": 1061, "nodeType": "Return", - "src": "8131:11:0" + "src": "8124:11:1" } ] }, "documentation": null, - "id": 523, + "id": 1063, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -14061,16 +14061,16 @@ "name": "approveAndCall", "nodeType": "FunctionDefinition", "parameters": { - "id": 489, + "id": 1029, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 484, + "id": 1024, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7861:15:0", + "scope": 1063, + "src": "7854:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14078,10 +14078,10 @@ "typeString": "address" }, "typeName": { - "id": 483, + "id": 1023, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7861:7:0", + "src": "7854:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14092,11 +14092,11 @@ }, { "constant": false, - "id": 486, + "id": 1026, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7878:11:0", + "scope": 1063, + "src": "7871:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14104,10 +14104,10 @@ "typeString": "uint256" }, "typeName": { - "id": 485, + "id": 1025, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "7878:4:0", + "src": "7871:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14118,11 +14118,11 @@ }, { "constant": false, - "id": 488, + "id": 1028, "name": "data", "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7891:10:0", + "scope": 1063, + "src": "7884:10:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14130,10 +14130,10 @@ "typeString": "bytes" }, "typeName": { - "id": 487, + "id": 1027, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7891:5:0", + "src": "7884:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -14143,20 +14143,20 @@ "visibility": "internal" } ], - "src": "7860:42:0" + "src": "7853:42:1" }, "payable": false, "returnParameters": { - "id": 492, + "id": 1032, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 491, + "id": 1031, "name": "success", "nodeType": "VariableDeclaration", - "scope": 523, - "src": "7919:12:0", + "scope": 1063, + "src": "7912:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14164,10 +14164,10 @@ "typeString": "bool" }, "typeName": { - "id": 490, + "id": 1030, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7919:4:0", + "src": "7912:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14177,19 +14177,19 @@ "visibility": "internal" } ], - "src": "7918:14:0" + "src": "7911:14:1" }, - "scope": 551, - "src": "7837:312:0", + "scope": 1091, + "src": "7830:312:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 529, + "id": 1069, "nodeType": "Block", - "src": "8367:25:0", + "src": "8360:25:1", "statements": [ { "expression": { @@ -14197,21 +14197,21 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 526, + "id": 1066, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 571, - 572 + 1111, + 1112 ], - "referencedDeclaration": 571, - "src": "8377:6:0", + "referencedDeclaration": 1111, + "src": "8370:6:1", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 527, + "id": 1067, "isConstant": false, "isLValue": false, "isPure": false, @@ -14219,20 +14219,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8377:8:0", + "src": "8370:8:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 528, + "id": 1068, "nodeType": "ExpressionStatement", - "src": "8377:8:0" + "src": "8370:8:1" } ] }, "documentation": null, - "id": 530, + "id": 1070, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -14240,29 +14240,29 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 524, + "id": 1064, "nodeType": "ParameterList", "parameters": [], - "src": "8349:2:0" + "src": "8342:2:1" }, "payable": true, "returnParameters": { - "id": 525, + "id": 1065, "nodeType": "ParameterList", "parameters": [], - "src": "8367:0:0" + "src": "8360:0:1" }, - "scope": 551, - "src": "8340:52:0", + "scope": 1091, + "src": "8333:52:1", "stateMutability": "payable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 549, + "id": 1089, "nodeType": "Block", - "src": "8730:76:0", + "src": "8723:76:1", "statements": [ { "expression": { @@ -14270,12 +14270,12 @@ "arguments": [ { "argumentTypes": null, - "id": 545, + "id": 1085, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 177, - "src": "8785:5:0", + "referencedDeclaration": 717, + "src": "8778:5:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14283,12 +14283,12 @@ }, { "argumentTypes": null, - "id": 546, + "id": 1086, "name": "tokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 534, - "src": "8792:6:0", + "referencedDeclaration": 1074, + "src": "8785:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14311,12 +14311,12 @@ "arguments": [ { "argumentTypes": null, - "id": 542, + "id": 1082, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 532, - "src": "8762:12:0", + "referencedDeclaration": 1072, + "src": "8755:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14330,18 +14330,18 @@ "typeString": "address" } ], - "id": 541, + "id": 1081, "name": "ERC20Interface", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 163, - "src": "8747:14:0", + "referencedDeclaration": 703, + "src": "8740:14:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20Interface_$163_$", + "typeIdentifier": "t_type$_t_contract$_ERC20Interface_$703_$", "typeString": "type(contract ERC20Interface)" } }, - "id": 543, + "id": 1083, "isConstant": false, "isLValue": false, "isPure": false, @@ -14349,27 +14349,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8747:28:0", + "src": "8740:28:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Interface_$163", + "typeIdentifier": "t_contract$_ERC20Interface_$703", "typeString": "contract ERC20Interface" } }, - "id": 544, + "id": 1084, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 126, - "src": "8747:37:0", + "referencedDeclaration": 666, + "src": "8740:37:1", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 547, + "id": 1087, "isConstant": false, "isLValue": false, "isPure": false, @@ -14377,58 +14377,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8747:52:0", + "src": "8740:52:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 540, - "id": 548, + "functionReturnParameters": 1080, + "id": 1088, "nodeType": "Return", - "src": "8740:59:0" + "src": "8733:59:1" } ] }, "documentation": null, - "id": 550, + "id": 1090, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, - "id": 537, + "id": 1077, "modifierName": { "argumentTypes": null, - "id": 536, + "id": 1076, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "8697:9:0", + "referencedDeclaration": 745, + "src": "8690:9:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "8697:9:0" + "src": "8690:9:1" } ], "name": "transferAnyERC20Token", "nodeType": "FunctionDefinition", "parameters": { - "id": 535, + "id": 1075, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 532, + "id": 1072, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 550, - "src": "8655:20:0", + "scope": 1090, + "src": "8648:20:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14436,10 +14436,10 @@ "typeString": "address" }, "typeName": { - "id": 531, + "id": 1071, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8655:7:0", + "src": "8648:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14450,11 +14450,11 @@ }, { "constant": false, - "id": 534, + "id": 1074, "name": "tokens", "nodeType": "VariableDeclaration", - "scope": 550, - "src": "8677:11:0", + "scope": 1090, + "src": "8670:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14462,10 +14462,10 @@ "typeString": "uint256" }, "typeName": { - "id": 533, + "id": 1073, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "8677:4:0", + "src": "8670:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14475,20 +14475,20 @@ "visibility": "internal" } ], - "src": "8654:35:0" + "src": "8647:35:1" }, "payable": false, "returnParameters": { - "id": 540, + "id": 1080, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 539, + "id": 1079, "name": "success", "nodeType": "VariableDeclaration", - "scope": 550, - "src": "8716:12:0", + "scope": 1090, + "src": "8709:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14496,10 +14496,10 @@ "typeString": "bool" }, "typeName": { - "id": 538, + "id": 1078, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "8716:4:0", + "src": "8709:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14509,26 +14509,33 @@ "visibility": "internal" } ], - "src": "8715:14:0" + "src": "8708:14:1" }, - "scope": 551, - "src": "8624:182:0", + "scope": 1091, + "src": "8617:182:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 552, - "src": "3506:5302:0" + "scope": 1092, + "src": "3506:5295:1" } ], - "src": "0:8808:0" + "src": "0:8801:1" }, "compiler": { "name": "solc", "version": "0.4.24+commit.e67f0147.Emscripten.clang" }, - "networks": {}, + "networks": { + "1531736519464": { + "events": {}, + "links": {}, + "address": "0xc7a8e338efc11284d8d00251dfcdacb4c203756b", + "transactionHash": "0xaff97a755f2e7633c7f63f3409580fdf571961c6318ae6ec17f77287d80bb4e8" + } + }, "schemaVersion": "2.0.0", - "updatedAt": "2018-07-03T10:29:51.555Z" + "updatedAt": "2018-07-17T07:07:22.326Z" } \ No newline at end of file diff --git a/src/routes/tokens/store/actions/fetchTokens.js b/src/routes/tokens/store/actions/fetchTokens.js index 3ddc9b09..928612ef 100644 --- a/src/routes/tokens/store/actions/fetchTokens.js +++ b/src/routes/tokens/store/actions/fetchTokens.js @@ -3,6 +3,7 @@ import { List, Map } from 'immutable' import contract from 'truffle-contract' import type { Dispatch as ReduxDispatch } from 'redux' import StandardToken from '@gnosis.pm/util-contracts/build/contracts/StandardToken.json' +import HumanFriendlyToken from '@gnosis.pm/util-contracts/build/contracts/HumanFriendlyToken.json' import { getWeb3 } from '~/wallets/getWeb3' import { type GlobalState } from '~/store/index' import { makeToken, type Token, type TokenProps } from '~/routes/tokens/store/model/token' @@ -19,6 +20,15 @@ const createStandardTokenContract = async () => { return erc20Token } +const createHumanFriendlyTokenContract = async () => { + const web3 = getWeb3() + const humanErc20Token = await contract(HumanFriendlyToken) + humanErc20Token.setProvider(web3.currentProvider) + + return humanErc20Token +} + +export const getHumanFriendlyToken = ensureOnce(createHumanFriendlyTokenContract) export const getStandardTokenContract = ensureOnce(createStandardTokenContract) diff --git a/src/test/utils/tokenMovements.js b/src/test/utils/tokenMovements.js index 1b8ff359..933ab8a9 100644 --- a/src/test/utils/tokenMovements.js +++ b/src/test/utils/tokenMovements.js @@ -4,7 +4,7 @@ import { getProviderInfo, getBalanceInEtherOf, getWeb3 } from '~/wallets/getWeb3 import { promisify } from '~/utils/promisify' import withdraw, { DESTINATION_PARAM, VALUE_PARAM } from '~/routes/safe/component/Withdraw/withdraw' import { type Safe } from '~/routes/safe/store/model/safe' -import Token from '#/test/FixedSupplyToken.json' +import Token from '#/test/TestToken.json' import { ensureOnce } from '~/utils/singleton' import { toNative } from '~/wallets/tokens'