diff --git a/build/contracts/Avatar.json b/build/contracts/Avatar.json index 654e126..33dc901 100644 --- a/build/contracts/Avatar.json +++ b/build/contracts/Avatar.json @@ -1 +1,5073 @@ -{"contractName":"Avatar","abi":[{"constant":true,"inputs":[],"name":"registry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"whitelist","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","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":[{"name":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"addToWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"removeFromWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"isOnWhiteList","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b604051602080610c6583398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610b69806100fc6000396000f30060606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b872dd146100935780637b1039991461010c5780637ebd1b30146101615780638ab1d681146101c45780638da5cb5b146101fd578063e43252d714610252578063ecb223ab1461028b578063f2fde38b146102dc575b600080fd5b341561009e57600080fd5b6100f2600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610315565b604051808215151515815260200191505060405180910390f35b341561011757600080fd5b61011f6104fd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561016c57600080fd5b6101826004808035906020019091905050610523565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101cf57600080fd5b6101fb600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610562565b005b341561020857600080fd5b61021061068e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561025d57600080fd5b610289600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506106b3565b005b341561029657600080fd5b6102c2600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506108f3565b604051808215151515815260200191505060405180910390f35b34156102e757600080fd5b610313600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610997565b005b600080610321336108f3565b151561032c57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600c8152602001807f50617261746969546f6b656e0000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15156103ed57600080fd5b5af115156103fa57600080fd5b5050506040518051905090508073ffffffffffffffffffffffffffffffffffffffff166323b872dd8686866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15156104dc57600080fd5b5af115156104e957600080fd5b505050604051805190509150509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028181548110151561053257fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156105bf57600080fd5b600090505b60028054905081101561068a578173ffffffffffffffffffffffffffffffffffffffff166002828154811015156105f757fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561067d5760028181548110151561064e57fe5b906000526020600020900160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b80806001019150506105c4565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561071157600080fd5b6002805490509150600090505b60028054905081101561081e578273ffffffffffffffffffffffffffffffffffffffff1660028281548110151561075157fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561079e576108ee565b600073ffffffffffffffffffffffffffffffffffffffff166002828154811015156107c557fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610811578091505b808060010191505061071e565b600280549050821415610893576002805480600101828161083f9190610aec565b9160005260206000209001600085909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506108ed565b826002838154811015156108a357fe5b906000526020600020900160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b505050565b600080600090505b60028054905081101561098c578273ffffffffffffffffffffffffffffffffffffffff1660028281548110151561092e57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561097f5760019150610991565b80806001019150506108fb565b600091505b50919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109f257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610a2e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b815481835581811511610b1357818360005260206000209182019101610b129190610b18565b5b505050565b610b3a91905b80821115610b36576000816000905550600101610b1e565b5090565b905600a165627a7a72305820b46894e8d7afd650ea682f30a1bf3a659d6f4efe457b87f8f2cd703a6b039b1e0029","deployedBytecode":"0x60606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b872dd146100935780637b1039991461010c5780637ebd1b30146101615780638ab1d681146101c45780638da5cb5b146101fd578063e43252d714610252578063ecb223ab1461028b578063f2fde38b146102dc575b600080fd5b341561009e57600080fd5b6100f2600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610315565b604051808215151515815260200191505060405180910390f35b341561011757600080fd5b61011f6104fd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561016c57600080fd5b6101826004808035906020019091905050610523565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101cf57600080fd5b6101fb600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610562565b005b341561020857600080fd5b61021061068e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561025d57600080fd5b610289600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506106b3565b005b341561029657600080fd5b6102c2600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506108f3565b604051808215151515815260200191505060405180910390f35b34156102e757600080fd5b610313600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610997565b005b600080610321336108f3565b151561032c57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600c8152602001807f50617261746969546f6b656e0000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15156103ed57600080fd5b5af115156103fa57600080fd5b5050506040518051905090508073ffffffffffffffffffffffffffffffffffffffff166323b872dd8686866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15156104dc57600080fd5b5af115156104e957600080fd5b505050604051805190509150509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028181548110151561053257fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156105bf57600080fd5b600090505b60028054905081101561068a578173ffffffffffffffffffffffffffffffffffffffff166002828154811015156105f757fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561067d5760028181548110151561064e57fe5b906000526020600020900160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b80806001019150506105c4565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561071157600080fd5b6002805490509150600090505b60028054905081101561081e578273ffffffffffffffffffffffffffffffffffffffff1660028281548110151561075157fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561079e576108ee565b600073ffffffffffffffffffffffffffffffffffffffff166002828154811015156107c557fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610811578091505b808060010191505061071e565b600280549050821415610893576002805480600101828161083f9190610aec565b9160005260206000209001600085909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506108ed565b826002838154811015156108a357fe5b906000526020600020900160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b505050565b600080600090505b60028054905081101561098c578273ffffffffffffffffffffffffffffffffffffffff1660028281548110151561092e57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561097f5760019150610991565b80806001019150506108fb565b600091505b50919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109f257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610a2e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b815481835581811511610b1357818360005260206000209182019101610b129190610b18565b5b505050565b610b3a91905b80821115610b36576000816000905550600101610b1e565b5090565b905600a165627a7a72305820b46894e8d7afd650ea682f30a1bf3a659d6f4efe457b87f8f2cd703a6b039b1e0029"} \ No newline at end of file +{ + "contractName": "Avatar", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "registry", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + } + ], + "name": "whitelist", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "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": [ + { + "name": "_registry", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_address", + "type": "address" + } + ], + "name": "addToWhitelist", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_address", + "type": "address" + } + ], + "name": "removeFromWhitelist", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_address", + "type": "address" + } + ], + "name": "isOnWhiteList", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_from", + "type": "address" + }, + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50604051602080610ca483398101806040528101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610ba0806101046000396000f30060806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b872dd146100935780637b103999146101185780637ebd1b301461016f5780638ab1d681146101dc5780638da5cb5b1461021f578063e43252d714610276578063ecb223ab146102b9578063f2fde38b14610314575b600080fd5b34801561009f57600080fd5b506100fe600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610357565b604051808215151515815260200191505060405180910390f35b34801561012457600080fd5b5061012d610589565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561017b57600080fd5b5061019a600480360381019080803590602001909291905050506105af565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101e857600080fd5b5061021d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105ed565b005b34801561022b57600080fd5b50610234610717565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561028257600080fd5b506102b7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061073c565b005b3480156102c557600080fd5b506102fa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061097c565b604051808215151515815260200191505060405180910390f35b34801561032057600080fd5b50610355600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a1f565b005b6000806103633361097c565b151561036e57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600c8152602001807f50617261746969546f6b656e0000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561043057600080fd5b505af1158015610444573d6000803e3d6000fd5b505050506040513d602081101561045a57600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff166323b872dd8686866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561054457600080fd5b505af1158015610558573d6000803e3d6000fd5b505050506040513d602081101561056e57600080fd5b81019080805190602001909291905050509150509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6002818154811015156105be57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561064a57600080fd5b600090505b600280549050811015610713578173ffffffffffffffffffffffffffffffffffffffff1660028281548110151561068257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610706576002818154811015156106d857fe5b9060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b808060010191505061064f565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561079a57600080fd5b6002805490509150600090505b6002805490508110156108a5578273ffffffffffffffffffffffffffffffffffffffff166002828154811015156107da57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561082657610977565b600073ffffffffffffffffffffffffffffffffffffffff1660028281548110151561084d57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610898578091505b80806001019150506107a7565b60028054905082141561091d5760028390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610976565b8260028381548110151561092d57fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b505050565b600080600090505b600280549050811015610a14578273ffffffffffffffffffffffffffffffffffffffff166002828154811015156109b757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610a075760019150610a19565b8080600101915050610984565b600091505b50919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a7a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610ab657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820fe6f15d5668e4d549b6d7a6766797f5b04370e25e56fab570dc4058523edd98d0029", + "deployedBytecode": "0x60806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b872dd146100935780637b103999146101185780637ebd1b301461016f5780638ab1d681146101dc5780638da5cb5b1461021f578063e43252d714610276578063ecb223ab146102b9578063f2fde38b14610314575b600080fd5b34801561009f57600080fd5b506100fe600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610357565b604051808215151515815260200191505060405180910390f35b34801561012457600080fd5b5061012d610589565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561017b57600080fd5b5061019a600480360381019080803590602001909291905050506105af565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101e857600080fd5b5061021d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105ed565b005b34801561022b57600080fd5b50610234610717565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561028257600080fd5b506102b7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061073c565b005b3480156102c557600080fd5b506102fa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061097c565b604051808215151515815260200191505060405180910390f35b34801561032057600080fd5b50610355600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a1f565b005b6000806103633361097c565b151561036e57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600c8152602001807f50617261746969546f6b656e0000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561043057600080fd5b505af1158015610444573d6000803e3d6000fd5b505050506040513d602081101561045a57600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff166323b872dd8686866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561054457600080fd5b505af1158015610558573d6000803e3d6000fd5b505050506040513d602081101561056e57600080fd5b81019080805190602001909291905050509150509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6002818154811015156105be57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561064a57600080fd5b600090505b600280549050811015610713578173ffffffffffffffffffffffffffffffffffffffff1660028281548110151561068257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610706576002818154811015156106d857fe5b9060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b808060010191505061064f565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561079a57600080fd5b6002805490509150600090505b6002805490508110156108a5578273ffffffffffffffffffffffffffffffffffffffff166002828154811015156107da57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561082657610977565b600073ffffffffffffffffffffffffffffffffffffffff1660028281548110151561084d57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610898578091505b80806001019150506107a7565b60028054905082141561091d5760028390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610976565b8260028381548110151561092d57fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b505050565b600080600090505b600280549050811015610a14578273ffffffffffffffffffffffffffffffffffffffff166002828154811015156109b757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610a075760019150610a19565b8080600101915050610984565b600091505b50919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a7a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610ab657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820fe6f15d5668e4d549b6d7a6766797f5b04370e25e56fab570dc4058523edd98d0029", + "sourceMap": "204:1646:1:-;;;394:104;8:9:-1;5:2;;;30:1;27;20:12;5:2;394:104:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;502:10:9;494:5;;:18;;;;;;;;;;;;;;;;;;454:9:1;443:8;;:20;;;;;;;;;;;;;;;;;;481:10;473:5;;:18;;;;;;;;;;;;;;;;;;394:104;204:1646;;;;;;", + "deployedSourceMap": "204:1646:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1601:247;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1601:247:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:24:1;;;;;;;;;;;;;;;;;;;;;;;;;;;268:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;268:26:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1106:232;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1106:232:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:9;;;;;;;;;;;;;;;;;;;;;;;;;;;504:596:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;504:596:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;1344:251;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1344:251:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;827:169:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;827:169:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;1601:247:1;1697:4;1715:18;344:25;358:10;344:13;:25::i;:::-;336:34;;;;;;;;1749:8;;;;;;;;;;;:20;;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1749:36:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1749:36:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1749:36:1;;;;;;;;;;;;;;;;1715:71;;1803:5;:18;;;1822:5;1829:3;1834:6;1803:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1803:38:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1803:38:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1803:38:1;;;;;;;;;;;;;;;;1796:45;;1601:247;;;;;;:::o;237:24::-;;;;;;;;;;;;;:::o;268:26::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1106:232::-;1185:6;647:5:9;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;1194:1:1;1185:10;;1180:152;1201:9;:16;;;;1197:1;:20;1180:152;;;1258:8;1242:24;;:9;1252:1;1242:12;;;;;;;;;;;;;;;;;;;;;;;;;;;:24;;;1238:84;;;1293:9;1303:1;1293:12;;;;;;;;;;;;;;;;;;1286:19;;;;;;;;;;;1238:84;1219:3;;;;;;;1180:152;;;1106:232;;:::o;238:20:9:-;;;;;;;;;;;;;:::o;504:596:1:-;669:14;717:6;647:5:9;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;686:9:1;:16;;;;669:33;;726:1;717:10;;712:228;733:9;:16;;;;729:1;:20;712:228;;;790:8;774:24;;:9;784:1;774:12;;;;;;;;;;;;;;;;;;;;;;;;;;;:24;;;770:69;;;818:7;;770:69;880:1;856:26;;:9;866:1;856:12;;;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;852:78;;;914:1;902:13;;852:78;751:3;;;;;;;712:228;;;966:9;:16;;;;953:9;:29;949:145;;;997:9;1012:8;997:24;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;997:24:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;949:145;;;1075:8;1052:9;1062;1052:20;;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;949:145;659:1:9;504:596:1;;;:::o;1344:251::-;1409:4;1430:6;1439:1;1430:10;;1425:142;1446:9;:16;;;;1442:1;:20;1425:142;;;1503:8;1487:24;;:9;1497:1;1487:12;;;;;;;;;;;;;;;;;;;;;;;;;;;:24;;;1483:74;;;1538:4;1531:11;;;;1483:74;1464:3;;;;;;;1425:142;;;1583:5;1576:12;;1344:251;;;;;:::o;827:169:9:-;647:5;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;923:1;903:22;;:8;:22;;;;895:31;;;;;;;;960:8;932:37;;953:5;;;;;;;;;;;932:37;;;;;;;;;;;;983:8;975:5;;:16;;;;;;;;;;;;;;;;;;827:169;:::o", + "source": "pragma solidity ^0.4.18;\nimport \"./Registry.sol\";\nimport \"./ParatiiToken.sol\";\nimport \"zeppelin-solidity/contracts/ownership/Ownable.sol\";\n/*\n * @dev A contract that holds PTI for the paratii DAO\n *\n */\n\ncontract Avatar is Ownable {\n Registry public registry;\n\n address[] public whitelist;\n\n modifier onlyWhitelist() {\n require(isOnWhiteList(msg.sender));\n _;\n }\n\n constructor(Registry _registry) public {\n registry = _registry;\n owner = msg.sender;\n }\n\n function addToWhitelist(address _address) public onlyOwner {\n // check if the address is already known, and if there is a free space in the whitelist\n uint freeSpace = whitelist.length;\n for (uint i = 0; i < whitelist.length; i++) {\n if (whitelist[i] == _address) {\n return;\n }\n if (whitelist[i] == address(0)) {\n freeSpace = i;\n }\n }\n if (freeSpace == whitelist.length){\n whitelist.push(_address);\n } else {\n whitelist[freeSpace] = _address;\n }\n }\n\n function removeFromWhitelist(address _address) public onlyOwner {\n for (uint i = 0; i < whitelist.length; i++) {\n if (whitelist[i] == _address) {\n delete whitelist[i]; \n }\n }\n }\n\n function isOnWhiteList(address _address) public constant returns(bool) {\n for (uint i = 0; i < whitelist.length; i++) {\n if (whitelist[i] == _address) {\n return true;\n }\n }\n return false;\n }\n\n function transferFrom(address _from, address _to, uint256 _value) public onlyWhitelist returns (bool) {\n ParatiiToken token = ParatiiToken(registry.getContract(\"ParatiiToken\"));\n return token.transferFrom(_from, _to, _value);\n }\n}\n", + "sourcePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Avatar.sol", + "ast": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Avatar.sol", + "exportedSymbols": { + "Avatar": [ + 230 + ] + }, + "id": 231, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 32, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:1" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Registry.sol", + "file": "./Registry.sol", + "id": 33, + "nodeType": "ImportDirective", + "scope": 231, + "sourceUnit": 494, + "src": "25:24:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/ParatiiToken.sol", + "file": "./ParatiiToken.sol", + "id": 34, + "nodeType": "ImportDirective", + "scope": 231, + "sourceUnit": 269, + "src": "50:28:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 35, + "nodeType": "ImportDirective", + "scope": 231, + "sourceUnit": 1355, + "src": "79:59:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 36, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1354, + "src": "223:7:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$1354", + "typeString": "contract Ownable" + } + }, + "id": 37, + "nodeType": "InheritanceSpecifier", + "src": "223:7:1" + } + ], + "contractDependencies": [ + 1354 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 230, + "linearizedBaseContracts": [ + 230, + 1354 + ], + "name": "Avatar", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 39, + "name": "registry", + "nodeType": "VariableDeclaration", + "scope": 230, + "src": "237:24:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 38, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 493, + "src": "237:8:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 42, + "name": "whitelist", + "nodeType": "VariableDeclaration", + "scope": 230, + "src": "268:26:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 40, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "268:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 41, + "length": null, + "nodeType": "ArrayTypeName", + "src": "268:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 52, + "nodeType": "Block", + "src": "326:62:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 46, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "358:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "358:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 45, + "name": "isOnWhiteList", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 199, + "src": "344:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 48, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "344:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 44, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1752, + 1753 + ], + "referencedDeclaration": 1752, + "src": "336:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 49, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "336:34:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 50, + "nodeType": "ExpressionStatement", + "src": "336:34:1" + }, + { + "id": 51, + "nodeType": "PlaceholderStatement", + "src": "380:1:1" + } + ] + }, + "documentation": null, + "id": 53, + "name": "onlyWhitelist", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 43, + "nodeType": "ParameterList", + "parameters": [], + "src": "323:2:1" + }, + "src": "301:87:1", + "visibility": "internal" + }, + { + "body": { + "id": 67, + "nodeType": "Block", + "src": "433:65:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 60, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 58, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 39, + "src": "443:8:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 59, + "name": "_registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55, + "src": "454:9:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "src": "443:20:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "id": 61, + "nodeType": "ExpressionStatement", + "src": "443:20:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 65, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 62, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1302, + "src": "473:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 63, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "481:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 64, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "481:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "473:18:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 66, + "nodeType": "ExpressionStatement", + "src": "473:18:1" + } + ] + }, + "documentation": null, + "id": 68, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 56, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55, + "name": "_registry", + "nodeType": "VariableDeclaration", + "scope": 68, + "src": "406:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 54, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 493, + "src": "406:8:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "405:20:1" + }, + "payable": false, + "returnParameters": { + "id": 57, + "nodeType": "ParameterList", + "parameters": [], + "src": "433:0:1" + }, + "scope": 230, + "src": "394:104:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 133, + "nodeType": "Block", + "src": "563:537:1", + "statements": [ + { + "assignments": [ + 76 + ], + "declarations": [ + { + "constant": false, + "id": 76, + "name": "freeSpace", + "nodeType": "VariableDeclaration", + "scope": 134, + "src": "669:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "669:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 79, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 77, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "686:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 78, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "686:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "669:33:1" + }, + { + "body": { + "id": 112, + "nodeType": "Block", + "src": "756:184:1", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 95, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 91, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "774:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 93, + "indexExpression": { + "argumentTypes": null, + "id": 92, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "784:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "774:12:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 94, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70, + "src": "790:8:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "774:24:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 98, + "nodeType": "IfStatement", + "src": "770:69:1", + "trueBody": { + "id": 97, + "nodeType": "Block", + "src": "800:39:1", + "statements": [ + { + "expression": null, + "functionReturnParameters": 74, + "id": 96, + "nodeType": "Return", + "src": "818:7:1" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 99, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "856:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 101, + "indexExpression": { + "argumentTypes": null, + "id": 100, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "866:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "856:12:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 103, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "880:1:1", + "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": 102, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "872:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 104, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "872:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "856:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 111, + "nodeType": "IfStatement", + "src": "852:78:1", + "trueBody": { + "id": 110, + "nodeType": "Block", + "src": "884:46:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 106, + "name": "freeSpace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76, + "src": "902:9:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 107, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "914:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "902:13:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 109, + "nodeType": "ExpressionStatement", + "src": "902:13:1" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 87, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 84, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "729:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 85, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "733:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 86, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "733:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "729:20:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 113, + "initializationExpression": { + "assignments": [ + 81 + ], + "declarations": [ + { + "constant": false, + "id": 81, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 134, + "src": "717:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 80, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "717:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 83, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 82, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "726:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "717:10:1" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 89, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "751:3:1", + "subExpression": { + "argumentTypes": null, + "id": 88, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "751:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 90, + "nodeType": "ExpressionStatement", + "src": "751:3:1" + }, + "nodeType": "ForStatement", + "src": "712:228:1" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 114, + "name": "freeSpace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76, + "src": "953:9:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 115, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "966:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 116, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "966:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "953:29:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 131, + "nodeType": "Block", + "src": "1038:56:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 125, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1052:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 127, + "indexExpression": { + "argumentTypes": null, + "id": 126, + "name": "freeSpace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76, + "src": "1062:9:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1052:20:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 128, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70, + "src": "1075:8:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1052:31:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 130, + "nodeType": "ExpressionStatement", + "src": "1052:31:1" + } + ] + }, + "id": 132, + "nodeType": "IfStatement", + "src": "949:145:1", + "trueBody": { + "id": 124, + "nodeType": "Block", + "src": "983:49:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 121, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70, + "src": "1012:8:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 118, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "997:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "997:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) returns (uint256)" + } + }, + "id": 122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "997:24:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 123, + "nodeType": "ExpressionStatement", + "src": "997:24:1" + } + ] + } + } + ] + }, + "documentation": null, + "id": 134, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 73, + "modifierName": { + "argumentTypes": null, + "id": 72, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "553:9:1", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "553:9:1" + } + ], + "name": "addToWhitelist", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 71, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 70, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 134, + "src": "528:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 69, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "528:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "527:18:1" + }, + "payable": false, + "returnParameters": { + "id": 74, + "nodeType": "ParameterList", + "parameters": [], + "src": "563:0:1" + }, + "scope": 230, + "src": "504:596:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 166, + "nodeType": "Block", + "src": "1170:168:1", + "statements": [ + { + "body": { + "id": 164, + "nodeType": "Block", + "src": "1224:108:1", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 152, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1242:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 154, + "indexExpression": { + "argumentTypes": null, + "id": 153, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1252:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1242:12:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 155, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 136, + "src": "1258:8:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1242:24:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 163, + "nodeType": "IfStatement", + "src": "1238:84:1", + "trueBody": { + "id": 162, + "nodeType": "Block", + "src": "1268:54:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1286:19:1", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 157, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1293:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 159, + "indexExpression": { + "argumentTypes": null, + "id": 158, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1303:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1293:12:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 161, + "nodeType": "ExpressionStatement", + "src": "1286:19:1" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 145, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1197:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 146, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1201:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 147, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1201:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1197:20:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 165, + "initializationExpression": { + "assignments": [ + 142 + ], + "declarations": [ + { + "constant": false, + "id": 142, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 167, + "src": "1185:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 141, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1185:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 144, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 143, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1194:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1185:10:1" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1219:3:1", + "subExpression": { + "argumentTypes": null, + "id": 149, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1219:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 151, + "nodeType": "ExpressionStatement", + "src": "1219:3:1" + }, + "nodeType": "ForStatement", + "src": "1180:152:1" + } + ] + }, + "documentation": null, + "id": 167, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 139, + "modifierName": { + "argumentTypes": null, + "id": 138, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "1160:9:1", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1160:9:1" + } + ], + "name": "removeFromWhitelist", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 137, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 136, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 167, + "src": "1135:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 135, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1135:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1134:18:1" + }, + "payable": false, + "returnParameters": { + "id": 140, + "nodeType": "ParameterList", + "parameters": [], + "src": "1170:0:1" + }, + "scope": 230, + "src": "1106:232:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 198, + "nodeType": "Block", + "src": "1415:180:1", + "statements": [ + { + "body": { + "id": 194, + "nodeType": "Block", + "src": "1469:98:1", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 185, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1487:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 187, + "indexExpression": { + "argumentTypes": null, + "id": 186, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 175, + "src": "1497:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1487:12:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 188, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 169, + "src": "1503:8:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1487:24:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 193, + "nodeType": "IfStatement", + "src": "1483:74:1", + "trueBody": { + "id": 192, + "nodeType": "Block", + "src": "1513:44:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 190, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1538:4:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 173, + "id": 191, + "nodeType": "Return", + "src": "1531:11:1" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 178, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 175, + "src": "1442:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 179, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1446:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 180, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1446:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1442:20:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 195, + "initializationExpression": { + "assignments": [ + 175 + ], + "declarations": [ + { + "constant": false, + "id": 175, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 199, + "src": "1430:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 174, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1430:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 177, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 176, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1439:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1430:10:1" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1464:3:1", + "subExpression": { + "argumentTypes": null, + "id": 182, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 175, + "src": "1464:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 184, + "nodeType": "ExpressionStatement", + "src": "1464:3:1" + }, + "nodeType": "ForStatement", + "src": "1425:142:1" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 196, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1583:5:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 173, + "id": 197, + "nodeType": "Return", + "src": "1576:12:1" + } + ] + }, + "documentation": null, + "id": 199, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isOnWhiteList", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 170, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 169, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 199, + "src": "1367:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 168, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1367:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1366:18:1" + }, + "payable": false, + "returnParameters": { + "id": 173, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 172, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 199, + "src": "1409:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 171, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1409:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1408:6:1" + }, + "scope": 230, + "src": "1344:251:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 228, + "nodeType": "Block", + "src": "1705:143:1", + "statements": [ + { + "assignments": [ + 213 + ], + "declarations": [ + { + "constant": false, + "id": 213, + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 229, + "src": "1715:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$268", + "typeString": "contract ParatiiToken" + }, + "typeName": { + "contractScope": null, + "id": 212, + "name": "ParatiiToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 268, + "src": "1715:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$268", + "typeString": "contract ParatiiToken" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 220, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "50617261746969546f6b656e", + "id": 217, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1770:14:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7631507f3f7bc8a54ae4ffd3c749e7cce6ebb390bbd0a742160abd113aa9ca0c", + "typeString": "literal_string \"ParatiiToken\"" + }, + "value": "ParatiiToken" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7631507f3f7bc8a54ae4ffd3c749e7cce6ebb390bbd0a742160abd113aa9ca0c", + "typeString": "literal_string \"ParatiiToken\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 215, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 39, + "src": "1749:8:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "id": 216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 380, + "src": "1749:20:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory) view external returns (address)" + } + }, + "id": 218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1749:36:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 214, + "name": "ParatiiToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 268, + "src": "1736:12:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ParatiiToken_$268_$", + "typeString": "type(contract ParatiiToken)" + } + }, + "id": 219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1736:50:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$268", + "typeString": "contract ParatiiToken" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1715:71:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 223, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 201, + "src": "1822:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 224, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 203, + "src": "1829:3:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 225, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 205, + "src": "1834:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 221, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "1803:5:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$268", + "typeString": "contract ParatiiToken" + } + }, + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 1588, + "src": "1803:18:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1803:38:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 211, + "id": 227, + "nodeType": "Return", + "src": "1796:45:1" + } + ] + }, + "documentation": null, + "id": 229, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 208, + "modifierName": { + "argumentTypes": null, + "id": 207, + "name": "onlyWhitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 53, + "src": "1674:13:1", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1674:13:1" + } + ], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 201, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 229, + "src": "1623:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 200, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1623:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 203, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 229, + "src": "1638:11:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 202, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1638:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 205, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 229, + "src": "1651:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 204, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1651:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1622:44:1" + }, + "payable": false, + "returnParameters": { + "id": 211, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 210, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 229, + "src": "1697:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 209, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1697:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1696:6:1" + }, + "scope": 230, + "src": "1601:247:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 231, + "src": "204:1646:1" + } + ], + "src": "0:1851:1" + }, + "legacyAST": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Avatar.sol", + "exportedSymbols": { + "Avatar": [ + 230 + ] + }, + "id": 231, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 32, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:1" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Registry.sol", + "file": "./Registry.sol", + "id": 33, + "nodeType": "ImportDirective", + "scope": 231, + "sourceUnit": 494, + "src": "25:24:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/ParatiiToken.sol", + "file": "./ParatiiToken.sol", + "id": 34, + "nodeType": "ImportDirective", + "scope": 231, + "sourceUnit": 269, + "src": "50:28:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 35, + "nodeType": "ImportDirective", + "scope": 231, + "sourceUnit": 1355, + "src": "79:59:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 36, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1354, + "src": "223:7:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$1354", + "typeString": "contract Ownable" + } + }, + "id": 37, + "nodeType": "InheritanceSpecifier", + "src": "223:7:1" + } + ], + "contractDependencies": [ + 1354 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 230, + "linearizedBaseContracts": [ + 230, + 1354 + ], + "name": "Avatar", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 39, + "name": "registry", + "nodeType": "VariableDeclaration", + "scope": 230, + "src": "237:24:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 38, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 493, + "src": "237:8:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 42, + "name": "whitelist", + "nodeType": "VariableDeclaration", + "scope": 230, + "src": "268:26:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 40, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "268:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 41, + "length": null, + "nodeType": "ArrayTypeName", + "src": "268:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 52, + "nodeType": "Block", + "src": "326:62:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 46, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "358:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "358:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 45, + "name": "isOnWhiteList", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 199, + "src": "344:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 48, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "344:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 44, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1752, + 1753 + ], + "referencedDeclaration": 1752, + "src": "336:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 49, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "336:34:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 50, + "nodeType": "ExpressionStatement", + "src": "336:34:1" + }, + { + "id": 51, + "nodeType": "PlaceholderStatement", + "src": "380:1:1" + } + ] + }, + "documentation": null, + "id": 53, + "name": "onlyWhitelist", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 43, + "nodeType": "ParameterList", + "parameters": [], + "src": "323:2:1" + }, + "src": "301:87:1", + "visibility": "internal" + }, + { + "body": { + "id": 67, + "nodeType": "Block", + "src": "433:65:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 60, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 58, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 39, + "src": "443:8:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 59, + "name": "_registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55, + "src": "454:9:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "src": "443:20:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "id": 61, + "nodeType": "ExpressionStatement", + "src": "443:20:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 65, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 62, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1302, + "src": "473:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 63, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "481:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 64, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "481:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "473:18:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 66, + "nodeType": "ExpressionStatement", + "src": "473:18:1" + } + ] + }, + "documentation": null, + "id": 68, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 56, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 55, + "name": "_registry", + "nodeType": "VariableDeclaration", + "scope": 68, + "src": "406:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 54, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 493, + "src": "406:8:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "405:20:1" + }, + "payable": false, + "returnParameters": { + "id": 57, + "nodeType": "ParameterList", + "parameters": [], + "src": "433:0:1" + }, + "scope": 230, + "src": "394:104:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 133, + "nodeType": "Block", + "src": "563:537:1", + "statements": [ + { + "assignments": [ + 76 + ], + "declarations": [ + { + "constant": false, + "id": 76, + "name": "freeSpace", + "nodeType": "VariableDeclaration", + "scope": 134, + "src": "669:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "669:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 79, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 77, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "686:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 78, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "686:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "669:33:1" + }, + { + "body": { + "id": 112, + "nodeType": "Block", + "src": "756:184:1", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 95, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 91, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "774:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 93, + "indexExpression": { + "argumentTypes": null, + "id": 92, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "784:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "774:12:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 94, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70, + "src": "790:8:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "774:24:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 98, + "nodeType": "IfStatement", + "src": "770:69:1", + "trueBody": { + "id": 97, + "nodeType": "Block", + "src": "800:39:1", + "statements": [ + { + "expression": null, + "functionReturnParameters": 74, + "id": 96, + "nodeType": "Return", + "src": "818:7:1" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 99, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "856:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 101, + "indexExpression": { + "argumentTypes": null, + "id": 100, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "866:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "856:12:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 103, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "880:1:1", + "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": 102, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "872:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 104, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "872:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "856:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 111, + "nodeType": "IfStatement", + "src": "852:78:1", + "trueBody": { + "id": 110, + "nodeType": "Block", + "src": "884:46:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 106, + "name": "freeSpace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76, + "src": "902:9:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 107, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "914:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "902:13:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 109, + "nodeType": "ExpressionStatement", + "src": "902:13:1" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 87, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 84, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "729:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 85, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "733:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 86, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "733:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "729:20:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 113, + "initializationExpression": { + "assignments": [ + 81 + ], + "declarations": [ + { + "constant": false, + "id": 81, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 134, + "src": "717:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 80, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "717:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 83, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 82, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "726:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "717:10:1" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 89, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "751:3:1", + "subExpression": { + "argumentTypes": null, + "id": 88, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "751:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 90, + "nodeType": "ExpressionStatement", + "src": "751:3:1" + }, + "nodeType": "ForStatement", + "src": "712:228:1" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 114, + "name": "freeSpace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76, + "src": "953:9:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 115, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "966:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 116, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "966:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "953:29:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 131, + "nodeType": "Block", + "src": "1038:56:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 125, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1052:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 127, + "indexExpression": { + "argumentTypes": null, + "id": 126, + "name": "freeSpace", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76, + "src": "1062:9:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1052:20:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 128, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70, + "src": "1075:8:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1052:31:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 130, + "nodeType": "ExpressionStatement", + "src": "1052:31:1" + } + ] + }, + "id": 132, + "nodeType": "IfStatement", + "src": "949:145:1", + "trueBody": { + "id": 124, + "nodeType": "Block", + "src": "983:49:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 121, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70, + "src": "1012:8:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 118, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "997:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "997:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) returns (uint256)" + } + }, + "id": 122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "997:24:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 123, + "nodeType": "ExpressionStatement", + "src": "997:24:1" + } + ] + } + } + ] + }, + "documentation": null, + "id": 134, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 73, + "modifierName": { + "argumentTypes": null, + "id": 72, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "553:9:1", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "553:9:1" + } + ], + "name": "addToWhitelist", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 71, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 70, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 134, + "src": "528:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 69, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "528:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "527:18:1" + }, + "payable": false, + "returnParameters": { + "id": 74, + "nodeType": "ParameterList", + "parameters": [], + "src": "563:0:1" + }, + "scope": 230, + "src": "504:596:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 166, + "nodeType": "Block", + "src": "1170:168:1", + "statements": [ + { + "body": { + "id": 164, + "nodeType": "Block", + "src": "1224:108:1", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 152, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1242:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 154, + "indexExpression": { + "argumentTypes": null, + "id": 153, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1252:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1242:12:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 155, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 136, + "src": "1258:8:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1242:24:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 163, + "nodeType": "IfStatement", + "src": "1238:84:1", + "trueBody": { + "id": 162, + "nodeType": "Block", + "src": "1268:54:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1286:19:1", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 157, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1293:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 159, + "indexExpression": { + "argumentTypes": null, + "id": 158, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1303:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1293:12:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 161, + "nodeType": "ExpressionStatement", + "src": "1286:19:1" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 145, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1197:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 146, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1201:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 147, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1201:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1197:20:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 165, + "initializationExpression": { + "assignments": [ + 142 + ], + "declarations": [ + { + "constant": false, + "id": 142, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 167, + "src": "1185:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 141, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1185:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 144, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 143, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1194:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1185:10:1" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1219:3:1", + "subExpression": { + "argumentTypes": null, + "id": 149, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1219:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 151, + "nodeType": "ExpressionStatement", + "src": "1219:3:1" + }, + "nodeType": "ForStatement", + "src": "1180:152:1" + } + ] + }, + "documentation": null, + "id": 167, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 139, + "modifierName": { + "argumentTypes": null, + "id": 138, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "1160:9:1", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1160:9:1" + } + ], + "name": "removeFromWhitelist", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 137, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 136, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 167, + "src": "1135:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 135, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1135:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1134:18:1" + }, + "payable": false, + "returnParameters": { + "id": 140, + "nodeType": "ParameterList", + "parameters": [], + "src": "1170:0:1" + }, + "scope": 230, + "src": "1106:232:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 198, + "nodeType": "Block", + "src": "1415:180:1", + "statements": [ + { + "body": { + "id": 194, + "nodeType": "Block", + "src": "1469:98:1", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 185, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1487:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 187, + "indexExpression": { + "argumentTypes": null, + "id": 186, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 175, + "src": "1497:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1487:12:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 188, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 169, + "src": "1503:8:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1487:24:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 193, + "nodeType": "IfStatement", + "src": "1483:74:1", + "trueBody": { + "id": 192, + "nodeType": "Block", + "src": "1513:44:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 190, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1538:4:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 173, + "id": 191, + "nodeType": "Return", + "src": "1531:11:1" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 178, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 175, + "src": "1442:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 179, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1446:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 180, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1446:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1442:20:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 195, + "initializationExpression": { + "assignments": [ + 175 + ], + "declarations": [ + { + "constant": false, + "id": 175, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 199, + "src": "1430:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 174, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1430:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 177, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 176, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1439:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1430:10:1" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1464:3:1", + "subExpression": { + "argumentTypes": null, + "id": 182, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 175, + "src": "1464:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 184, + "nodeType": "ExpressionStatement", + "src": "1464:3:1" + }, + "nodeType": "ForStatement", + "src": "1425:142:1" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 196, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1583:5:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 173, + "id": 197, + "nodeType": "Return", + "src": "1576:12:1" + } + ] + }, + "documentation": null, + "id": 199, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isOnWhiteList", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 170, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 169, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 199, + "src": "1367:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 168, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1367:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1366:18:1" + }, + "payable": false, + "returnParameters": { + "id": 173, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 172, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 199, + "src": "1409:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 171, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1409:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1408:6:1" + }, + "scope": 230, + "src": "1344:251:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 228, + "nodeType": "Block", + "src": "1705:143:1", + "statements": [ + { + "assignments": [ + 213 + ], + "declarations": [ + { + "constant": false, + "id": 213, + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 229, + "src": "1715:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$268", + "typeString": "contract ParatiiToken" + }, + "typeName": { + "contractScope": null, + "id": 212, + "name": "ParatiiToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 268, + "src": "1715:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$268", + "typeString": "contract ParatiiToken" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 220, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "50617261746969546f6b656e", + "id": 217, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1770:14:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7631507f3f7bc8a54ae4ffd3c749e7cce6ebb390bbd0a742160abd113aa9ca0c", + "typeString": "literal_string \"ParatiiToken\"" + }, + "value": "ParatiiToken" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7631507f3f7bc8a54ae4ffd3c749e7cce6ebb390bbd0a742160abd113aa9ca0c", + "typeString": "literal_string \"ParatiiToken\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 215, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 39, + "src": "1749:8:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "id": 216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 380, + "src": "1749:20:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory) view external returns (address)" + } + }, + "id": 218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1749:36:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 214, + "name": "ParatiiToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 268, + "src": "1736:12:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ParatiiToken_$268_$", + "typeString": "type(contract ParatiiToken)" + } + }, + "id": 219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1736:50:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$268", + "typeString": "contract ParatiiToken" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1715:71:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 223, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 201, + "src": "1822:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 224, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 203, + "src": "1829:3:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 225, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 205, + "src": "1834:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 221, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "1803:5:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$268", + "typeString": "contract ParatiiToken" + } + }, + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 1588, + "src": "1803:18:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1803:38:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 211, + "id": 227, + "nodeType": "Return", + "src": "1796:45:1" + } + ] + }, + "documentation": null, + "id": 229, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 208, + "modifierName": { + "argumentTypes": null, + "id": 207, + "name": "onlyWhitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 53, + "src": "1674:13:1", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1674:13:1" + } + ], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 201, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 229, + "src": "1623:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 200, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1623:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 203, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 229, + "src": "1638:11:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 202, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1638:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 205, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 229, + "src": "1651:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 204, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1651:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1622:44:1" + }, + "payable": false, + "returnParameters": { + "id": 211, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 210, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 229, + "src": "1697:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 209, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1697:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1696:6:1" + }, + "scope": 230, + "src": "1601:247:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 231, + "src": "204:1646:1" + } + ], + "src": "0:1851:1" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-29T16:30:42.895Z" +} \ No newline at end of file diff --git a/build/contracts/BasicToken.json b/build/contracts/BasicToken.json index a31b559..2a68b14 100644 --- a/build/contracts/BasicToken.json +++ b/build/contracts/BasicToken.json @@ -1 +1,2102 @@ -{"contractName":"BasicToken","abi":[{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b6103b48061001e6000396000f300606060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610085578063a9059cbb146100d2575b600080fd5b341561006757600080fd5b61006f61012c565b6040518082815260200191505060405180910390f35b341561009057600080fd5b6100bc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610132565b6040518082815260200191505060405180910390f35b34156100dd57600080fd5b610112600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061017b565b604051808215151515815260200191505060405180910390f35b60005481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101b857600080fd5b61020a82600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461035190919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061029f82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461036a90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600082821115151561035f57fe5b818303905092915050565b600080828401905083811015151561037e57fe5b80915050929150505600a165627a7a72305820503884cd538869f708318ad1360d9d7802d72faea158a6a8ca9d84316256b2600029","deployedBytecode":"0x606060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610085578063a9059cbb146100d2575b600080fd5b341561006757600080fd5b61006f61012c565b6040518082815260200191505060405180910390f35b341561009057600080fd5b6100bc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610132565b6040518082815260200191505060405180910390f35b34156100dd57600080fd5b610112600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061017b565b604051808215151515815260200191505060405180910390f35b60005481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101b857600080fd5b61020a82600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461035190919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061029f82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461036a90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600082821115151561035f57fe5b818303905092915050565b600080828401905083811015151561037e57fe5b80915050929150505600a165627a7a72305820503884cd538869f708318ad1360d9d7802d72faea158a6a8ca9d84316256b2600029"} \ No newline at end of file +{ + "contractName": "BasicToken", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506103cb806100206000396000f300608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610087578063a9059cbb146100de575b600080fd5b34801561006857600080fd5b50610071610143565b6040518082815260200191505060405180910390f35b34801561009357600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610149565b6040518082815260200191505060405180910390f35b3480156100ea57600080fd5b50610129600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610192565b604051808215151515815260200191505060405180910390f35b60005481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101cf57600080fd5b61022182600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461036890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506102b682600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461038190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600082821115151561037657fe5b818303905092915050565b600080828401905083811015151561039557fe5b80915050929150505600a165627a7a72305820e2abe99ffd7ce9c87c8f0f465754a73faae1e978eeb84c2baa8e6f966b73ac190029", + "deployedBytecode": "0x608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610087578063a9059cbb146100de575b600080fd5b34801561006857600080fd5b50610071610143565b6040518082815260200191505060405180910390f35b34801561009357600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610149565b6040518082815260200191505060405180910390f35b3480156100ea57600080fd5b50610129600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610192565b604051808215151515815260200191505060405180910390f35b60005481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101cf57600080fd5b61022182600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461036890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506102b682600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461038190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600082821115151561037657fe5b818303905092915050565b600080828401905083811015151561039557fe5b80915050929150505600a165627a7a72305820e2abe99ffd7ce9c87c8f0f465754a73faae1e978eeb84c2baa8e6f966b73ac190029", + "sourceMap": "177:910:10:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;177:910:10;;;;;;;", + "deployedSourceMap": "177:910:10:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;179:26:12;;8:9:-1;5:2;;;30:1;27;20:12;5:2;179:26:12;;;;;;;;;;;;;;;;;;;;;;;973:111:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;973:111:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;437:334;;8:9:-1;5:2;;;30:1;27;20:12;5:2;437:334:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;179:26:12;;;;:::o;973:111:10:-;1033:15;1063:8;:16;1072:6;1063:16;;;;;;;;;;;;;;;;1056:23;;973:111;;;:::o;437:334::-;500:4;535:1;520:17;;:3;:17;;;;512:26;;;;;;;;631:32;656:6;631:8;:20;640:10;631:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;608:8;:20;617:10;608:20;;;;;;;;;;;;;;;:55;;;;685:25;703:6;685:8;:13;694:3;685:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;669:8;:13;678:3;669:13;;;;;;;;;;;;;;;:41;;;;737:3;716:33;;725:10;716:33;;;742:6;716:33;;;;;;;;;;;;;;;;;;762:4;755:11;;437:334;;;;:::o;562:114:8:-;624:7;651:1;646;:6;;639:14;;;;;;670:1;666;:5;659:12;;562:114;;;;:::o;680:133::-;742:7;757:9;773:1;769;:5;757:17;;792:1;787;:6;;780:14;;;;;;807:1;800:8;;680:133;;;;;:::o", + "source": "pragma solidity ^0.4.11;\n\n\nimport './ERC20Basic.sol';\nimport '../math/SafeMath.sol';\n\n\n/**\n * @title Basic token\n * @dev Basic version of StandardToken, with no allowances.\n */\ncontract BasicToken is ERC20Basic {\n using SafeMath for uint256;\n\n mapping(address => uint256) balances;\n\n /**\n * @dev transfer token for a specified address\n * @param _to The address to transfer to.\n * @param _value The amount to be transferred.\n */\n function transfer(address _to, uint256 _value) public returns (bool) {\n require(_to != address(0));\n\n // SafeMath.sub will throw if there is not enough balance.\n balances[msg.sender] = balances[msg.sender].sub(_value);\n balances[_to] = balances[_to].add(_value);\n Transfer(msg.sender, _to, _value);\n return true;\n }\n\n /**\n * @dev Gets the balance of the specified address.\n * @param _owner The address to query the the balance of.\n * @return An uint256 representing the amount owned by the passed address.\n */\n function balanceOf(address _owner) public constant returns (uint256 balance) {\n return balances[_owner];\n }\n\n}\n", + "sourcePath": "zeppelin-solidity/contracts/token/BasicToken.sol", + "ast": { + "absolutePath": "zeppelin-solidity/contracts/token/BasicToken.sol", + "exportedSymbols": { + "BasicToken": [ + 1431 + ] + }, + "id": 1432, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1356, + "literals": [ + "solidity", + "^", + "0.4", + ".11" + ], + "nodeType": "PragmaDirective", + "src": "0:24:10" + }, + { + "absolutePath": "zeppelin-solidity/contracts/token/ERC20Basic.sol", + "file": "./ERC20Basic.sol", + "id": 1357, + "nodeType": "ImportDirective", + "scope": 1432, + "sourceUnit": 1504, + "src": "27:26:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "zeppelin-solidity/contracts/math/SafeMath.sol", + "file": "../math/SafeMath.sol", + "id": 1358, + "nodeType": "ImportDirective", + "scope": 1432, + "sourceUnit": 1299, + "src": "54:30:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1359, + "name": "ERC20Basic", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1503, + "src": "200:10:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20Basic_$1503", + "typeString": "contract ERC20Basic" + } + }, + "id": 1360, + "nodeType": "InheritanceSpecifier", + "src": "200:10:10" + } + ], + "contractDependencies": [ + 1503 + ], + "contractKind": "contract", + "documentation": "@title Basic token\n@dev Basic version of StandardToken, with no allowances.", + "fullyImplemented": true, + "id": 1431, + "linearizedBaseContracts": [ + 1431, + 1503 + ], + "name": "BasicToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 1363, + "libraryName": { + "contractScope": null, + "id": 1361, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1298, + "src": "221:8:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$1298", + "typeString": "library SafeMath" + } + }, + "nodeType": "UsingForDirective", + "src": "215:27:10", + "typeName": { + "id": 1362, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "234:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 1367, + "name": "balances", + "nodeType": "VariableDeclaration", + "scope": 1431, + "src": "246:36:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 1366, + "keyType": { + "id": 1364, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "254:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "246:27:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 1365, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "265:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 1417, + "nodeType": "Block", + "src": "506:265:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1377, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "520:3:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1379, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "535:1:10", + "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": 1378, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "527:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "527:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "520:17:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1376, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1752, + 1753 + ], + "referencedDeclaration": 1752, + "src": "512:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "512:26:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1383, + "nodeType": "ExpressionStatement", + "src": "512:26:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 1395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1384, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "608:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1387, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1385, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "617:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "617:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "608:20:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1393, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1371, + "src": "656:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1388, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "631:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1391, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1389, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "640:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "640:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "631:20:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 1273, + "src": "631:24:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) view returns (uint256)" + } + }, + "id": 1394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "631:32:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "608:55:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1396, + "nodeType": "ExpressionStatement", + "src": "608:55:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 1406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1397, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "669:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1399, + "indexExpression": { + "argumentTypes": null, + "id": 1398, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "678:3:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "669:13:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1404, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1371, + "src": "703:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1400, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "685:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1402, + "indexExpression": { + "argumentTypes": null, + "id": 1401, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "694:3:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "685:13:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 1297, + "src": "685:17:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) view returns (uint256)" + } + }, + "id": 1405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "685:25:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "669:41:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1407, + "nodeType": "ExpressionStatement", + "src": "669:41:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1409, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "725:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "725:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1411, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "737:3:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1412, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1371, + "src": "742:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1408, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1502, + "src": "716:8:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "716:33:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1414, + "nodeType": "ExpressionStatement", + "src": "716:33:10" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1415, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "762:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1375, + "id": 1416, + "nodeType": "Return", + "src": "755:11:10" + } + ] + }, + "documentation": "@dev transfer token for a specified address\n@param _to The address to transfer to.\n@param _value The amount to be transferred.", + "id": 1418, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1372, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1369, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 1418, + "src": "455:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1368, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "455:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1371, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 1418, + "src": "468:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1370, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "468:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "454:29:10" + }, + "payable": false, + "returnParameters": { + "id": 1375, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1374, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1418, + "src": "500:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1373, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "500:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "499:6:10" + }, + "scope": 1431, + "src": "437:334:10", + "stateMutability": "nonpayable", + "superFunction": 1494, + "visibility": "public" + }, + { + "body": { + "id": 1429, + "nodeType": "Block", + "src": "1050:34:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1425, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "1063:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1427, + "indexExpression": { + "argumentTypes": null, + "id": 1426, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1420, + "src": "1072:6:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1063:16:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1424, + "id": 1428, + "nodeType": "Return", + "src": "1056:23:10" + } + ] + }, + "documentation": "@dev Gets the balance of the specified address.\n@param _owner The address to query the the balance of.\n@return An uint256 representing the amount owned by the passed address.", + "id": 1430, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1421, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1420, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 1430, + "src": "992:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1419, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "992:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "991:16:10" + }, + "payable": false, + "returnParameters": { + "id": 1424, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1423, + "name": "balance", + "nodeType": "VariableDeclaration", + "scope": 1430, + "src": "1033:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1422, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1033:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1032:17:10" + }, + "scope": 1431, + "src": "973:111:10", + "stateMutability": "view", + "superFunction": 1485, + "visibility": "public" + } + ], + "scope": 1432, + "src": "177:910:10" + } + ], + "src": "0:1088:10" + }, + "legacyAST": { + "absolutePath": "zeppelin-solidity/contracts/token/BasicToken.sol", + "exportedSymbols": { + "BasicToken": [ + 1431 + ] + }, + "id": 1432, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1356, + "literals": [ + "solidity", + "^", + "0.4", + ".11" + ], + "nodeType": "PragmaDirective", + "src": "0:24:10" + }, + { + "absolutePath": "zeppelin-solidity/contracts/token/ERC20Basic.sol", + "file": "./ERC20Basic.sol", + "id": 1357, + "nodeType": "ImportDirective", + "scope": 1432, + "sourceUnit": 1504, + "src": "27:26:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "zeppelin-solidity/contracts/math/SafeMath.sol", + "file": "../math/SafeMath.sol", + "id": 1358, + "nodeType": "ImportDirective", + "scope": 1432, + "sourceUnit": 1299, + "src": "54:30:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1359, + "name": "ERC20Basic", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1503, + "src": "200:10:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20Basic_$1503", + "typeString": "contract ERC20Basic" + } + }, + "id": 1360, + "nodeType": "InheritanceSpecifier", + "src": "200:10:10" + } + ], + "contractDependencies": [ + 1503 + ], + "contractKind": "contract", + "documentation": "@title Basic token\n@dev Basic version of StandardToken, with no allowances.", + "fullyImplemented": true, + "id": 1431, + "linearizedBaseContracts": [ + 1431, + 1503 + ], + "name": "BasicToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 1363, + "libraryName": { + "contractScope": null, + "id": 1361, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1298, + "src": "221:8:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$1298", + "typeString": "library SafeMath" + } + }, + "nodeType": "UsingForDirective", + "src": "215:27:10", + "typeName": { + "id": 1362, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "234:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 1367, + "name": "balances", + "nodeType": "VariableDeclaration", + "scope": 1431, + "src": "246:36:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 1366, + "keyType": { + "id": 1364, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "254:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "246:27:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 1365, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "265:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 1417, + "nodeType": "Block", + "src": "506:265:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1377, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "520:3:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1379, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "535:1:10", + "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": 1378, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "527:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "527:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "520:17:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1376, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1752, + 1753 + ], + "referencedDeclaration": 1752, + "src": "512:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "512:26:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1383, + "nodeType": "ExpressionStatement", + "src": "512:26:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 1395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1384, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "608:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1387, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1385, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "617:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "617:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "608:20:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1393, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1371, + "src": "656:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1388, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "631:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1391, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1389, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "640:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "640:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "631:20:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 1273, + "src": "631:24:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) view returns (uint256)" + } + }, + "id": 1394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "631:32:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "608:55:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1396, + "nodeType": "ExpressionStatement", + "src": "608:55:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 1406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1397, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "669:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1399, + "indexExpression": { + "argumentTypes": null, + "id": 1398, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "678:3:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "669:13:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1404, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1371, + "src": "703:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1400, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "685:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1402, + "indexExpression": { + "argumentTypes": null, + "id": 1401, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "694:3:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "685:13:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 1297, + "src": "685:17:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) view returns (uint256)" + } + }, + "id": 1405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "685:25:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "669:41:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1407, + "nodeType": "ExpressionStatement", + "src": "669:41:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1409, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "725:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "725:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1411, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "737:3:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1412, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1371, + "src": "742:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1408, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1502, + "src": "716:8:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "716:33:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1414, + "nodeType": "ExpressionStatement", + "src": "716:33:10" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1415, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "762:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1375, + "id": 1416, + "nodeType": "Return", + "src": "755:11:10" + } + ] + }, + "documentation": "@dev transfer token for a specified address\n@param _to The address to transfer to.\n@param _value The amount to be transferred.", + "id": 1418, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1372, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1369, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 1418, + "src": "455:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1368, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "455:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1371, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 1418, + "src": "468:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1370, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "468:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "454:29:10" + }, + "payable": false, + "returnParameters": { + "id": 1375, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1374, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1418, + "src": "500:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1373, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "500:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "499:6:10" + }, + "scope": 1431, + "src": "437:334:10", + "stateMutability": "nonpayable", + "superFunction": 1494, + "visibility": "public" + }, + { + "body": { + "id": 1429, + "nodeType": "Block", + "src": "1050:34:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1425, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "1063:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1427, + "indexExpression": { + "argumentTypes": null, + "id": 1426, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1420, + "src": "1072:6:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1063:16:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1424, + "id": 1428, + "nodeType": "Return", + "src": "1056:23:10" + } + ] + }, + "documentation": "@dev Gets the balance of the specified address.\n@param _owner The address to query the the balance of.\n@return An uint256 representing the amount owned by the passed address.", + "id": 1430, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1421, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1420, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 1430, + "src": "992:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1419, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "992:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "991:16:10" + }, + "payable": false, + "returnParameters": { + "id": 1424, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1423, + "name": "balance", + "nodeType": "VariableDeclaration", + "scope": 1430, + "src": "1033:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1422, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1033:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1032:17:10" + }, + "scope": 1431, + "src": "973:111:10", + "stateMutability": "view", + "superFunction": 1485, + "visibility": "public" + } + ], + "scope": 1432, + "src": "177:910:10" + } + ], + "src": "0:1088:10" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-29T16:30:42.884Z" +} \ No newline at end of file diff --git a/build/contracts/Debug.json b/build/contracts/Debug.json index 09181ee..be1171e 100644 --- a/build/contracts/Debug.json +++ b/build/contracts/Debug.json @@ -1 +1,772 @@ -{"contractName":"Debug","abi":[{"anonymous":false,"inputs":[{"indexed":false,"name":"_msg","type":"address"}],"name":"LogAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_msg","type":"int256"}],"name":"LogInt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_msg","type":"string"}],"name":"LogString","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_msg","type":"uint256"}],"name":"LogUint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_msg","type":"bytes"}],"name":"LogBytes","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_msg","type":"bytes32"}],"name":"LogBytes32","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_msg","type":"bool"}],"name":"LogBool","type":"event"}],"bytecode":"0x60606040523415600e57600080fd5b603580601b6000396000f3006060604052600080fd00a165627a7a723058200e921971805e66deac6348c8e3a75decb0312b430842305c124027ed13eb82570029","deployedBytecode":"0x6060604052600080fd00a165627a7a723058200e921971805e66deac6348c8e3a75decb0312b430842305c124027ed13eb82570029"} \ No newline at end of file +{ + "contractName": "Debug", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "address" + } + ], + "name": "LogAddress", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "int256" + } + ], + "name": "LogInt", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "string" + } + ], + "name": "LogString", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "uint256" + } + ], + "name": "LogUint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "bytes" + } + ], + "name": "LogBytes", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "bytes32" + } + ], + "name": "LogBytes32", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "bool" + } + ], + "name": "LogBool", + "type": "event" + } + ], + "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a7230582053eeffca3caac2995eecb107ee58a27011502daf2fa7cdfebb031fc80f68fb470029", + "deployedBytecode": "0x6080604052600080fd00a165627a7a7230582053eeffca3caac2995eecb107ee58a27011502daf2fa7cdfebb031fc80f68fb470029", + "sourceMap": "117:244:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;117:244:0;;;;;;;", + "deployedSourceMap": "117:244:0:-;;;;;", + "source": "pragma solidity ^0.4.18;\n\n/*\n A contract you can inherit from that has some useful Events to print statements.\n*/\ncontract Debug {\n event LogAddress(address _msg);\n event LogInt(int _msg);\n event LogString(string _msg);\n event LogUint(uint _msg);\n event LogBytes(bytes _msg);\n event LogBytes32(bytes32 _msg);\n event LogBool(bool _msg);\n}\n", + "sourcePath": "/home/ubuntu/workspace/paratii-contracts/contracts/debug/Debug.sol", + "ast": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/debug/Debug.sol", + "exportedSymbols": { + "Debug": [ + 30 + ] + }, + "id": 31, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:0" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 30, + "linearizedBaseContracts": [ + 30 + ], + "name": "Debug", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 5, + "name": "LogAddress", + "nodeType": "EventDefinition", + "parameters": { + "id": 4, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3, + "indexed": false, + "name": "_msg", + "nodeType": "VariableDeclaration", + "scope": 5, + "src": "155:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "155:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "154:14:0" + }, + "src": "138:31:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 9, + "name": "LogInt", + "nodeType": "EventDefinition", + "parameters": { + "id": 8, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7, + "indexed": false, + "name": "_msg", + "nodeType": "VariableDeclaration", + "scope": 9, + "src": "187:8:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 6, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "187:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "186:10:0" + }, + "src": "174:23:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 13, + "name": "LogString", + "nodeType": "EventDefinition", + "parameters": { + "id": 12, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11, + "indexed": false, + "name": "_msg", + "nodeType": "VariableDeclaration", + "scope": 13, + "src": "218:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "218:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "217:13:0" + }, + "src": "202:29:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 17, + "name": "LogUint", + "nodeType": "EventDefinition", + "parameters": { + "id": 16, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15, + "indexed": false, + "name": "_msg", + "nodeType": "VariableDeclaration", + "scope": 17, + "src": "250:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "250:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "249:11:0" + }, + "src": "236:25:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 21, + "name": "LogBytes", + "nodeType": "EventDefinition", + "parameters": { + "id": 20, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19, + "indexed": false, + "name": "_msg", + "nodeType": "VariableDeclaration", + "scope": 21, + "src": "281:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 18, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "281:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "280:12:0" + }, + "src": "266:27:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 25, + "name": "LogBytes32", + "nodeType": "EventDefinition", + "parameters": { + "id": 24, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23, + "indexed": false, + "name": "_msg", + "nodeType": "VariableDeclaration", + "scope": 25, + "src": "315:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "315:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "314:14:0" + }, + "src": "298:31:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 29, + "name": "LogBool", + "nodeType": "EventDefinition", + "parameters": { + "id": 28, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27, + "indexed": false, + "name": "_msg", + "nodeType": "VariableDeclaration", + "scope": 29, + "src": "348:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "348:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "347:11:0" + }, + "src": "334:25:0" + } + ], + "scope": 31, + "src": "117:244:0" + } + ], + "src": "0:362:0" + }, + "legacyAST": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/debug/Debug.sol", + "exportedSymbols": { + "Debug": [ + 30 + ] + }, + "id": 31, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:0" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 30, + "linearizedBaseContracts": [ + 30 + ], + "name": "Debug", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 5, + "name": "LogAddress", + "nodeType": "EventDefinition", + "parameters": { + "id": 4, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3, + "indexed": false, + "name": "_msg", + "nodeType": "VariableDeclaration", + "scope": 5, + "src": "155:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "155:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "154:14:0" + }, + "src": "138:31:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 9, + "name": "LogInt", + "nodeType": "EventDefinition", + "parameters": { + "id": 8, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7, + "indexed": false, + "name": "_msg", + "nodeType": "VariableDeclaration", + "scope": 9, + "src": "187:8:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 6, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "187:3:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "186:10:0" + }, + "src": "174:23:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 13, + "name": "LogString", + "nodeType": "EventDefinition", + "parameters": { + "id": 12, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11, + "indexed": false, + "name": "_msg", + "nodeType": "VariableDeclaration", + "scope": 13, + "src": "218:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "218:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "217:13:0" + }, + "src": "202:29:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 17, + "name": "LogUint", + "nodeType": "EventDefinition", + "parameters": { + "id": 16, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15, + "indexed": false, + "name": "_msg", + "nodeType": "VariableDeclaration", + "scope": 17, + "src": "250:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "250:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "249:11:0" + }, + "src": "236:25:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 21, + "name": "LogBytes", + "nodeType": "EventDefinition", + "parameters": { + "id": 20, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19, + "indexed": false, + "name": "_msg", + "nodeType": "VariableDeclaration", + "scope": 21, + "src": "281:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 18, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "281:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "280:12:0" + }, + "src": "266:27:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 25, + "name": "LogBytes32", + "nodeType": "EventDefinition", + "parameters": { + "id": 24, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23, + "indexed": false, + "name": "_msg", + "nodeType": "VariableDeclaration", + "scope": 25, + "src": "315:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "315:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "314:14:0" + }, + "src": "298:31:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 29, + "name": "LogBool", + "nodeType": "EventDefinition", + "parameters": { + "id": 28, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27, + "indexed": false, + "name": "_msg", + "nodeType": "VariableDeclaration", + "scope": 29, + "src": "348:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "348:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "347:11:0" + }, + "src": "334:25:0" + } + ], + "scope": 31, + "src": "117:244:0" + } + ], + "src": "0:362:0" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-29T16:30:42.866Z" +} \ No newline at end of file diff --git a/build/contracts/ERC20.json b/build/contracts/ERC20.json index c75d4d5..67d4a44 100644 --- a/build/contracts/ERC20.json +++ b/build/contracts/ERC20.json @@ -1 +1,1237 @@ -{"contractName":"ERC20","abi":[{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x","deployedBytecode":"0x"} \ No newline at end of file +{ + "contractName": "ERC20", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "who", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "to", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "constant": true, + "inputs": [ + { + "name": "owner", + "type": "address" + }, + { + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "from", + "type": "address" + }, + { + "name": "to", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "spender", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.4.11;\n\n\nimport './ERC20Basic.sol';\n\n\n/**\n * @title ERC20 interface\n * @dev see https://github.com/ethereum/EIPs/issues/20\n */\ncontract ERC20 is ERC20Basic {\n function allowance(address owner, address spender) public constant returns (uint256);\n function transferFrom(address from, address to, uint256 value) public returns (bool);\n function approve(address spender, uint256 value) public returns (bool);\n event Approval(address indexed owner, address indexed spender, uint256 value);\n}\n", + "sourcePath": "zeppelin-solidity/contracts/token/ERC20.sol", + "ast": { + "absolutePath": "zeppelin-solidity/contracts/token/ERC20.sol", + "exportedSymbols": { + "ERC20": [ + 1474 + ] + }, + "id": 1475, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1433, + "literals": [ + "solidity", + "^", + "0.4", + ".11" + ], + "nodeType": "PragmaDirective", + "src": "0:24:11" + }, + { + "absolutePath": "zeppelin-solidity/contracts/token/ERC20Basic.sol", + "file": "./ERC20Basic.sol", + "id": 1434, + "nodeType": "ImportDirective", + "scope": 1475, + "sourceUnit": 1504, + "src": "27:26:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1435, + "name": "ERC20Basic", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1503, + "src": "163:10:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20Basic_$1503", + "typeString": "contract ERC20Basic" + } + }, + "id": 1436, + "nodeType": "InheritanceSpecifier", + "src": "163:10:11" + } + ], + "contractDependencies": [ + 1503 + ], + "contractKind": "contract", + "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", + "fullyImplemented": false, + "id": 1474, + "linearizedBaseContracts": [ + 1474, + 1503 + ], + "name": "ERC20", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 1445, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1441, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1438, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1445, + "src": "197:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1437, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "197:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1440, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 1445, + "src": "212:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1439, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "212:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "196:32:11" + }, + "payable": false, + "returnParameters": { + "id": 1444, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1443, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1445, + "src": "254:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1442, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "254:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "253:9:11" + }, + "scope": 1474, + "src": "178:85:11", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 1456, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1452, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1447, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 1456, + "src": "288:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1446, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "288:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1449, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1456, + "src": "302:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1448, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "302:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1451, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1456, + "src": "314:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1450, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "314:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "287:41:11" + }, + "payable": false, + "returnParameters": { + "id": 1455, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1454, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1456, + "src": "345:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1453, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "345:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "344:6:11" + }, + "scope": 1474, + "src": "266:85:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 1465, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1461, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1458, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 1465, + "src": "371:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1457, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "371:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1460, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1465, + "src": "388:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1459, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "388:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "370:32:11" + }, + "payable": false, + "returnParameters": { + "id": 1464, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1463, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1465, + "src": "419:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1462, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "419:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "418:6:11" + }, + "scope": 1474, + "src": "354:71:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 1473, + "name": "Approval", + "nodeType": "EventDefinition", + "parameters": { + "id": 1472, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1467, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1473, + "src": "443:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1466, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "443:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1469, + "indexed": true, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 1473, + "src": "466:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1468, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "466:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1471, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1473, + "src": "491:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1470, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "491:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "442:63:11" + }, + "src": "428:78:11" + } + ], + "scope": 1475, + "src": "145:363:11" + } + ], + "src": "0:509:11" + }, + "legacyAST": { + "absolutePath": "zeppelin-solidity/contracts/token/ERC20.sol", + "exportedSymbols": { + "ERC20": [ + 1474 + ] + }, + "id": 1475, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1433, + "literals": [ + "solidity", + "^", + "0.4", + ".11" + ], + "nodeType": "PragmaDirective", + "src": "0:24:11" + }, + { + "absolutePath": "zeppelin-solidity/contracts/token/ERC20Basic.sol", + "file": "./ERC20Basic.sol", + "id": 1434, + "nodeType": "ImportDirective", + "scope": 1475, + "sourceUnit": 1504, + "src": "27:26:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1435, + "name": "ERC20Basic", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1503, + "src": "163:10:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20Basic_$1503", + "typeString": "contract ERC20Basic" + } + }, + "id": 1436, + "nodeType": "InheritanceSpecifier", + "src": "163:10:11" + } + ], + "contractDependencies": [ + 1503 + ], + "contractKind": "contract", + "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", + "fullyImplemented": false, + "id": 1474, + "linearizedBaseContracts": [ + 1474, + 1503 + ], + "name": "ERC20", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 1445, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1441, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1438, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1445, + "src": "197:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1437, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "197:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1440, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 1445, + "src": "212:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1439, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "212:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "196:32:11" + }, + "payable": false, + "returnParameters": { + "id": 1444, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1443, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1445, + "src": "254:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1442, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "254:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "253:9:11" + }, + "scope": 1474, + "src": "178:85:11", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 1456, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1452, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1447, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 1456, + "src": "288:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1446, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "288:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1449, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1456, + "src": "302:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1448, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "302:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1451, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1456, + "src": "314:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1450, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "314:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "287:41:11" + }, + "payable": false, + "returnParameters": { + "id": 1455, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1454, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1456, + "src": "345:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1453, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "345:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "344:6:11" + }, + "scope": 1474, + "src": "266:85:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 1465, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1461, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1458, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 1465, + "src": "371:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1457, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "371:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1460, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1465, + "src": "388:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1459, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "388:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "370:32:11" + }, + "payable": false, + "returnParameters": { + "id": 1464, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1463, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1465, + "src": "419:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1462, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "419:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "418:6:11" + }, + "scope": 1474, + "src": "354:71:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 1473, + "name": "Approval", + "nodeType": "EventDefinition", + "parameters": { + "id": 1472, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1467, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1473, + "src": "443:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1466, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "443:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1469, + "indexed": true, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 1473, + "src": "466:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1468, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "466:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1471, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1473, + "src": "491:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1470, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "491:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "442:63:11" + }, + "src": "428:78:11" + } + ], + "scope": 1475, + "src": "145:363:11" + } + ], + "src": "0:509:11" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-29T16:30:42.878Z" +} \ No newline at end of file diff --git a/build/contracts/ERC20Basic.json b/build/contracts/ERC20Basic.json index be46911..ade9076 100644 --- a/build/contracts/ERC20Basic.json +++ b/build/contracts/ERC20Basic.json @@ -1 +1,806 @@ -{"contractName":"ERC20Basic","abi":[{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x","deployedBytecode":"0x"} \ No newline at end of file +{ + "contractName": "ERC20Basic", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "constant": true, + "inputs": [ + { + "name": "who", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "to", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.4.11;\n\n\n/**\n * @title ERC20Basic\n * @dev Simpler version of ERC20 interface\n * @dev see https://github.com/ethereum/EIPs/issues/179\n */\ncontract ERC20Basic {\n uint256 public totalSupply;\n function balanceOf(address who) public constant returns (uint256);\n function transfer(address to, uint256 value) public returns (bool);\n event Transfer(address indexed from, address indexed to, uint256 value);\n}\n", + "sourcePath": "zeppelin-solidity/contracts/token/ERC20Basic.sol", + "ast": { + "absolutePath": "zeppelin-solidity/contracts/token/ERC20Basic.sol", + "exportedSymbols": { + "ERC20Basic": [ + 1503 + ] + }, + "id": 1504, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1476, + "literals": [ + "solidity", + "^", + "0.4", + ".11" + ], + "nodeType": "PragmaDirective", + "src": "0:24:12" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title ERC20Basic\n@dev Simpler version of ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/179", + "fullyImplemented": false, + "id": 1503, + "linearizedBaseContracts": [ + 1503 + ], + "name": "ERC20Basic", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 1478, + "name": "totalSupply", + "nodeType": "VariableDeclaration", + "scope": 1503, + "src": "179:26:12", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1477, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "179:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 1485, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1481, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1480, + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 1485, + "src": "228:11:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1479, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "228:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "227:13:12" + }, + "payable": false, + "returnParameters": { + "id": 1484, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1483, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1485, + "src": "266:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1482, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "266:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "265:9:12" + }, + "scope": 1503, + "src": "209:66:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 1494, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1490, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1487, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1494, + "src": "296:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1486, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "296:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1489, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1494, + "src": "308:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1488, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "308:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "295:27:12" + }, + "payable": false, + "returnParameters": { + "id": 1493, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1492, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1494, + "src": "339:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1491, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "339:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "338:6:12" + }, + "scope": 1503, + "src": "278:67:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 1502, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "id": 1501, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1496, + "indexed": true, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 1502, + "src": "363:20:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1495, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "363:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1498, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1502, + "src": "385:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1497, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "385:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1500, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1502, + "src": "405:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1499, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "405:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "362:57:12" + }, + "src": "348:72:12" + } + ], + "scope": 1504, + "src": "155:267:12" + } + ], + "src": "0:423:12" + }, + "legacyAST": { + "absolutePath": "zeppelin-solidity/contracts/token/ERC20Basic.sol", + "exportedSymbols": { + "ERC20Basic": [ + 1503 + ] + }, + "id": 1504, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1476, + "literals": [ + "solidity", + "^", + "0.4", + ".11" + ], + "nodeType": "PragmaDirective", + "src": "0:24:12" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title ERC20Basic\n@dev Simpler version of ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/179", + "fullyImplemented": false, + "id": 1503, + "linearizedBaseContracts": [ + 1503 + ], + "name": "ERC20Basic", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 1478, + "name": "totalSupply", + "nodeType": "VariableDeclaration", + "scope": 1503, + "src": "179:26:12", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1477, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "179:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 1485, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1481, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1480, + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 1485, + "src": "228:11:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1479, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "228:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "227:13:12" + }, + "payable": false, + "returnParameters": { + "id": 1484, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1483, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1485, + "src": "266:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1482, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "266:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "265:9:12" + }, + "scope": 1503, + "src": "209:66:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 1494, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1490, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1487, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1494, + "src": "296:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1486, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "296:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1489, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1494, + "src": "308:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1488, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "308:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "295:27:12" + }, + "payable": false, + "returnParameters": { + "id": 1493, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1492, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1494, + "src": "339:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1491, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "339:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "338:6:12" + }, + "scope": 1503, + "src": "278:67:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 1502, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "id": 1501, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1496, + "indexed": true, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 1502, + "src": "363:20:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1495, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "363:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1498, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1502, + "src": "385:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1497, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "385:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1500, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1502, + "src": "405:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1499, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "405:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "362:57:12" + }, + "src": "348:72:12" + } + ], + "scope": 1504, + "src": "155:267:12" + } + ], + "src": "0:423:12" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-29T16:30:42.876Z" +} \ No newline at end of file diff --git a/build/contracts/Likes.json b/build/contracts/Likes.json index 3c3bf7e..5e0c06b 100644 --- a/build/contracts/Likes.json +++ b/build/contracts/Likes.json @@ -1 +1,7794 @@ -{"contractName":"Likes","abi":[{"constant":true,"inputs":[],"name":"owner","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":[{"name":"_paratiiRegistry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_address","type":"address"},{"indexed":false,"name":"_videoId","type":"string"},{"indexed":false,"name":"_liked","type":"bool"}],"name":"LogLikeVideo","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_videoId","type":"string"},{"name":"_liked","type":"bool"}],"name":"likeVideo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"userLikes","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"userDislikes","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_videoId","type":"string"}],"name":"vidLikes","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_videoId","type":"string"}],"name":"vidDislikes","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"},{"name":"_videoId","type":"string"}],"name":"userLikesVideo","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"},{"name":"_videoId","type":"string"}],"name":"userDislikesVideo","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b6040516020806110f783398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610ffb806100fc6000396000f300606060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063075ca0d31461009e57806335068bef146101065780637b0aadea1461019a5780638da5cb5b1461020b5780638f886d9414610260578063a822f11f146102f4578063d834913314610341578063e8d5b22d146103b2578063f2fde38b146103ff575b600080fd5b34156100a957600080fd5b610104600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080351515906020019091905050610438565b005b341561011157600080fd5b610180600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610b11565b604051808215151515815260200191505060405180910390f35b34156101a557600080fd5b6101f5600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610be3565b6040518082815260200191505060405180910390f35b341561021657600080fd5b61021e610c6a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561026b57600080fd5b6102da600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610c8f565b604051808215151515815260200191505060405180910390f35b34156102ff57600080fd5b61032b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d61565b6040518082815260200191505060405180910390f35b341561034c57600080fd5b61039c600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610daa565b6040518082815260200191505060405180910390f35b34156103bd57600080fd5b6103e9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e31565b6040518082815260200191505060405180910390f35b341561040a57600080fd5b610436600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e7a565b005b600080600080339350856040518082805190602001908083835b6020831015156104775780518252602082019150602081019050602083039250610452565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902092506104b08487610b11565b91506104bc8487610c8f565b90508480156104c85750815b156104d257610b09565b841580156104dd5750805b156104e757610b09565b84156107a3576001600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555060016006600085600019166000191681526020019081526020016000206000828254019250508190555080156106c6576000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600760008560001916600019168152602001908152602001600020600082825403925050819055505b7fa7f48f489e5528c34ca196632deb780c27875fcc3040ed926a744d67aa2d3054848787604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b8381101561076657808201518184015260208101905061074b565b50505050905090810190601f1680156107935780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15b841515610b08576001600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506001600760008560001916600019168152602001908152602001600020600082825401925050819055508115610983576000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600660008560001916600019168152602001908152602001600020600082825403925050819055505b7fa7f48f489e5528c34ca196632deb780c27875fcc3040ed926a744d67aa2d3054848787604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b83811015610a23578082015181840152602081019050610a08565b50505050905090810190601f168015610a505780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a17fa7f48f489e5528c34ca196632deb780c27875fcc3040ed926a744d67aa2d30548486604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200183151515158152602001828103825260108152602001807f7468697320706173736564206865726500000000000000000000000000000000815250602001935050505060405180910390a15b5b505050505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b602083101515610b8a5780518252602082019150602081019050602083039250610b65565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16905092915050565b600060076000836040518082805190602001908083835b602083101515610c1f5780518252602082019150602081019050602083039250610bfa565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b602083101515610d085780518252602082019150602081019050602083039250610ce3565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600060066000836040518082805190602001908083835b602083101515610de65780518252602082019150602081019050602083039250610dc1565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ed557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610f1157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058205a8c176b8e71801a9eb056043d41921d8cd6d44bccfdd6060186f74de3f428b90029","deployedBytecode":"0x606060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063075ca0d31461009e57806335068bef146101065780637b0aadea1461019a5780638da5cb5b1461020b5780638f886d9414610260578063a822f11f146102f4578063d834913314610341578063e8d5b22d146103b2578063f2fde38b146103ff575b600080fd5b34156100a957600080fd5b610104600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080351515906020019091905050610438565b005b341561011157600080fd5b610180600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610b11565b604051808215151515815260200191505060405180910390f35b34156101a557600080fd5b6101f5600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610be3565b6040518082815260200191505060405180910390f35b341561021657600080fd5b61021e610c6a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561026b57600080fd5b6102da600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610c8f565b604051808215151515815260200191505060405180910390f35b34156102ff57600080fd5b61032b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d61565b6040518082815260200191505060405180910390f35b341561034c57600080fd5b61039c600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610daa565b6040518082815260200191505060405180910390f35b34156103bd57600080fd5b6103e9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e31565b6040518082815260200191505060405180910390f35b341561040a57600080fd5b610436600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e7a565b005b600080600080339350856040518082805190602001908083835b6020831015156104775780518252602082019150602081019050602083039250610452565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902092506104b08487610b11565b91506104bc8487610c8f565b90508480156104c85750815b156104d257610b09565b841580156104dd5750805b156104e757610b09565b84156107a3576001600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555060016006600085600019166000191681526020019081526020016000206000828254019250508190555080156106c6576000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600760008560001916600019168152602001908152602001600020600082825403925050819055505b7fa7f48f489e5528c34ca196632deb780c27875fcc3040ed926a744d67aa2d3054848787604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b8381101561076657808201518184015260208101905061074b565b50505050905090810190601f1680156107935780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15b841515610b08576001600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506001600760008560001916600019168152602001908152602001600020600082825401925050819055508115610983576000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600660008560001916600019168152602001908152602001600020600082825403925050819055505b7fa7f48f489e5528c34ca196632deb780c27875fcc3040ed926a744d67aa2d3054848787604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b83811015610a23578082015181840152602081019050610a08565b50505050905090810190601f168015610a505780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a17fa7f48f489e5528c34ca196632deb780c27875fcc3040ed926a744d67aa2d30548486604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200183151515158152602001828103825260108152602001807f7468697320706173736564206865726500000000000000000000000000000000815250602001935050505060405180910390a15b5b505050505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b602083101515610b8a5780518252602082019150602081019050602083039250610b65565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16905092915050565b600060076000836040518082805190602001908083835b602083101515610c1f5780518252602082019150602081019050602083039250610bfa565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b602083101515610d085780518252602082019150602081019050602083039250610ce3565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600060066000836040518082805190602001908083835b602083101515610de65780518252602082019150602081019050602083039250610dc1565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ed557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610f1157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058205a8c176b8e71801a9eb056043d41921d8cd6d44bccfdd6060186f74de3f428b90029"} \ No newline at end of file +{ + "contractName": "Likes", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "owner", + "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": [ + { + "name": "_paratiiRegistry", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_address", + "type": "address" + }, + { + "indexed": false, + "name": "_videoId", + "type": "string" + }, + { + "indexed": false, + "name": "_liked", + "type": "bool" + } + ], + "name": "LogLikeVideo", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_videoId", + "type": "string" + }, + { + "name": "_liked", + "type": "bool" + } + ], + "name": "likeVideo", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_address", + "type": "address" + } + ], + "name": "userLikes", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_address", + "type": "address" + } + ], + "name": "userDislikes", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_videoId", + "type": "string" + } + ], + "name": "vidLikes", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_videoId", + "type": "string" + } + ], + "name": "vidDislikes", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_address", + "type": "address" + }, + { + "name": "_videoId", + "type": "string" + } + ], + "name": "userLikesVideo", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_address", + "type": "address" + }, + { + "name": "_videoId", + "type": "string" + } + ], + "name": "userDislikesVideo", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b5060405160208061115e83398101806040528101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061105a806101046000396000f300608060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063075ca0d31461009e57806335068bef146101135780637b0aadea146101b45780638da5cb5b146102315780638f886d9414610288578063a822f11f14610329578063d834913314610380578063e8d5b22d146103fd578063f2fde38b14610454575b600080fd5b3480156100aa57600080fd5b50610111600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803515159060200190929190505050610497565b005b34801561011f57600080fd5b5061019a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610b70565b604051808215151515815260200191505060405180910390f35b3480156101c057600080fd5b5061021b600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610c42565b6040518082815260200191505060405180910390f35b34801561023d57600080fd5b50610246610cc9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561029457600080fd5b5061030f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610cee565b604051808215151515815260200191505060405180910390f35b34801561033557600080fd5b5061036a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dc0565b6040518082815260200191505060405180910390f35b34801561038c57600080fd5b506103e7600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610e09565b6040518082815260200191505060405180910390f35b34801561040957600080fd5b5061043e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e90565b6040518082815260200191505060405180910390f35b34801561046057600080fd5b50610495600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ed9565b005b600080600080339350856040518082805190602001908083835b6020831015156104d657805182526020820191506020810190506020830392506104b1565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020925061050f8487610b70565b915061051b8487610cee565b90508480156105275750815b1561053157610b68565b8415801561053c5750805b1561054657610b68565b8415610802576001600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506001600660008560001916600019168152602001908152602001600020600082825401925050819055508015610725576000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600760008560001916600019168152602001908152602001600020600082825403925050819055505b7fa7f48f489e5528c34ca196632deb780c27875fcc3040ed926a744d67aa2d3054848787604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b838110156107c55780820151818401526020810190506107aa565b50505050905090810190601f1680156107f25780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15b841515610b67576001600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555060016007600085600019166000191681526020019081526020016000206000828254019250508190555081156109e2576000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600660008560001916600019168152602001908152602001600020600082825403925050819055505b7fa7f48f489e5528c34ca196632deb780c27875fcc3040ed926a744d67aa2d3054848787604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b83811015610a82578082015181840152602081019050610a67565b50505050905090810190601f168015610aaf5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a17fa7f48f489e5528c34ca196632deb780c27875fcc3040ed926a744d67aa2d30548486604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200183151515158152602001828103825260108152602001807f7468697320706173736564206865726500000000000000000000000000000000815250602001935050505060405180910390a15b5b505050505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b602083101515610be95780518252602082019150602081019050602083039250610bc4565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16905092915050565b600060076000836040518082805190602001908083835b602083101515610c7e5780518252602082019150602081019050602083039250610c59565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b602083101515610d675780518252602082019150602081019050602083039250610d42565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600060066000836040518082805190602001908083835b602083101515610e455780518252602082019150602081019050602083039250610e20565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f3457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610f7057600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820d279e2d9cd02d10894bc860c8b239c4761b5cbba5f7ed1f770be5909deaa78f70029", + "deployedBytecode": "0x608060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063075ca0d31461009e57806335068bef146101135780637b0aadea146101b45780638da5cb5b146102315780638f886d9414610288578063a822f11f14610329578063d834913314610380578063e8d5b22d146103fd578063f2fde38b14610454575b600080fd5b3480156100aa57600080fd5b50610111600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803515159060200190929190505050610497565b005b34801561011f57600080fd5b5061019a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610b70565b604051808215151515815260200191505060405180910390f35b3480156101c057600080fd5b5061021b600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610c42565b6040518082815260200191505060405180910390f35b34801561023d57600080fd5b50610246610cc9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561029457600080fd5b5061030f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610cee565b604051808215151515815260200191505060405180910390f35b34801561033557600080fd5b5061036a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dc0565b6040518082815260200191505060405180910390f35b34801561038c57600080fd5b506103e7600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610e09565b6040518082815260200191505060405180910390f35b34801561040957600080fd5b5061043e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e90565b6040518082815260200191505060405180910390f35b34801561046057600080fd5b50610495600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ed9565b005b600080600080339350856040518082805190602001908083835b6020831015156104d657805182526020820191506020810190506020830392506104b1565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020925061050f8487610b70565b915061051b8487610cee565b90508480156105275750815b1561053157610b68565b8415801561053c5750805b1561054657610b68565b8415610802576001600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506001600660008560001916600019168152602001908152602001600020600082825401925050819055508015610725576000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600760008560001916600019168152602001908152602001600020600082825403925050819055505b7fa7f48f489e5528c34ca196632deb780c27875fcc3040ed926a744d67aa2d3054848787604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b838110156107c55780820151818401526020810190506107aa565b50505050905090810190601f1680156107f25780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15b841515610b67576001600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555060016007600085600019166000191681526020019081526020016000206000828254019250508190555081156109e2576000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600660008560001916600019168152602001908152602001600020600082825403925050819055505b7fa7f48f489e5528c34ca196632deb780c27875fcc3040ed926a744d67aa2d3054848787604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b83811015610a82578082015181840152602081019050610a67565b50505050905090810190601f168015610aaf5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a17fa7f48f489e5528c34ca196632deb780c27875fcc3040ed926a744d67aa2d30548486604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200183151515158152602001828103825260108152602001807f7468697320706173736564206865726500000000000000000000000000000000815250602001935050505060405180910390a15b5b505050505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b602083101515610be95780518252602082019150602081019050602083039250610bc4565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16905092915050565b600060076000836040518082805190602001908083835b602083101515610c7e5780518252602082019150602081019050602083039250610c59565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b602083101515610d675780518252602082019150602081019050602083039250610d42565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600060066000836040518082805190602001908083835b602083101515610e455780518252602082019150602081019050602083039250610e20565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f3457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610f7057600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820d279e2d9cd02d10894bc860c8b239c4761b5cbba5f7ed1f770be5909deaa78f70029", + "sourceMap": "168:3216:3:-;;;736:125;8:9:-1;5:2;;;30:1;27;20:12;5:2;736:125:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;502:10:16;494:5;;:18;;;;;;;;;;;;;;;;;;800:10:3;792:5;;:18;;;;;;;;;;;;;;;;;;838:16;820:15;;:34;;;;;;;;;;;;;;;;;;736:125;168:3216;;;;;;", + "deployedSourceMap": "168:3216:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;867:1603;;8:9:-1;5:2;;;30:1;27;20:12;5:2;867:1603:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3078:146;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3078:146:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2951:121;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2951:121:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:16;;;;;;;;;;;;;;;;;;;;;;;;;;;3230:152:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3230:152:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2710:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2710:114:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2830:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2830:115:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2476:107;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2476:107:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;827:169:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;827:169:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;867:1603:3;933:16;972:18;1022:20;1089:23;952:10;933:29;;1003:8;993:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;993:19:3;;;;;;;;;;;;;;;;972:40;;1045:34;1060:8;1070;1045:14;:34::i;:::-;1022:57;;1115:37;1133:8;1143;1115:17;:37::i;:::-;1089:63;;1167:6;:25;;;;;1177:15;1167:25;1163:118;;;1264:7;;1163:118;1296:6;1295:7;:29;;;;;1306:18;1295:29;1291:125;;;1399:7;;1291:125;1430:6;1426:481;;;1550:4;1519:6;:16;1526:8;1519:16;;;;;;;;;;;;;;;:28;1536:10;1519:28;;;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;1592:1;1568:10;:20;1579:8;1568:20;;;;;;;;;;;;;;;;:25;;;;;;;;;;;1632:1;1607:9;:21;1617:10;1607:21;;;;;;;;;;;;;;;;;;:26;;;;;;;;;;;1652:18;1648:189;;;1724:5;1690:9;:19;1700:8;1690:19;;;;;;;;;;;;;;;:31;1710:10;1690:31;;;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;1774:1;1747:13;:23;1761:8;1747:23;;;;;;;;;;;;;;;;:28;;;;;;;;;;;1821:1;1793:12;:24;1806:10;1793:24;;;;;;;;;;;;;;;;;;:29;;;;;;;;;;;1648:189;1856:40;1869:8;1879;1889:6;1856:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1856:40:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1426:481;1922:6;1921:7;1917:547;;;2045:4;2011:9;:19;2021:8;2011:19;;;;;;;;;;;;;;;:31;2031:10;2011:31;;;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;2090:1;2063:13;:23;2077:8;2063:23;;;;;;;;;;;;;;;;:28;;;;;;;;;;;2133:1;2105:12;:24;2118:10;2105:24;;;;;;;;;;;;;;;;;;:29;;;;;;;;;;;2153:15;2149:177;;;2219:5;2188:6;:16;2195:8;2188:16;;;;;;;;;;;;;;;:28;2205:10;2188:28;;;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;2266:1;2242:10;:20;2253:8;2242:20;;;;;;;;;;;;;;;;:25;;;;;;;;;;;2310:1;2285:9;:21;2295:10;2285:21;;;;;;;;;;;;;;;;;;:26;;;;;;;;;;;2149:177;2344:40;2357:8;2367;2377:6;2344:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2344:40:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2403:50;2416:8;2446:6;2403:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1917:547;867:1603;;;;;;;:::o;3078:146::-;3157:4;3180:6;:16;3187:8;3180:16;;;;;;;;;;;;;;;:37;3207:8;3197:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3197:19:3;;;;;;;;;;;;;;;;3180:37;;;;;;;;;;;;;;;;;;;;;;;;;;;3173:44;;3078:146;;;;:::o;2951:121::-;3009:4;3032:12;:33;3055:8;3045:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3045:19:3;;;;;;;;;;;;;;;;3032:33;;;;;;;;;;;;;;;;;;3025:40;;2951:121;;;:::o;238:20:16:-;;;;;;;;;;;;;:::o;3230:152:3:-;3312:4;3335:9;:19;3345:8;3335:19;;;;;;;;;;;;;;;:40;3365:8;3355:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3355:19:3;;;;;;;;;;;;;;;;3335:40;;;;;;;;;;;;;;;;;;;;;;;;;;;3328:47;;3230:152;;;;:::o;2710:114::-;2770:4;2794:13;:23;2808:8;2794:23;;;;;;;;;;;;;;;;2787:30;;2710:114;;;:::o;2830:115::-;2885:4;2908:9;:30;2928:8;2918:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2918:19:3;;;;;;;;;;;;;;;;2908:30;;;;;;;;;;;;;;;;;;2901:37;;2830:115;;;:::o;2476:107::-;2533:4;2556:10;:20;2567:8;2556:20;;;;;;;;;;;;;;;;2549:27;;2476:107;;;:::o;827:169:16:-;647:5;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;923:1;903:22;;:8;:22;;;;895:31;;;;;;;;960:8;932:37;;953:5;;;;;;;;;;;932:37;;;;;;;;;;;;983:8;975:5;;:16;;;;;;;;;;;;;;;;;;827:169;:::o", + "source": "pragma solidity ^0.4.18;\n\nimport \"zeppelin-solidity/contracts/ownership/Ownable.sol\";\nimport \"zeppelin-solidity/contracts/math/SafeMath.sol\";\nimport \"./Registry.sol\";\n\ncontract Likes is Ownable {\n\n address paratiiRegistry;\n\n // mapping from user addrsses and video ids to booleans\n mapping (address=> mapping (bytes32 => bool)) private _likes;\n mapping (address=> mapping (bytes32 => bool)) private _dislikes;\n // total of liks on a video\n mapping (address => uint) private _userLikes;\n mapping (address => uint) private _userDislikes;\n mapping (bytes32 => uint) private _vidLikes;\n mapping (bytes32 => uint) private _vidDislikes;\n\n event LogLikeVideo(address _address, string _videoId, bool _liked);\n\n constructor(Registry _paratiiRegistry) public {\n owner = msg.sender;\n paratiiRegistry = _paratiiRegistry;\n }\n\n function likeVideo(string _videoId, bool _liked) public {\n address _address = msg.sender;\n bytes32 _videoHash = keccak256(_videoId);\n bool _userLikesVideo = userLikesVideo(_address, _videoId);\n bool _userDislikesVideo = userDislikesVideo(_address, _videoId);\n\n if (_liked && _userLikesVideo) {\n // this user already liked the video before\n return;\n }\n\n if (!_liked && _userDislikesVideo) {\n // this user already disliked the video before\n return;\n }\n\n if (_liked) {\n // msg.sender likes his video and did not do so before\n _likes[_address][_videoHash] = true;\n _userLikes[_address] += 1;\n _vidLikes[_videoHash] += 1;\n\n if (_userDislikesVideo) {\n _dislikes[_address][_videoHash] = false;\n _userDislikes[_address] -= 1;\n _vidDislikes[_videoHash] -= 1;\n }\n\n emit LogLikeVideo(_address, _videoId, _liked);\n }\n\n if (!_liked) {\n // msg.sender likes his video and did not do so before\n _dislikes[_address][_videoHash] = true;\n _userDislikes[_address] += 1;\n _vidDislikes[_videoHash] += 1;\n\n if (_userLikesVideo) {\n _likes[_address][_videoHash] = false;\n _userLikes[_address] -= 1;\n _vidLikes[_videoHash] -= 1;\n }\n emit LogLikeVideo(_address, _videoId, _liked);\n emit LogLikeVideo(_address, \"this passed here\", _liked);\n }\n }\n\n function userLikes(address _address) public view returns(uint) {\n return _userLikes[_address];\n }\n\n /**\n * @dev returns total of dislikes registered by this user\n * @param _address Address of the user\n */\n function userDislikes(address _address) public view returns(uint) {\n return _userDislikes[_address];\n }\n\n function vidLikes(string _videoId) public view returns(uint) {\n return _vidLikes[keccak256(_videoId)];\n }\n\n function vidDislikes(string _videoId) public view returns(uint) {\n return _vidDislikes[keccak256(_videoId)];\n }\n\n function userLikesVideo(address _address, string _videoId) public view returns(bool) {\n return _likes[_address][keccak256(_videoId)];\n }\n\n function userDislikesVideo(address _address, string _videoId) public view returns(bool) {\n return _dislikes[_address][keccak256(_videoId)];\n }\n}\n", + "sourcePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Likes.sol", + "ast": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Likes.sol", + "exportedSymbols": { + "Likes": [ + 593 + ] + }, + "id": 594, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 289, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:3" + }, + { + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 290, + "nodeType": "ImportDirective", + "scope": 594, + "sourceUnit": 2764, + "src": "26:59:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "zeppelin-solidity/contracts/math/SafeMath.sol", + "file": "zeppelin-solidity/contracts/math/SafeMath.sol", + "id": 291, + "nodeType": "ImportDirective", + "scope": 594, + "sourceUnit": 2708, + "src": "86:55:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Registry.sol", + "file": "./Registry.sol", + "id": 292, + "nodeType": "ImportDirective", + "scope": 594, + "sourceUnit": 1097, + "src": "142:24:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 293, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2763, + "src": "186:7:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$2763", + "typeString": "contract Ownable" + } + }, + "id": 294, + "nodeType": "InheritanceSpecifier", + "src": "186:7:3" + } + ], + "contractDependencies": [ + 2763 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 593, + "linearizedBaseContracts": [ + 593, + 2763 + ], + "name": "Likes", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 296, + "name": "paratiiRegistry", + "nodeType": "VariableDeclaration", + "scope": 593, + "src": "201:23:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 295, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "201:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 302, + "name": "_likes", + "nodeType": "VariableDeclaration", + "scope": 593, + "src": "291:60:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(address => mapping(bytes32 => bool))" + }, + "typeName": { + "id": 301, + "keyType": { + "id": 297, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "300:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "291:45:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(address => mapping(bytes32 => bool))" + }, + "valueType": { + "id": 300, + "keyType": { + "id": 298, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "319:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "310:25:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + }, + "valueType": { + "id": 299, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "330:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 308, + "name": "_dislikes", + "nodeType": "VariableDeclaration", + "scope": 593, + "src": "357:63:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(address => mapping(bytes32 => bool))" + }, + "typeName": { + "id": 307, + "keyType": { + "id": 303, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "366:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "357:45:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(address => mapping(bytes32 => bool))" + }, + "valueType": { + "id": 306, + "keyType": { + "id": 304, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "385:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "376:25:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + }, + "valueType": { + "id": 305, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "396:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 312, + "name": "_userLikes", + "nodeType": "VariableDeclaration", + "scope": 593, + "src": "458:44:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 311, + "keyType": { + "id": 309, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "467:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "458:25:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 310, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "478:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 316, + "name": "_userDislikes", + "nodeType": "VariableDeclaration", + "scope": 593, + "src": "508:47:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 315, + "keyType": { + "id": 313, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "517:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "508:25:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 314, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "528:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 320, + "name": "_vidLikes", + "nodeType": "VariableDeclaration", + "scope": 593, + "src": "561:43:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "typeName": { + "id": 319, + "keyType": { + "id": 317, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "570:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "561:25:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "valueType": { + "id": 318, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "581:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 324, + "name": "_vidDislikes", + "nodeType": "VariableDeclaration", + "scope": 593, + "src": "610:46:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "typeName": { + "id": 323, + "keyType": { + "id": 321, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "619:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "610:25:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "valueType": { + "id": 322, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "630:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "anonymous": false, + "documentation": null, + "id": 332, + "name": "LogLikeVideo", + "nodeType": "EventDefinition", + "parameters": { + "id": 331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 326, + "indexed": false, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 332, + "src": "682:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 325, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "682:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 328, + "indexed": false, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 332, + "src": "700:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 327, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "700:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 330, + "indexed": false, + "name": "_liked", + "nodeType": "VariableDeclaration", + "scope": 332, + "src": "717:11:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 329, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "717:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "681:48:3" + }, + "src": "663:67:3" + }, + { + "body": { + "id": 346, + "nodeType": "Block", + "src": "782:79:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 337, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2711, + "src": "792:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 338, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "800:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "800:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "792:18:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 341, + "nodeType": "ExpressionStatement", + "src": "792:18:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 342, + "name": "paratiiRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 296, + "src": "820:15:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 343, + "name": "_paratiiRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 334, + "src": "838:16:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "src": "820:34:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 345, + "nodeType": "ExpressionStatement", + "src": "820:34:3" + } + ] + }, + "documentation": null, + "id": 347, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 335, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 334, + "name": "_paratiiRegistry", + "nodeType": "VariableDeclaration", + "scope": 347, + "src": "748:25:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 333, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1096, + "src": "748:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "747:27:3" + }, + "payable": false, + "returnParameters": { + "id": 336, + "nodeType": "ParameterList", + "parameters": [], + "src": "782:0:3" + }, + "scope": 593, + "src": "736:125:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 503, + "nodeType": "Block", + "src": "923:1547:3", + "statements": [ + { + "assignments": [ + 355 + ], + "declarations": [ + { + "constant": false, + "id": 355, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 504, + "src": "933:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 354, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "933:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 358, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 356, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "952:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "952:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "933:29:3" + }, + { + "assignments": [ + 360 + ], + "declarations": [ + { + "constant": false, + "id": 360, + "name": "_videoHash", + "nodeType": "VariableDeclaration", + "scope": 504, + "src": "972:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 359, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "972:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 364, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 362, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 349, + "src": "1003:8:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 361, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "993:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "993:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "972:40:3" + }, + { + "assignments": [ + 366 + ], + "declarations": [ + { + "constant": false, + "id": 366, + "name": "_userLikesVideo", + "nodeType": "VariableDeclaration", + "scope": 504, + "src": "1022:20:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 365, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1022:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 371, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 368, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "1060:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 369, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 349, + "src": "1070:8:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 367, + "name": "userLikesVideo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 574, + "src": "1045:14:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,string memory) view returns (bool)" + } + }, + "id": 370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1045:34:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1022:57:3" + }, + { + "assignments": [ + 373 + ], + "declarations": [ + { + "constant": false, + "id": 373, + "name": "_userDislikesVideo", + "nodeType": "VariableDeclaration", + "scope": 504, + "src": "1089:23:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 372, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1089:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 378, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 375, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "1133:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 376, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 349, + "src": "1143:8:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 374, + "name": "userDislikesVideo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 592, + "src": "1115:17:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,string memory) view returns (bool)" + } + }, + "id": 377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1115:37:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1089:63:3" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 379, + "name": "_liked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 351, + "src": "1167:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 380, + "name": "_userLikesVideo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 366, + "src": "1177:15:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1167:25:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 384, + "nodeType": "IfStatement", + "src": "1163:118:3", + "trueBody": { + "id": 383, + "nodeType": "Block", + "src": "1194:87:3", + "statements": [ + { + "expression": null, + "functionReturnParameters": 353, + "id": 382, + "nodeType": "Return", + "src": "1264:7:3" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1295:7:3", + "subExpression": { + "argumentTypes": null, + "id": 385, + "name": "_liked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 351, + "src": "1296:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 387, + "name": "_userDislikesVideo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 373, + "src": "1306:18:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1295:29:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 391, + "nodeType": "IfStatement", + "src": "1291:125:3", + "trueBody": { + "id": 390, + "nodeType": "Block", + "src": "1326:90:3", + "statements": [ + { + "expression": null, + "functionReturnParameters": 353, + "id": 389, + "nodeType": "Return", + "src": "1399:7:3" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "id": 392, + "name": "_liked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 351, + "src": "1430:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 443, + "nodeType": "IfStatement", + "src": "1426:481:3", + "trueBody": { + "id": 442, + "nodeType": "Block", + "src": "1438:469:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 393, + "name": "_likes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 302, + "src": "1519:6:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(address => mapping(bytes32 => bool))" + } + }, + "id": 396, + "indexExpression": { + "argumentTypes": null, + "id": 394, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "1526:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1519:16:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + } + }, + "id": 397, + "indexExpression": { + "argumentTypes": null, + "id": 395, + "name": "_videoHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 360, + "src": "1536:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1519:28:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 398, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1550:4:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1519:35:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 400, + "nodeType": "ExpressionStatement", + "src": "1519:35:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 401, + "name": "_userLikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "1568:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 403, + "indexExpression": { + "argumentTypes": null, + "id": 402, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "1579:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1568:20:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 404, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1592:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1568:25:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 406, + "nodeType": "ExpressionStatement", + "src": "1568:25:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 407, + "name": "_vidLikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 320, + "src": "1607:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 409, + "indexExpression": { + "argumentTypes": null, + "id": 408, + "name": "_videoHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 360, + "src": "1617:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1607:21:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1632:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1607:26:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 412, + "nodeType": "ExpressionStatement", + "src": "1607:26:3" + }, + { + "condition": { + "argumentTypes": null, + "id": 413, + "name": "_userDislikesVideo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 373, + "src": "1652:18:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 435, + "nodeType": "IfStatement", + "src": "1648:189:3", + "trueBody": { + "id": 434, + "nodeType": "Block", + "src": "1672:165:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 414, + "name": "_dislikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 308, + "src": "1690:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(address => mapping(bytes32 => bool))" + } + }, + "id": 417, + "indexExpression": { + "argumentTypes": null, + "id": 415, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "1700:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1690:19:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + } + }, + "id": 418, + "indexExpression": { + "argumentTypes": null, + "id": 416, + "name": "_videoHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 360, + "src": "1710:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1690:31:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 419, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1724:5:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1690:39:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 421, + "nodeType": "ExpressionStatement", + "src": "1690:39:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 422, + "name": "_userDislikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "1747:13:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 424, + "indexExpression": { + "argumentTypes": null, + "id": 423, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "1761:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1747:23:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 425, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1774:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1747:28:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 427, + "nodeType": "ExpressionStatement", + "src": "1747:28:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 428, + "name": "_vidDislikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 324, + "src": "1793:12:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 430, + "indexExpression": { + "argumentTypes": null, + "id": 429, + "name": "_videoHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 360, + "src": "1806:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1793:24:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 431, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1821:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1793:29:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 433, + "nodeType": "ExpressionStatement", + "src": "1793:29:3" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 437, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "1869:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 438, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 349, + "src": "1879:8:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 439, + "name": "_liked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 351, + "src": "1889:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 436, + "name": "LogLikeVideo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 332, + "src": "1856:12:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_bool_$returns$__$", + "typeString": "function (address,string memory,bool)" + } + }, + "id": 440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1856:40:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 441, + "nodeType": "EmitStatement", + "src": "1851:45:3" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "id": 445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1921:7:3", + "subExpression": { + "argumentTypes": null, + "id": 444, + "name": "_liked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 351, + "src": "1922:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 502, + "nodeType": "IfStatement", + "src": "1917:547:3", + "trueBody": { + "id": 501, + "nodeType": "Block", + "src": "1930:534:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 446, + "name": "_dislikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 308, + "src": "2011:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(address => mapping(bytes32 => bool))" + } + }, + "id": 449, + "indexExpression": { + "argumentTypes": null, + "id": 447, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "2021:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2011:19:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + } + }, + "id": 450, + "indexExpression": { + "argumentTypes": null, + "id": 448, + "name": "_videoHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 360, + "src": "2031:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2011:31:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 451, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2045:4:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2011:38:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 453, + "nodeType": "ExpressionStatement", + "src": "2011:38:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 454, + "name": "_userDislikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "2063:13:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 456, + "indexExpression": { + "argumentTypes": null, + "id": 455, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "2077:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2063:23:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 457, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2090:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2063:28:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 459, + "nodeType": "ExpressionStatement", + "src": "2063:28:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 460, + "name": "_vidDislikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 324, + "src": "2105:12:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 462, + "indexExpression": { + "argumentTypes": null, + "id": 461, + "name": "_videoHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 360, + "src": "2118:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2105:24:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2133:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2105:29:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 465, + "nodeType": "ExpressionStatement", + "src": "2105:29:3" + }, + { + "condition": { + "argumentTypes": null, + "id": 466, + "name": "_userLikesVideo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 366, + "src": "2153:15:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 488, + "nodeType": "IfStatement", + "src": "2149:177:3", + "trueBody": { + "id": 487, + "nodeType": "Block", + "src": "2170:156:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 467, + "name": "_likes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 302, + "src": "2188:6:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(address => mapping(bytes32 => bool))" + } + }, + "id": 470, + "indexExpression": { + "argumentTypes": null, + "id": 468, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "2195:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2188:16:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + } + }, + "id": 471, + "indexExpression": { + "argumentTypes": null, + "id": 469, + "name": "_videoHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 360, + "src": "2205:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2188:28:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 472, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2219:5:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "2188:36:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 474, + "nodeType": "ExpressionStatement", + "src": "2188:36:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 475, + "name": "_userLikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "2242:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 477, + "indexExpression": { + "argumentTypes": null, + "id": 476, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "2253:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2242:20:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 478, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2266:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2242:25:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 480, + "nodeType": "ExpressionStatement", + "src": "2242:25:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 481, + "name": "_vidLikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 320, + "src": "2285:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 483, + "indexExpression": { + "argumentTypes": null, + "id": 482, + "name": "_videoHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 360, + "src": "2295:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2285:21:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 484, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2310:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2285:26:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 486, + "nodeType": "ExpressionStatement", + "src": "2285:26:3" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 490, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "2357:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 491, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 349, + "src": "2367:8:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 492, + "name": "_liked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 351, + "src": "2377:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 489, + "name": "LogLikeVideo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 332, + "src": "2344:12:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_bool_$returns$__$", + "typeString": "function (address,string memory,bool)" + } + }, + "id": 493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2344:40:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 494, + "nodeType": "EmitStatement", + "src": "2339:45:3" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 496, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "2416:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "hexValue": "74686973207061737365642068657265", + "id": 497, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2426:18:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9e480025039447a554ff4f3a62c71dd9b34e6a281c3693913bc42ac7651ef1e8", + "typeString": "literal_string \"this passed here\"" + }, + "value": "this passed here" + }, + { + "argumentTypes": null, + "id": 498, + "name": "_liked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 351, + "src": "2446:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_9e480025039447a554ff4f3a62c71dd9b34e6a281c3693913bc42ac7651ef1e8", + "typeString": "literal_string \"this passed here\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 495, + "name": "LogLikeVideo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 332, + "src": "2403:12:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_bool_$returns$__$", + "typeString": "function (address,string memory,bool)" + } + }, + "id": 499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2403:50:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 500, + "nodeType": "EmitStatement", + "src": "2398:55:3" + } + ] + } + } + ] + }, + "documentation": null, + "id": 504, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "likeVideo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 352, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 349, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 504, + "src": "886:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 348, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "886:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 351, + "name": "_liked", + "nodeType": "VariableDeclaration", + "scope": 504, + "src": "903:11:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 350, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "903:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "885:30:3" + }, + "payable": false, + "returnParameters": { + "id": 353, + "nodeType": "ParameterList", + "parameters": [], + "src": "923:0:3" + }, + "scope": 593, + "src": "867:1603:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 515, + "nodeType": "Block", + "src": "2539:44:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 511, + "name": "_userLikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "2556:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 513, + "indexExpression": { + "argumentTypes": null, + "id": 512, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 506, + "src": "2567:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2556:20:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 510, + "id": 514, + "nodeType": "Return", + "src": "2549:27:3" + } + ] + }, + "documentation": null, + "id": 516, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "userLikes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 507, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 506, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 516, + "src": "2495:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 505, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2495:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2494:18:3" + }, + "payable": false, + "returnParameters": { + "id": 510, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 509, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 516, + "src": "2533:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 508, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2533:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2532:6:3" + }, + "scope": 593, + "src": "2476:107:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 527, + "nodeType": "Block", + "src": "2777:47:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 523, + "name": "_userDislikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "2794:13:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 525, + "indexExpression": { + "argumentTypes": null, + "id": 524, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 518, + "src": "2808:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2794:23:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 522, + "id": 526, + "nodeType": "Return", + "src": "2787:30:3" + } + ] + }, + "documentation": "@dev returns total of dislikes registered by this user\n@param _address Address of the user", + "id": 528, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "userDislikes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 519, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 518, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 528, + "src": "2732:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 517, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2732:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2731:18:3" + }, + "payable": false, + "returnParameters": { + "id": 522, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 521, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 528, + "src": "2770:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 520, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2770:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2769:6:3" + }, + "scope": 593, + "src": "2710:114:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 541, + "nodeType": "Block", + "src": "2891:54:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 535, + "name": "_vidLikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 320, + "src": "2908:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 539, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 537, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 530, + "src": "2928:8:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 536, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "2918:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2918:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2908:30:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 534, + "id": 540, + "nodeType": "Return", + "src": "2901:37:3" + } + ] + }, + "documentation": null, + "id": 542, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "vidLikes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 531, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 530, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 542, + "src": "2848:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 529, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2848:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2847:17:3" + }, + "payable": false, + "returnParameters": { + "id": 534, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 533, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 542, + "src": "2885:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 532, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2885:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2884:6:3" + }, + "scope": 593, + "src": "2830:115:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 555, + "nodeType": "Block", + "src": "3015:57:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 549, + "name": "_vidDislikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 324, + "src": "3032:12:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 553, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 551, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 544, + "src": "3055:8:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 550, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "3045:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3045:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3032:33:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 548, + "id": 554, + "nodeType": "Return", + "src": "3025:40:3" + } + ] + }, + "documentation": null, + "id": 556, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "vidDislikes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 545, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 544, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 556, + "src": "2972:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 543, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2972:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2971:17:3" + }, + "payable": false, + "returnParameters": { + "id": 548, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 547, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 556, + "src": "3009:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 546, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3009:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3008:6:3" + }, + "scope": 593, + "src": "2951:121:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 573, + "nodeType": "Block", + "src": "3163:61:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 565, + "name": "_likes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 302, + "src": "3180:6:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(address => mapping(bytes32 => bool))" + } + }, + "id": 567, + "indexExpression": { + "argumentTypes": null, + "id": 566, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 558, + "src": "3187:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3180:16:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + } + }, + "id": 571, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 569, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 560, + "src": "3207:8:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 568, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "3197:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3197:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3180:37:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 564, + "id": 572, + "nodeType": "Return", + "src": "3173:44:3" + } + ] + }, + "documentation": null, + "id": 574, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "userLikesVideo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 561, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 558, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 574, + "src": "3102:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 557, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3102:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 560, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 574, + "src": "3120:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 559, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3120:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3101:35:3" + }, + "payable": false, + "returnParameters": { + "id": 564, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 563, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 574, + "src": "3157:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 562, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3157:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3156:6:3" + }, + "scope": 593, + "src": "3078:146:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 591, + "nodeType": "Block", + "src": "3318:64:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 583, + "name": "_dislikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 308, + "src": "3335:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(address => mapping(bytes32 => bool))" + } + }, + "id": 585, + "indexExpression": { + "argumentTypes": null, + "id": 584, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 576, + "src": "3345:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3335:19:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + } + }, + "id": 589, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 587, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 578, + "src": "3365:8:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 586, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "3355:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3355:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3335:40:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 582, + "id": 590, + "nodeType": "Return", + "src": "3328:47:3" + } + ] + }, + "documentation": null, + "id": 592, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "userDislikesVideo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 579, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 576, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 592, + "src": "3257:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 575, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3257:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 578, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 592, + "src": "3275:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 577, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3275:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3256:35:3" + }, + "payable": false, + "returnParameters": { + "id": 582, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 581, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 592, + "src": "3312:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 580, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3312:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3311:6:3" + }, + "scope": 593, + "src": "3230:152:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 594, + "src": "168:3216:3" + } + ], + "src": "0:3385:3" + }, + "legacyAST": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Likes.sol", + "exportedSymbols": { + "Likes": [ + 593 + ] + }, + "id": 594, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 289, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:3" + }, + { + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 290, + "nodeType": "ImportDirective", + "scope": 594, + "sourceUnit": 2764, + "src": "26:59:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "zeppelin-solidity/contracts/math/SafeMath.sol", + "file": "zeppelin-solidity/contracts/math/SafeMath.sol", + "id": 291, + "nodeType": "ImportDirective", + "scope": 594, + "sourceUnit": 2708, + "src": "86:55:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Registry.sol", + "file": "./Registry.sol", + "id": 292, + "nodeType": "ImportDirective", + "scope": 594, + "sourceUnit": 1097, + "src": "142:24:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 293, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2763, + "src": "186:7:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$2763", + "typeString": "contract Ownable" + } + }, + "id": 294, + "nodeType": "InheritanceSpecifier", + "src": "186:7:3" + } + ], + "contractDependencies": [ + 2763 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 593, + "linearizedBaseContracts": [ + 593, + 2763 + ], + "name": "Likes", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 296, + "name": "paratiiRegistry", + "nodeType": "VariableDeclaration", + "scope": 593, + "src": "201:23:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 295, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "201:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 302, + "name": "_likes", + "nodeType": "VariableDeclaration", + "scope": 593, + "src": "291:60:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(address => mapping(bytes32 => bool))" + }, + "typeName": { + "id": 301, + "keyType": { + "id": 297, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "300:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "291:45:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(address => mapping(bytes32 => bool))" + }, + "valueType": { + "id": 300, + "keyType": { + "id": 298, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "319:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "310:25:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + }, + "valueType": { + "id": 299, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "330:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 308, + "name": "_dislikes", + "nodeType": "VariableDeclaration", + "scope": 593, + "src": "357:63:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(address => mapping(bytes32 => bool))" + }, + "typeName": { + "id": 307, + "keyType": { + "id": 303, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "366:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "357:45:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(address => mapping(bytes32 => bool))" + }, + "valueType": { + "id": 306, + "keyType": { + "id": 304, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "385:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "376:25:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + }, + "valueType": { + "id": 305, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "396:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 312, + "name": "_userLikes", + "nodeType": "VariableDeclaration", + "scope": 593, + "src": "458:44:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 311, + "keyType": { + "id": 309, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "467:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "458:25:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 310, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "478:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 316, + "name": "_userDislikes", + "nodeType": "VariableDeclaration", + "scope": 593, + "src": "508:47:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 315, + "keyType": { + "id": 313, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "517:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "508:25:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 314, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "528:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 320, + "name": "_vidLikes", + "nodeType": "VariableDeclaration", + "scope": 593, + "src": "561:43:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "typeName": { + "id": 319, + "keyType": { + "id": 317, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "570:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "561:25:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "valueType": { + "id": 318, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "581:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 324, + "name": "_vidDislikes", + "nodeType": "VariableDeclaration", + "scope": 593, + "src": "610:46:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "typeName": { + "id": 323, + "keyType": { + "id": 321, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "619:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "610:25:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "valueType": { + "id": 322, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "630:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "anonymous": false, + "documentation": null, + "id": 332, + "name": "LogLikeVideo", + "nodeType": "EventDefinition", + "parameters": { + "id": 331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 326, + "indexed": false, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 332, + "src": "682:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 325, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "682:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 328, + "indexed": false, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 332, + "src": "700:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 327, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "700:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 330, + "indexed": false, + "name": "_liked", + "nodeType": "VariableDeclaration", + "scope": 332, + "src": "717:11:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 329, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "717:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "681:48:3" + }, + "src": "663:67:3" + }, + { + "body": { + "id": 346, + "nodeType": "Block", + "src": "782:79:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 337, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2711, + "src": "792:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 338, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "800:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "800:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "792:18:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 341, + "nodeType": "ExpressionStatement", + "src": "792:18:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 342, + "name": "paratiiRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 296, + "src": "820:15:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 343, + "name": "_paratiiRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 334, + "src": "838:16:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "src": "820:34:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 345, + "nodeType": "ExpressionStatement", + "src": "820:34:3" + } + ] + }, + "documentation": null, + "id": 347, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 335, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 334, + "name": "_paratiiRegistry", + "nodeType": "VariableDeclaration", + "scope": 347, + "src": "748:25:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 333, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1096, + "src": "748:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "747:27:3" + }, + "payable": false, + "returnParameters": { + "id": 336, + "nodeType": "ParameterList", + "parameters": [], + "src": "782:0:3" + }, + "scope": 593, + "src": "736:125:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 503, + "nodeType": "Block", + "src": "923:1547:3", + "statements": [ + { + "assignments": [ + 355 + ], + "declarations": [ + { + "constant": false, + "id": 355, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 504, + "src": "933:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 354, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "933:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 358, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 356, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "952:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "952:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "933:29:3" + }, + { + "assignments": [ + 360 + ], + "declarations": [ + { + "constant": false, + "id": 360, + "name": "_videoHash", + "nodeType": "VariableDeclaration", + "scope": 504, + "src": "972:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 359, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "972:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 364, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 362, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 349, + "src": "1003:8:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 361, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "993:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "993:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "972:40:3" + }, + { + "assignments": [ + 366 + ], + "declarations": [ + { + "constant": false, + "id": 366, + "name": "_userLikesVideo", + "nodeType": "VariableDeclaration", + "scope": 504, + "src": "1022:20:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 365, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1022:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 371, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 368, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "1060:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 369, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 349, + "src": "1070:8:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 367, + "name": "userLikesVideo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 574, + "src": "1045:14:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,string memory) view returns (bool)" + } + }, + "id": 370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1045:34:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1022:57:3" + }, + { + "assignments": [ + 373 + ], + "declarations": [ + { + "constant": false, + "id": 373, + "name": "_userDislikesVideo", + "nodeType": "VariableDeclaration", + "scope": 504, + "src": "1089:23:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 372, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1089:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 378, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 375, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "1133:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 376, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 349, + "src": "1143:8:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 374, + "name": "userDislikesVideo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 592, + "src": "1115:17:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,string memory) view returns (bool)" + } + }, + "id": 377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1115:37:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1089:63:3" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 379, + "name": "_liked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 351, + "src": "1167:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 380, + "name": "_userLikesVideo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 366, + "src": "1177:15:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1167:25:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 384, + "nodeType": "IfStatement", + "src": "1163:118:3", + "trueBody": { + "id": 383, + "nodeType": "Block", + "src": "1194:87:3", + "statements": [ + { + "expression": null, + "functionReturnParameters": 353, + "id": 382, + "nodeType": "Return", + "src": "1264:7:3" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1295:7:3", + "subExpression": { + "argumentTypes": null, + "id": 385, + "name": "_liked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 351, + "src": "1296:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 387, + "name": "_userDislikesVideo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 373, + "src": "1306:18:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1295:29:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 391, + "nodeType": "IfStatement", + "src": "1291:125:3", + "trueBody": { + "id": 390, + "nodeType": "Block", + "src": "1326:90:3", + "statements": [ + { + "expression": null, + "functionReturnParameters": 353, + "id": 389, + "nodeType": "Return", + "src": "1399:7:3" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "id": 392, + "name": "_liked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 351, + "src": "1430:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 443, + "nodeType": "IfStatement", + "src": "1426:481:3", + "trueBody": { + "id": 442, + "nodeType": "Block", + "src": "1438:469:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 393, + "name": "_likes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 302, + "src": "1519:6:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(address => mapping(bytes32 => bool))" + } + }, + "id": 396, + "indexExpression": { + "argumentTypes": null, + "id": 394, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "1526:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1519:16:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + } + }, + "id": 397, + "indexExpression": { + "argumentTypes": null, + "id": 395, + "name": "_videoHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 360, + "src": "1536:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1519:28:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 398, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1550:4:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1519:35:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 400, + "nodeType": "ExpressionStatement", + "src": "1519:35:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 401, + "name": "_userLikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "1568:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 403, + "indexExpression": { + "argumentTypes": null, + "id": 402, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "1579:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1568:20:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 404, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1592:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1568:25:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 406, + "nodeType": "ExpressionStatement", + "src": "1568:25:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 407, + "name": "_vidLikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 320, + "src": "1607:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 409, + "indexExpression": { + "argumentTypes": null, + "id": 408, + "name": "_videoHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 360, + "src": "1617:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1607:21:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1632:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1607:26:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 412, + "nodeType": "ExpressionStatement", + "src": "1607:26:3" + }, + { + "condition": { + "argumentTypes": null, + "id": 413, + "name": "_userDislikesVideo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 373, + "src": "1652:18:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 435, + "nodeType": "IfStatement", + "src": "1648:189:3", + "trueBody": { + "id": 434, + "nodeType": "Block", + "src": "1672:165:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 414, + "name": "_dislikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 308, + "src": "1690:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(address => mapping(bytes32 => bool))" + } + }, + "id": 417, + "indexExpression": { + "argumentTypes": null, + "id": 415, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "1700:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1690:19:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + } + }, + "id": 418, + "indexExpression": { + "argumentTypes": null, + "id": 416, + "name": "_videoHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 360, + "src": "1710:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1690:31:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 419, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1724:5:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1690:39:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 421, + "nodeType": "ExpressionStatement", + "src": "1690:39:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 422, + "name": "_userDislikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "1747:13:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 424, + "indexExpression": { + "argumentTypes": null, + "id": 423, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "1761:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1747:23:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 425, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1774:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1747:28:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 427, + "nodeType": "ExpressionStatement", + "src": "1747:28:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 428, + "name": "_vidDislikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 324, + "src": "1793:12:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 430, + "indexExpression": { + "argumentTypes": null, + "id": 429, + "name": "_videoHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 360, + "src": "1806:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1793:24:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 431, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1821:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1793:29:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 433, + "nodeType": "ExpressionStatement", + "src": "1793:29:3" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 437, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "1869:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 438, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 349, + "src": "1879:8:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 439, + "name": "_liked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 351, + "src": "1889:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 436, + "name": "LogLikeVideo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 332, + "src": "1856:12:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_bool_$returns$__$", + "typeString": "function (address,string memory,bool)" + } + }, + "id": 440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1856:40:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 441, + "nodeType": "EmitStatement", + "src": "1851:45:3" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "id": 445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1921:7:3", + "subExpression": { + "argumentTypes": null, + "id": 444, + "name": "_liked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 351, + "src": "1922:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 502, + "nodeType": "IfStatement", + "src": "1917:547:3", + "trueBody": { + "id": 501, + "nodeType": "Block", + "src": "1930:534:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 446, + "name": "_dislikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 308, + "src": "2011:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(address => mapping(bytes32 => bool))" + } + }, + "id": 449, + "indexExpression": { + "argumentTypes": null, + "id": 447, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "2021:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2011:19:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + } + }, + "id": 450, + "indexExpression": { + "argumentTypes": null, + "id": 448, + "name": "_videoHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 360, + "src": "2031:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2011:31:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 451, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2045:4:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2011:38:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 453, + "nodeType": "ExpressionStatement", + "src": "2011:38:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 454, + "name": "_userDislikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "2063:13:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 456, + "indexExpression": { + "argumentTypes": null, + "id": 455, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "2077:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2063:23:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 457, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2090:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2063:28:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 459, + "nodeType": "ExpressionStatement", + "src": "2063:28:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 460, + "name": "_vidDislikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 324, + "src": "2105:12:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 462, + "indexExpression": { + "argumentTypes": null, + "id": 461, + "name": "_videoHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 360, + "src": "2118:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2105:24:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2133:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2105:29:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 465, + "nodeType": "ExpressionStatement", + "src": "2105:29:3" + }, + { + "condition": { + "argumentTypes": null, + "id": 466, + "name": "_userLikesVideo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 366, + "src": "2153:15:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 488, + "nodeType": "IfStatement", + "src": "2149:177:3", + "trueBody": { + "id": 487, + "nodeType": "Block", + "src": "2170:156:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 467, + "name": "_likes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 302, + "src": "2188:6:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(address => mapping(bytes32 => bool))" + } + }, + "id": 470, + "indexExpression": { + "argumentTypes": null, + "id": 468, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "2195:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2188:16:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + } + }, + "id": 471, + "indexExpression": { + "argumentTypes": null, + "id": 469, + "name": "_videoHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 360, + "src": "2205:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2188:28:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 472, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2219:5:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "2188:36:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 474, + "nodeType": "ExpressionStatement", + "src": "2188:36:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 475, + "name": "_userLikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "2242:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 477, + "indexExpression": { + "argumentTypes": null, + "id": 476, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "2253:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2242:20:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 478, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2266:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2242:25:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 480, + "nodeType": "ExpressionStatement", + "src": "2242:25:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 481, + "name": "_vidLikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 320, + "src": "2285:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 483, + "indexExpression": { + "argumentTypes": null, + "id": 482, + "name": "_videoHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 360, + "src": "2295:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2285:21:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 484, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2310:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2285:26:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 486, + "nodeType": "ExpressionStatement", + "src": "2285:26:3" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 490, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "2357:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 491, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 349, + "src": "2367:8:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 492, + "name": "_liked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 351, + "src": "2377:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 489, + "name": "LogLikeVideo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 332, + "src": "2344:12:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_bool_$returns$__$", + "typeString": "function (address,string memory,bool)" + } + }, + "id": 493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2344:40:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 494, + "nodeType": "EmitStatement", + "src": "2339:45:3" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 496, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 355, + "src": "2416:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "hexValue": "74686973207061737365642068657265", + "id": 497, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2426:18:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9e480025039447a554ff4f3a62c71dd9b34e6a281c3693913bc42ac7651ef1e8", + "typeString": "literal_string \"this passed here\"" + }, + "value": "this passed here" + }, + { + "argumentTypes": null, + "id": 498, + "name": "_liked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 351, + "src": "2446:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_9e480025039447a554ff4f3a62c71dd9b34e6a281c3693913bc42ac7651ef1e8", + "typeString": "literal_string \"this passed here\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 495, + "name": "LogLikeVideo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 332, + "src": "2403:12:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_bool_$returns$__$", + "typeString": "function (address,string memory,bool)" + } + }, + "id": 499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2403:50:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 500, + "nodeType": "EmitStatement", + "src": "2398:55:3" + } + ] + } + } + ] + }, + "documentation": null, + "id": 504, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "likeVideo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 352, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 349, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 504, + "src": "886:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 348, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "886:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 351, + "name": "_liked", + "nodeType": "VariableDeclaration", + "scope": 504, + "src": "903:11:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 350, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "903:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "885:30:3" + }, + "payable": false, + "returnParameters": { + "id": 353, + "nodeType": "ParameterList", + "parameters": [], + "src": "923:0:3" + }, + "scope": 593, + "src": "867:1603:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 515, + "nodeType": "Block", + "src": "2539:44:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 511, + "name": "_userLikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "2556:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 513, + "indexExpression": { + "argumentTypes": null, + "id": 512, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 506, + "src": "2567:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2556:20:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 510, + "id": 514, + "nodeType": "Return", + "src": "2549:27:3" + } + ] + }, + "documentation": null, + "id": 516, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "userLikes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 507, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 506, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 516, + "src": "2495:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 505, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2495:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2494:18:3" + }, + "payable": false, + "returnParameters": { + "id": 510, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 509, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 516, + "src": "2533:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 508, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2533:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2532:6:3" + }, + "scope": 593, + "src": "2476:107:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 527, + "nodeType": "Block", + "src": "2777:47:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 523, + "name": "_userDislikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "2794:13:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 525, + "indexExpression": { + "argumentTypes": null, + "id": 524, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 518, + "src": "2808:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2794:23:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 522, + "id": 526, + "nodeType": "Return", + "src": "2787:30:3" + } + ] + }, + "documentation": "@dev returns total of dislikes registered by this user\n@param _address Address of the user", + "id": 528, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "userDislikes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 519, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 518, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 528, + "src": "2732:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 517, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2732:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2731:18:3" + }, + "payable": false, + "returnParameters": { + "id": 522, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 521, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 528, + "src": "2770:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 520, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2770:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2769:6:3" + }, + "scope": 593, + "src": "2710:114:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 541, + "nodeType": "Block", + "src": "2891:54:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 535, + "name": "_vidLikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 320, + "src": "2908:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 539, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 537, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 530, + "src": "2928:8:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 536, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "2918:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2918:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2908:30:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 534, + "id": 540, + "nodeType": "Return", + "src": "2901:37:3" + } + ] + }, + "documentation": null, + "id": 542, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "vidLikes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 531, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 530, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 542, + "src": "2848:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 529, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2848:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2847:17:3" + }, + "payable": false, + "returnParameters": { + "id": 534, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 533, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 542, + "src": "2885:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 532, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2885:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2884:6:3" + }, + "scope": 593, + "src": "2830:115:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 555, + "nodeType": "Block", + "src": "3015:57:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 549, + "name": "_vidDislikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 324, + "src": "3032:12:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 553, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 551, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 544, + "src": "3055:8:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 550, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "3045:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3045:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3032:33:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 548, + "id": 554, + "nodeType": "Return", + "src": "3025:40:3" + } + ] + }, + "documentation": null, + "id": 556, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "vidDislikes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 545, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 544, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 556, + "src": "2972:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 543, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2972:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2971:17:3" + }, + "payable": false, + "returnParameters": { + "id": 548, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 547, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 556, + "src": "3009:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 546, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3009:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3008:6:3" + }, + "scope": 593, + "src": "2951:121:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 573, + "nodeType": "Block", + "src": "3163:61:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 565, + "name": "_likes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 302, + "src": "3180:6:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(address => mapping(bytes32 => bool))" + } + }, + "id": 567, + "indexExpression": { + "argumentTypes": null, + "id": 566, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 558, + "src": "3187:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3180:16:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + } + }, + "id": 571, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 569, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 560, + "src": "3207:8:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 568, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "3197:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3197:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3180:37:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 564, + "id": 572, + "nodeType": "Return", + "src": "3173:44:3" + } + ] + }, + "documentation": null, + "id": 574, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "userLikesVideo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 561, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 558, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 574, + "src": "3102:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 557, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3102:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 560, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 574, + "src": "3120:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 559, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3120:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3101:35:3" + }, + "payable": false, + "returnParameters": { + "id": 564, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 563, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 574, + "src": "3157:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 562, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3157:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3156:6:3" + }, + "scope": 593, + "src": "3078:146:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 591, + "nodeType": "Block", + "src": "3318:64:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 583, + "name": "_dislikes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 308, + "src": "3335:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$", + "typeString": "mapping(address => mapping(bytes32 => bool))" + } + }, + "id": 585, + "indexExpression": { + "argumentTypes": null, + "id": 584, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 576, + "src": "3345:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3335:19:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + } + }, + "id": 589, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 587, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 578, + "src": "3365:8:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 586, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "3355:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3355:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3335:40:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 582, + "id": 590, + "nodeType": "Return", + "src": "3328:47:3" + } + ] + }, + "documentation": null, + "id": 592, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "userDislikesVideo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 579, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 576, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 592, + "src": "3257:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 575, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3257:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 578, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 592, + "src": "3275:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 577, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3275:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3256:35:3" + }, + "payable": false, + "returnParameters": { + "id": 582, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 581, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 592, + "src": "3312:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 580, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3312:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3311:6:3" + }, + "scope": 593, + "src": "3230:152:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 594, + "src": "168:3216:3" + } + ], + "src": "0:3385:3" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-29T16:29:38.957Z" +} \ No newline at end of file diff --git a/build/contracts/Migrations.json b/build/contracts/Migrations.json index 54b1b06..669725c 100644 --- a/build/contracts/Migrations.json +++ b/build/contracts/Migrations.json @@ -1 +1,1380 @@ -{"contractName":"Migrations","abi":[{"constant":true,"inputs":[],"name":"last_completed_migration","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"constant":false,"inputs":[{"name":"completed","type":"uint256"}],"name":"setCompleted","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"new_address","type":"address"}],"name":"upgrade","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102d78061005e6000396000f300606060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630900f01014610067578063445df0ac146100a05780638da5cb5b146100c9578063fdacd5761461011e575b600080fd5b341561007257600080fd5b61009e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610141565b005b34156100ab57600080fd5b6100b3610220565b6040518082815260200191505060405180910390f35b34156100d457600080fd5b6100dc610226565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561012957600080fd5b61013f600480803590602001909190505061024b565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561021c578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b151561020b57600080fd5b5af1151561021857600080fd5b5050505b5050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102a857806001819055505b505600a165627a7a7230582096c4c193a1f1c7b80fad9b9e72a06261b909eff43519724091e71c164155e2760029","deployedBytecode":"0x606060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630900f01014610067578063445df0ac146100a05780638da5cb5b146100c9578063fdacd5761461011e575b600080fd5b341561007257600080fd5b61009e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610141565b005b34156100ab57600080fd5b6100b3610220565b6040518082815260200191505060405180910390f35b34156100d457600080fd5b6100dc610226565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561012957600080fd5b61013f600480803590602001909190505061024b565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561021c578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b151561020b57600080fd5b5af1151561021857600080fd5b5050505b5050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102a857806001819055505b505600a165627a7a7230582096c4c193a1f1c7b80fad9b9e72a06261b909eff43519724091e71c164155e2760029"} \ No newline at end of file +{ + "contractName": "Migrations", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "last_completed_migration", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "completed", + "type": "uint256" + } + ], + "name": "setCompleted", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "new_address", + "type": "address" + } + ], + "name": "upgrade", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102f8806100606000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630900f01014610067578063445df0ac146100aa5780638da5cb5b146100d5578063fdacd5761461012c575b600080fd5b34801561007357600080fd5b506100a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610159565b005b3480156100b657600080fd5b506100bf610241565b6040518082815260200191505060405180910390f35b3480156100e157600080fd5b506100ea610247565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013857600080fd5b506101576004803603810190808035906020019092919050505061026c565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561023d578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561022457600080fd5b505af1158015610238573d6000803e3d6000fd5b505050505b5050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102c957806001819055505b505600a165627a7a72305820ca0f48f968d6cb38c4383de0e89d1abed8d0e6460c0c6cd6dfee9634497a0ab50029", + "deployedBytecode": "0x608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630900f01014610067578063445df0ac146100aa5780638da5cb5b146100d5578063fdacd5761461012c575b600080fd5b34801561007357600080fd5b506100a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610159565b005b3480156100b657600080fd5b506100bf610241565b6040518082815260200191505060405180910390f35b3480156100e157600080fd5b506100ea610247565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013857600080fd5b506101576004803603810190808035906020019092919050505061026c565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561023d578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561022457600080fd5b505af1158015610238573d6000803e3d6000fd5b505050505b5050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102c957806001819055505b505600a165627a7a72305820ca0f48f968d6cb38c4383de0e89d1abed8d0e6460c0c6cd6dfee9634497a0ab50029", + "sourceMap": "24:467:0:-;;;176:51;8:9:-1;5:2;;;30:1;27;20:12;5:2;176:51:0;212:10;204:5;;:18;;;;;;;;;;;;;;;;;;24:467;;;;;;", + "deployedSourceMap": "24:467:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;331:158;;8:9:-1;5:2;;;30:1;27;20:12;5:2;331:158:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;72:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;72:36:0;;;;;;;;;;;;;;;;;;;;;;;48:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;48:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;231:96;;8:9:-1;5:2;;;30:1;27;20:12;5:2;231:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;331:158;386:19;159:5;;;;;;;;;;;145:19;;:10;:19;;;141:26;;;419:11;386:45;;437:8;:21;;;459:24;;437:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;437:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;437:47:0;;;;141:26;331:158;;:::o;72:36::-;;;;:::o;48:20::-;;;;;;;;;;;;;:::o;231:96::-;159:5;;;;;;;;;;;145:19;;:10;:19;;;141:26;;;313:9;286:24;:36;;;;141:26;231:96;:::o", + "source": "pragma solidity ^0.4.0;\ncontract Migrations {\n address public owner;\n uint public last_completed_migration;\n\n modifier restricted() {\n if (msg.sender == owner) _;\n }\n\n function Migrations() {\n owner = msg.sender;\n }\n\n function setCompleted(uint completed) restricted {\n last_completed_migration = completed;\n }\n\n function upgrade(address new_address) restricted {\n Migrations upgraded = Migrations(new_address);\n upgraded.setCompleted(last_completed_migration);\n }\n}\n", + "sourcePath": "/home/ubuntu/workspace/paratii-contracts/contracts/Migrations.sol", + "ast": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/Migrations.sol", + "exportedSymbols": { + "Migrations": [ + 56 + ] + }, + "id": 57, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.4", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:0" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 56, + "linearizedBaseContracts": [ + 56 + ], + "name": "Migrations", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 56, + "src": "48:20:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "48:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 5, + "name": "last_completed_migration", + "nodeType": "VariableDeclaration", + "scope": 56, + "src": "72:36:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "72:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 13, + "nodeType": "Block", + "src": "135:37:0", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 10, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "145:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "145:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 9, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "159:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "145:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 12, + "nodeType": "IfStatement", + "src": "141:26:0", + "trueBody": { + "id": 11, + "nodeType": "PlaceholderStatement", + "src": "166:1:0" + } + } + ] + }, + "documentation": null, + "id": 14, + "name": "restricted", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 6, + "nodeType": "ParameterList", + "parameters": [], + "src": "132:2:0" + }, + "src": "113:59:0", + "visibility": "internal" + }, + { + "body": { + "id": 22, + "nodeType": "Block", + "src": "198:29:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "204:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "212:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 19, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "212:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "204:18:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21, + "nodeType": "ExpressionStatement", + "src": "204:18:0" + } + ] + }, + "documentation": null, + "id": 23, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "Migrations", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15, + "nodeType": "ParameterList", + "parameters": [], + "src": "195:2:0" + }, + "payable": false, + "returnParameters": { + "id": 16, + "nodeType": "ParameterList", + "parameters": [], + "src": "198:0:0" + }, + "scope": 56, + "src": "176:51:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 34, + "nodeType": "Block", + "src": "280:47:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 32, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 30, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "286:24:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 31, + "name": "completed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "313:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "286:36:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 33, + "nodeType": "ExpressionStatement", + "src": "286:36:0" + } + ] + }, + "documentation": null, + "id": 35, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 28, + "modifierName": { + "argumentTypes": null, + "id": 27, + "name": "restricted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14, + "src": "269:10:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "269:10:0" + } + ], + "name": "setCompleted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25, + "name": "completed", + "nodeType": "VariableDeclaration", + "scope": 35, + "src": "253:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "253:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "252:16:0" + }, + "payable": false, + "returnParameters": { + "id": 29, + "nodeType": "ParameterList", + "parameters": [], + "src": "280:0:0" + }, + "scope": 56, + "src": "231:96:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 54, + "nodeType": "Block", + "src": "380:109:0", + "statements": [ + { + "assignments": [ + 43 + ], + "declarations": [ + { + "constant": false, + "id": 43, + "name": "upgraded", + "nodeType": "VariableDeclaration", + "scope": 55, + "src": "386:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$56", + "typeString": "contract Migrations" + }, + "typeName": { + "contractScope": null, + "id": 42, + "name": "Migrations", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 56, + "src": "386:10:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$56", + "typeString": "contract Migrations" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 47, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 45, + "name": "new_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37, + "src": "419:11:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 44, + "name": "Migrations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56, + "src": "408:10:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Migrations_$56_$", + "typeString": "type(contract Migrations)" + } + }, + "id": 46, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "408:23:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$56", + "typeString": "contract Migrations" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "386:45:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 51, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "459:24:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 48, + "name": "upgraded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43, + "src": "437:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$56", + "typeString": "contract Migrations" + } + }, + "id": 50, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setCompleted", + "nodeType": "MemberAccess", + "referencedDeclaration": 35, + "src": "437:21:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 52, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "437:47:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 53, + "nodeType": "ExpressionStatement", + "src": "437:47:0" + } + ] + }, + "documentation": null, + "id": 55, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 40, + "modifierName": { + "argumentTypes": null, + "id": 39, + "name": "restricted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14, + "src": "369:10:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "369:10:0" + } + ], + "name": "upgrade", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 38, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 37, + "name": "new_address", + "nodeType": "VariableDeclaration", + "scope": 55, + "src": "348:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 36, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "348:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "347:21:0" + }, + "payable": false, + "returnParameters": { + "id": 41, + "nodeType": "ParameterList", + "parameters": [], + "src": "380:0:0" + }, + "scope": 56, + "src": "331:158:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 57, + "src": "24:467:0" + } + ], + "src": "0:492:0" + }, + "legacyAST": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/Migrations.sol", + "exportedSymbols": { + "Migrations": [ + 56 + ] + }, + "id": 57, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.4", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:0" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 56, + "linearizedBaseContracts": [ + 56 + ], + "name": "Migrations", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 56, + "src": "48:20:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "48:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 5, + "name": "last_completed_migration", + "nodeType": "VariableDeclaration", + "scope": 56, + "src": "72:36:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "72:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 13, + "nodeType": "Block", + "src": "135:37:0", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 10, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "145:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "145:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 9, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "159:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "145:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 12, + "nodeType": "IfStatement", + "src": "141:26:0", + "trueBody": { + "id": 11, + "nodeType": "PlaceholderStatement", + "src": "166:1:0" + } + } + ] + }, + "documentation": null, + "id": 14, + "name": "restricted", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 6, + "nodeType": "ParameterList", + "parameters": [], + "src": "132:2:0" + }, + "src": "113:59:0", + "visibility": "internal" + }, + { + "body": { + "id": 22, + "nodeType": "Block", + "src": "198:29:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "204:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "212:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 19, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "212:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "204:18:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21, + "nodeType": "ExpressionStatement", + "src": "204:18:0" + } + ] + }, + "documentation": null, + "id": 23, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "Migrations", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15, + "nodeType": "ParameterList", + "parameters": [], + "src": "195:2:0" + }, + "payable": false, + "returnParameters": { + "id": 16, + "nodeType": "ParameterList", + "parameters": [], + "src": "198:0:0" + }, + "scope": 56, + "src": "176:51:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 34, + "nodeType": "Block", + "src": "280:47:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 32, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 30, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "286:24:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 31, + "name": "completed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "313:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "286:36:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 33, + "nodeType": "ExpressionStatement", + "src": "286:36:0" + } + ] + }, + "documentation": null, + "id": 35, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 28, + "modifierName": { + "argumentTypes": null, + "id": 27, + "name": "restricted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14, + "src": "269:10:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "269:10:0" + } + ], + "name": "setCompleted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25, + "name": "completed", + "nodeType": "VariableDeclaration", + "scope": 35, + "src": "253:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "253:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "252:16:0" + }, + "payable": false, + "returnParameters": { + "id": 29, + "nodeType": "ParameterList", + "parameters": [], + "src": "280:0:0" + }, + "scope": 56, + "src": "231:96:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 54, + "nodeType": "Block", + "src": "380:109:0", + "statements": [ + { + "assignments": [ + 43 + ], + "declarations": [ + { + "constant": false, + "id": 43, + "name": "upgraded", + "nodeType": "VariableDeclaration", + "scope": 55, + "src": "386:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$56", + "typeString": "contract Migrations" + }, + "typeName": { + "contractScope": null, + "id": 42, + "name": "Migrations", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 56, + "src": "386:10:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$56", + "typeString": "contract Migrations" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 47, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 45, + "name": "new_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37, + "src": "419:11:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 44, + "name": "Migrations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56, + "src": "408:10:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Migrations_$56_$", + "typeString": "type(contract Migrations)" + } + }, + "id": 46, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "408:23:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$56", + "typeString": "contract Migrations" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "386:45:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 51, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "459:24:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 48, + "name": "upgraded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43, + "src": "437:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$56", + "typeString": "contract Migrations" + } + }, + "id": 50, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setCompleted", + "nodeType": "MemberAccess", + "referencedDeclaration": 35, + "src": "437:21:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 52, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "437:47:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 53, + "nodeType": "ExpressionStatement", + "src": "437:47:0" + } + ] + }, + "documentation": null, + "id": 55, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 40, + "modifierName": { + "argumentTypes": null, + "id": 39, + "name": "restricted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14, + "src": "369:10:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "369:10:0" + } + ], + "name": "upgrade", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 38, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 37, + "name": "new_address", + "nodeType": "VariableDeclaration", + "scope": 55, + "src": "348:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 36, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "348:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "347:21:0" + }, + "payable": false, + "returnParameters": { + "id": 41, + "nodeType": "ParameterList", + "parameters": [], + "src": "380:0:0" + }, + "scope": 56, + "src": "331:158:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 57, + "src": "24:467:0" + } + ], + "src": "0:492:0" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-29T16:29:38.948Z" +} \ No newline at end of file diff --git a/build/contracts/Ownable.json b/build/contracts/Ownable.json index 29cb317..9ea9053 100644 --- a/build/contracts/Ownable.json +++ b/build/contracts/Ownable.json @@ -1 +1,1459 @@ -{"contractName":"Ownable","abi":[{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102858061005e6000396000f30060606040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638da5cb5b14610051578063f2fde38b146100a6575b600080fd5b341561005c57600080fd5b6100646100df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100b157600080fd5b6100dd600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610104565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561015f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561019b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058208e4a4262acbb5f85363ab4d6387132f266dbe2c0c1ae349d86160276265c6e1e0029","deployedBytecode":"0x60606040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638da5cb5b14610051578063f2fde38b146100a6575b600080fd5b341561005c57600080fd5b6100646100df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100b157600080fd5b6100dd600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610104565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561015f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561019b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058208e4a4262acbb5f85363ab4d6387132f266dbe2c0c1ae349d86160276265c6e1e0029"} \ No newline at end of file +{ + "contractName": "Ownable", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610291806100606000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638da5cb5b14610051578063f2fde38b146100a8575b600080fd5b34801561005d57600080fd5b506100666100eb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100b457600080fd5b506100e9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610110565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561016b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156101a757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a7230582090067046b17c22d1a16753fc182d09aa7040b1bbf9f0351a6b401b86754a48dc0029", + "deployedBytecode": "0x60806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638da5cb5b14610051578063f2fde38b146100a8575b600080fd5b34801561005d57600080fd5b506100666100eb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100b457600080fd5b506100e9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610110565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561016b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156101a757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a7230582090067046b17c22d1a16753fc182d09aa7040b1bbf9f0351a6b401b86754a48dc0029", + "sourceMap": "217:782:9:-;;;469:48;8:9:-1;5:2;;;30:1;27;20:12;5:2;469:48:9;502:10;494:5;;:18;;;;;;;;;;;;;;;;;;217:782;;;;;;", + "deployedSourceMap": "217:782:9:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:9;;;;;;;;;;;;;;;;;;;;;;;;;;;827:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;827:169:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20;;;;;;;;;;;;;:::o;827:169::-;647:5;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;923:1;903:22;;:8;:22;;;;895:31;;;;;;;;960:8;932:37;;953:5;;;;;;;;;;;932:37;;;;;;;;;;;;983:8;975:5;;:16;;;;;;;;;;;;;;;;;;827:169;:::o", + "source": "pragma solidity ^0.4.11;\n\n\n/**\n * @title Ownable\n * @dev The Ownable contract has an owner address, and provides basic authorization control\n * functions, this simplifies the implementation of \"user permissions\".\n */\ncontract Ownable {\n address public owner;\n\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n\n /**\n * @dev The Ownable constructor sets the original `owner` of the contract to the sender\n * account.\n */\n function Ownable() {\n owner = msg.sender;\n }\n\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n require(msg.sender == owner);\n _;\n }\n\n\n /**\n * @dev Allows the current owner to transfer control of the contract to a newOwner.\n * @param newOwner The address to transfer ownership to.\n */\n function transferOwnership(address newOwner) onlyOwner public {\n require(newOwner != address(0));\n OwnershipTransferred(owner, newOwner);\n owner = newOwner;\n }\n\n}\n", + "sourcePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "ast": { + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "exportedSymbols": { + "Ownable": [ + 1354 + ] + }, + "id": 1355, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1300, + "literals": [ + "solidity", + "^", + "0.4", + ".11" + ], + "nodeType": "PragmaDirective", + "src": "0:24:9" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Ownable\n@dev The Ownable contract has an owner address, and provides basic authorization control\nfunctions, this simplifies the implementation of \"user permissions\".", + "fullyImplemented": true, + "id": 1354, + "linearizedBaseContracts": [ + 1354 + ], + "name": "Ownable", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 1302, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1354, + "src": "238:20:9", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1301, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "238:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 1308, + "name": "OwnershipTransferred", + "nodeType": "EventDefinition", + "parameters": { + "id": 1307, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1304, + "indexed": true, + "name": "previousOwner", + "nodeType": "VariableDeclaration", + "scope": 1308, + "src": "291:29:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1303, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "291:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1306, + "indexed": true, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 1308, + "src": "322:24:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1305, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "322:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "290:57:9" + }, + "src": "264:84:9" + }, + { + "body": { + "id": 1316, + "nodeType": "Block", + "src": "488:29:9", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1311, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1302, + "src": "494:5:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1312, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "502:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "502:10:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "494:18:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1315, + "nodeType": "ExpressionStatement", + "src": "494:18:9" + } + ] + }, + "documentation": "@dev The Ownable constructor sets the original `owner` of the contract to the sender\naccount.", + "id": 1317, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "Ownable", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1309, + "nodeType": "ParameterList", + "parameters": [], + "src": "485:2:9" + }, + "payable": false, + "returnParameters": { + "id": 1310, + "nodeType": "ParameterList", + "parameters": [], + "src": "488:0:9" + }, + "scope": 1354, + "src": "469:48:9", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1327, + "nodeType": "Block", + "src": "619:46:9", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1320, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "633:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "633:10:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1322, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1302, + "src": "647:5:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "633:19:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1319, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1752, + 1753 + ], + "referencedDeclaration": 1752, + "src": "625:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "625:28:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1325, + "nodeType": "ExpressionStatement", + "src": "625:28:9" + }, + { + "id": 1326, + "nodeType": "PlaceholderStatement", + "src": "659:1:9" + } + ] + }, + "documentation": "@dev Throws if called by any account other than the owner.", + "id": 1328, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1318, + "nodeType": "ParameterList", + "parameters": [], + "src": "616:2:9" + }, + "src": "598:67:9", + "visibility": "internal" + }, + { + "body": { + "id": 1352, + "nodeType": "Block", + "src": "889:107:9", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1336, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1330, + "src": "903:8:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1338, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "923:1:9", + "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": 1337, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "915:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1339, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "915:10:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "903:22:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1335, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1752, + 1753 + ], + "referencedDeclaration": 1752, + "src": "895:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "895:31:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1342, + "nodeType": "ExpressionStatement", + "src": "895:31:9" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1344, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1302, + "src": "953:5:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1345, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1330, + "src": "960:8:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1343, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1308, + "src": "932:20:9", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "932:37:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1347, + "nodeType": "ExpressionStatement", + "src": "932:37:9" + }, + { + "expression": { + "argumentTypes": null, + "id": 1350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1348, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1302, + "src": "975:5:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1349, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1330, + "src": "983:8:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "975:16:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1351, + "nodeType": "ExpressionStatement", + "src": "975:16:9" + } + ] + }, + "documentation": "@dev Allows the current owner to transfer control of the contract to a newOwner.\n@param newOwner The address to transfer ownership to.", + "id": 1353, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 1333, + "modifierName": { + "argumentTypes": null, + "id": 1332, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "872:9:9", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "872:9:9" + } + ], + "name": "transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1330, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 1353, + "src": "854:16:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1329, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "854:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "853:18:9" + }, + "payable": false, + "returnParameters": { + "id": 1334, + "nodeType": "ParameterList", + "parameters": [], + "src": "889:0:9" + }, + "scope": 1354, + "src": "827:169:9", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1355, + "src": "217:782:9" + } + ], + "src": "0:1000:9" + }, + "legacyAST": { + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "exportedSymbols": { + "Ownable": [ + 1354 + ] + }, + "id": 1355, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1300, + "literals": [ + "solidity", + "^", + "0.4", + ".11" + ], + "nodeType": "PragmaDirective", + "src": "0:24:9" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Ownable\n@dev The Ownable contract has an owner address, and provides basic authorization control\nfunctions, this simplifies the implementation of \"user permissions\".", + "fullyImplemented": true, + "id": 1354, + "linearizedBaseContracts": [ + 1354 + ], + "name": "Ownable", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 1302, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1354, + "src": "238:20:9", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1301, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "238:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 1308, + "name": "OwnershipTransferred", + "nodeType": "EventDefinition", + "parameters": { + "id": 1307, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1304, + "indexed": true, + "name": "previousOwner", + "nodeType": "VariableDeclaration", + "scope": 1308, + "src": "291:29:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1303, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "291:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1306, + "indexed": true, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 1308, + "src": "322:24:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1305, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "322:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "290:57:9" + }, + "src": "264:84:9" + }, + { + "body": { + "id": 1316, + "nodeType": "Block", + "src": "488:29:9", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1311, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1302, + "src": "494:5:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1312, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "502:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "502:10:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "494:18:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1315, + "nodeType": "ExpressionStatement", + "src": "494:18:9" + } + ] + }, + "documentation": "@dev The Ownable constructor sets the original `owner` of the contract to the sender\naccount.", + "id": 1317, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "Ownable", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1309, + "nodeType": "ParameterList", + "parameters": [], + "src": "485:2:9" + }, + "payable": false, + "returnParameters": { + "id": 1310, + "nodeType": "ParameterList", + "parameters": [], + "src": "488:0:9" + }, + "scope": 1354, + "src": "469:48:9", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1327, + "nodeType": "Block", + "src": "619:46:9", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1320, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "633:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "633:10:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1322, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1302, + "src": "647:5:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "633:19:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1319, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1752, + 1753 + ], + "referencedDeclaration": 1752, + "src": "625:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "625:28:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1325, + "nodeType": "ExpressionStatement", + "src": "625:28:9" + }, + { + "id": 1326, + "nodeType": "PlaceholderStatement", + "src": "659:1:9" + } + ] + }, + "documentation": "@dev Throws if called by any account other than the owner.", + "id": 1328, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1318, + "nodeType": "ParameterList", + "parameters": [], + "src": "616:2:9" + }, + "src": "598:67:9", + "visibility": "internal" + }, + { + "body": { + "id": 1352, + "nodeType": "Block", + "src": "889:107:9", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1336, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1330, + "src": "903:8:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1338, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "923:1:9", + "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": 1337, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "915:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1339, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "915:10:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "903:22:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1335, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1752, + 1753 + ], + "referencedDeclaration": 1752, + "src": "895:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "895:31:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1342, + "nodeType": "ExpressionStatement", + "src": "895:31:9" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1344, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1302, + "src": "953:5:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1345, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1330, + "src": "960:8:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1343, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1308, + "src": "932:20:9", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "932:37:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1347, + "nodeType": "ExpressionStatement", + "src": "932:37:9" + }, + { + "expression": { + "argumentTypes": null, + "id": 1350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1348, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1302, + "src": "975:5:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1349, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1330, + "src": "983:8:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "975:16:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1351, + "nodeType": "ExpressionStatement", + "src": "975:16:9" + } + ] + }, + "documentation": "@dev Allows the current owner to transfer control of the contract to a newOwner.\n@param newOwner The address to transfer ownership to.", + "id": 1353, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 1333, + "modifierName": { + "argumentTypes": null, + "id": 1332, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "872:9:9", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "872:9:9" + } + ], + "name": "transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1330, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 1353, + "src": "854:16:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1329, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "854:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "853:18:9" + }, + "payable": false, + "returnParameters": { + "id": 1334, + "nodeType": "ParameterList", + "parameters": [], + "src": "889:0:9" + }, + "scope": 1354, + "src": "827:169:9", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1355, + "src": "217:782:9" + } + ], + "src": "0:1000:9" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-29T16:30:42.881Z" +} \ No newline at end of file diff --git a/build/contracts/PTIDistributor.json b/build/contracts/PTIDistributor.json index dafaf93..1963c6f 100644 --- a/build/contracts/PTIDistributor.json +++ b/build/contracts/PTIDistributor.json @@ -1 +1,6756 @@ -{"contractName":"PTIDistributor","abi":[{"constant":true,"inputs":[],"name":"registry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","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"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"isUsed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_toAddress","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"},{"indexed":false,"name":"_reason","type":"string"}],"name":"LogDistribute","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_toAddress","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"},{"indexed":false,"name":"_reason","type":"string"}],"name":"LogDistributeTransferable","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_hashing","type":"bytes32"}],"name":"LogDebug","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_owner","type":"address"}],"name":"LogDebugOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_toAddress","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_salt","type":"bytes32"},{"name":"_reason","type":"string"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"}],"name":"distribute","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_toAddress","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_salt","type":"bytes32"},{"name":"_reason","type":"string"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"}],"name":"checkOwnerPacked","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_hash","type":"bytes32"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"}],"name":"checkOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_toAddress","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_salt","type":"bytes32"},{"name":"_reason","type":"string"}],"name":"checkHashing","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b60405160208061111f83398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050611023806100fc6000396000f30060606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680637b103999146100935780638da5cb5b146100e8578063a88a8e321461013d578063a9eb363c146101f5578063b46246db14610287578063d88204431461033f578063f2fde38b146103cc578063fe255a1814610405575b600080fd5b341561009e57600080fd5b6100a6610444565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100f357600080fd5b6100fb61046a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561014857600080fd5b6101f3600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919080356000191690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803560ff16906020019091908035600019169060200190919080356000191690602001909190505061048f565b005b341561020057600080fd5b610285600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919080356000191690602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506109c6565b005b341561029257600080fd5b61033d600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919080356000191690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803560ff169060200190919080356000191690602001909190803560001916906020019091905050610ace565b005b341561034a57600080fd5b61038a60048080356000191690602001909190803560ff169060200190919080356000191690602001909190803560001916906020019091905050610d2f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103d757600080fd5b610403600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e6e565b005b341561041057600080fd5b61042a600480803560001916906020019091905050610fc3565b604051808215151515815260200191505060405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610499610fe3565b6000808a8a8a8a604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848152602001836000191660001916815260200182805190602001908083835b60208310151561052a5780518252602082019150602081019050602083039250610505565b6001836020036101000a038019825116818451168082178552505050505050905001945050505050604051809103902093506040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250925082846040518083805190602001908083835b6020831015156105cb57805182526020820191506020810190506020830392506105a6565b6001836020036101000a03801982511681845116808217855250505050505090500182600019166000191681526020019250505060405180910390209150600260008a6000191660001916815260200190815260200160002060009054906101000a900460ff1615801561070457506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600183898989604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af115156106e357600080fd5b50506020604051035173ffffffffffffffffffffffffffffffffffffffff16145b151561070f57600080fd5b6001600260008b6000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600c8152602001807f50617261746969546f6b656e0000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561080457600080fd5b5af1151561081157600080fd5b5050506040518051905090508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8c8c6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156108bf57600080fd5b5af115156108cc57600080fd5b5050506040518051905015156108e157600080fd5b7f47c36377eacf5c9bf0b0bffe0f11388976bba76b10c4a87c59a7d6847497205b8b8b8a604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561097d578082015181840152602081019050610962565b50505050905090810190601f1680156109aa5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15050505050505050505050565b600084848484604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848152602001836000191660001916815260200182805190602001908083835b602083101515610a565780518252602082019150602081019050602083039250610a31565b6001836020036101000a038019825116818451168082178552505050505050905001945050505050604051809103902090507f05e46912c9be87d8a6830598db8544b61884d9d22f3921597a9a6e8a340914b38160405180826000191660001916815260200191505060405180910390a15050505050565b6000610ad8610fe3565b600089898989604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848152602001836000191660001916815260200182805190602001908083835b602083101515610b685780518252602082019150602081019050602083039250610b43565b6001836020036101000a038019825116818451168082178552505050505050905001945050505050604051809103902092506040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250915081836040518083805190602001908083835b602083101515610c095780518252602082019150602081019050602083039250610be4565b6001836020036101000a038019825116818451168082178552505050505050905001826000191660001916815260200192505050604051809103902090507ff9af0632ddaf7a690a6486635894cfe799c6b72244b459660893f9f7b95771e8600182888888604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af11515610cd957600080fd5b505060206040510351604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150505050505050505050565b6000610d39610fe3565b60006040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250915081876040518083805190602001908083835b602083101515610daa5780518252602082019150602081019050602083039250610d85565b6001836020036101000a03801982511681845116808217855250505050505090500182600019166000191681526020019250505060405180910390209050600181878787604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af11515610e5957600080fd5b50506020604051035192505050949350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ec957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610f0557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60026020528060005260406000206000915054906101000a900460ff1681565b6020604051908101604052806000815250905600a165627a7a72305820f5ece6ff2a79fffdd51d43ed6140b1ce4ddec29de39ec268fb2b66918f48fe930029","deployedBytecode":"0x60606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680637b103999146100935780638da5cb5b146100e8578063a88a8e321461013d578063a9eb363c146101f5578063b46246db14610287578063d88204431461033f578063f2fde38b146103cc578063fe255a1814610405575b600080fd5b341561009e57600080fd5b6100a6610444565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100f357600080fd5b6100fb61046a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561014857600080fd5b6101f3600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919080356000191690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803560ff16906020019091908035600019169060200190919080356000191690602001909190505061048f565b005b341561020057600080fd5b610285600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919080356000191690602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506109c6565b005b341561029257600080fd5b61033d600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919080356000191690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803560ff169060200190919080356000191690602001909190803560001916906020019091905050610ace565b005b341561034a57600080fd5b61038a60048080356000191690602001909190803560ff169060200190919080356000191690602001909190803560001916906020019091905050610d2f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103d757600080fd5b610403600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e6e565b005b341561041057600080fd5b61042a600480803560001916906020019091905050610fc3565b604051808215151515815260200191505060405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610499610fe3565b6000808a8a8a8a604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848152602001836000191660001916815260200182805190602001908083835b60208310151561052a5780518252602082019150602081019050602083039250610505565b6001836020036101000a038019825116818451168082178552505050505050905001945050505050604051809103902093506040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250925082846040518083805190602001908083835b6020831015156105cb57805182526020820191506020810190506020830392506105a6565b6001836020036101000a03801982511681845116808217855250505050505090500182600019166000191681526020019250505060405180910390209150600260008a6000191660001916815260200190815260200160002060009054906101000a900460ff1615801561070457506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600183898989604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af115156106e357600080fd5b50506020604051035173ffffffffffffffffffffffffffffffffffffffff16145b151561070f57600080fd5b6001600260008b6000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600c8152602001807f50617261746969546f6b656e0000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561080457600080fd5b5af1151561081157600080fd5b5050506040518051905090508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8c8c6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156108bf57600080fd5b5af115156108cc57600080fd5b5050506040518051905015156108e157600080fd5b7f47c36377eacf5c9bf0b0bffe0f11388976bba76b10c4a87c59a7d6847497205b8b8b8a604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561097d578082015181840152602081019050610962565b50505050905090810190601f1680156109aa5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15050505050505050505050565b600084848484604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848152602001836000191660001916815260200182805190602001908083835b602083101515610a565780518252602082019150602081019050602083039250610a31565b6001836020036101000a038019825116818451168082178552505050505050905001945050505050604051809103902090507f05e46912c9be87d8a6830598db8544b61884d9d22f3921597a9a6e8a340914b38160405180826000191660001916815260200191505060405180910390a15050505050565b6000610ad8610fe3565b600089898989604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848152602001836000191660001916815260200182805190602001908083835b602083101515610b685780518252602082019150602081019050602083039250610b43565b6001836020036101000a038019825116818451168082178552505050505050905001945050505050604051809103902092506040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250915081836040518083805190602001908083835b602083101515610c095780518252602082019150602081019050602083039250610be4565b6001836020036101000a038019825116818451168082178552505050505050905001826000191660001916815260200192505050604051809103902090507ff9af0632ddaf7a690a6486635894cfe799c6b72244b459660893f9f7b95771e8600182888888604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af11515610cd957600080fd5b505060206040510351604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150505050505050505050565b6000610d39610fe3565b60006040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250915081876040518083805190602001908083835b602083101515610daa5780518252602082019150602081019050602083039250610d85565b6001836020036101000a03801982511681845116808217855250505050505090500182600019166000191681526020019250505060405180910390209050600181878787604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af11515610e5957600080fd5b50506020604051035192505050949350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ec957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610f0557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60026020528060005260406000206000915054906101000a900460ff1681565b6020604051908101604052806000815250905600a165627a7a72305820f5ece6ff2a79fffdd51d43ed6140b1ce4ddec29de39ec268fb2b66918f48fe930029"} \ No newline at end of file +{ + "contractName": "PTIDistributor", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "registry", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "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" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "isUsed", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_registry", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_toAddress", + "type": "address" + }, + { + "indexed": false, + "name": "_amount", + "type": "uint256" + }, + { + "indexed": false, + "name": "_reason", + "type": "string" + } + ], + "name": "LogDistribute", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_toAddress", + "type": "address" + }, + { + "indexed": false, + "name": "_amount", + "type": "uint256" + }, + { + "indexed": false, + "name": "_reason", + "type": "string" + } + ], + "name": "LogDistributeTransferable", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_hashing", + "type": "bytes32" + } + ], + "name": "LogDebug", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_owner", + "type": "address" + } + ], + "name": "LogDebugOwner", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_toAddress", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + }, + { + "name": "_salt", + "type": "bytes32" + }, + { + "name": "_reason", + "type": "string" + }, + { + "name": "_v", + "type": "uint8" + }, + { + "name": "_r", + "type": "bytes32" + }, + { + "name": "_s", + "type": "bytes32" + } + ], + "name": "distribute", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_toAddress", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + }, + { + "name": "_salt", + "type": "bytes32" + }, + { + "name": "_reason", + "type": "string" + }, + { + "name": "_v", + "type": "uint8" + }, + { + "name": "_r", + "type": "bytes32" + }, + { + "name": "_s", + "type": "bytes32" + } + ], + "name": "checkOwnerPacked", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_hash", + "type": "bytes32" + }, + { + "name": "_v", + "type": "uint8" + }, + { + "name": "_r", + "type": "bytes32" + }, + { + "name": "_s", + "type": "bytes32" + } + ], + "name": "checkOwner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_toAddress", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + }, + { + "name": "_salt", + "type": "bytes32" + }, + { + "name": "_reason", + "type": "string" + } + ], + "name": "checkHashing", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506040516020806111b883398101806040528101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506110b4806101046000396000f30060806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680637b103999146100935780638da5cb5b146100ea578063a88a8e3214610141578063a9eb363c1461020b578063b46246db146102ac578063d882044314610376578063f2fde38b14610410578063fe255a1814610453575b600080fd5b34801561009f57600080fd5b506100a861049c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100f657600080fd5b506100ff6104c2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014d57600080fd5b50610209600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190803560001916906020019092919080356000191690602001909291905050506104e7565b005b34801561021757600080fd5b506102aa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610a69565b005b3480156102b857600080fd5b50610374600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff16906020019092919080356000191690602001909291908035600019169060200190929190505050610b71565b005b34801561038257600080fd5b506103ce6004803603810190808035600019169060200190929190803560ff16906020019092919080356000191690602001909291908035600019169060200190929190505050610dd3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561041c57600080fd5b50610451600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f13565b005b34801561045f57600080fd5b506104826004803603810190808035600019169060200190929190505050611068565b604051808215151515815260200191505060405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060606000808a8a8a8a604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848152602001836000191660001916815260200182805190602001908083835b60208310151561057c5780518252602082019150602081019050602083039250610557565b6001836020036101000a038019825116818451168082178552505050505050905001945050505050604051809103902093506040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250925082846040518083805190602001908083835b60208310151561061d57805182526020820191506020810190506020830392506105f8565b6001836020036101000a03801982511681845116808217855250505050505090500182600019166000191681526020019250505060405180910390209150600260008a6000191660001916815260200190815260200160002060009054906101000a900460ff1615801561075d57506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600183898989604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af115801561073b573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff16145b151561076857600080fd5b6001600260008b6000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600c8152602001807f50617261746969546f6b656e0000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561085e57600080fd5b505af1158015610872573d6000803e3d6000fd5b505050506040513d602081101561088857600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8c8c6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561093e57600080fd5b505af1158015610952573d6000803e3d6000fd5b505050506040513d602081101561096857600080fd5b8101908080519060200190929190505050151561098457600080fd5b7f47c36377eacf5c9bf0b0bffe0f11388976bba76b10c4a87c59a7d6847497205b8b8b8a604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610a20578082015181840152602081019050610a05565b50505050905090810190601f168015610a4d5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15050505050505050505050565b600084848484604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848152602001836000191660001916815260200182805190602001908083835b602083101515610af95780518252602082019150602081019050602083039250610ad4565b6001836020036101000a038019825116818451168082178552505050505050905001945050505050604051809103902090507f05e46912c9be87d8a6830598db8544b61884d9d22f3921597a9a6e8a340914b38160405180826000191660001916815260200191505060405180910390a15050505050565b60006060600089898989604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848152602001836000191660001916815260200182805190602001908083835b602083101515610c055780518252602082019150602081019050602083039250610be0565b6001836020036101000a038019825116818451168082178552505050505050905001945050505050604051809103902092506040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250915081836040518083805190602001908083835b602083101515610ca65780518252602082019150602081019050602083039250610c81565b6001836020036101000a038019825116818451168082178552505050505050905001826000191660001916815260200192505050604051809103902090507ff9af0632ddaf7a690a6486635894cfe799c6b72244b459660893f9f7b95771e8600182888888604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015610d7c573d6000803e3d6000fd5b50505060206040510351604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150505050505050505050565b6000606060006040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250915081876040518083805190602001908083835b602083101515610e485780518252602082019150602081019050602083039250610e23565b6001836020036101000a03801982511681845116808217855250505050505090500182600019166000191681526020019250505060405180910390209050600181878787604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015610efd573d6000803e3d6000fd5b5050506020604051035192505050949350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f6e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610faa57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60026020528060005260406000206000915054906101000a900460ff16815600a165627a7a72305820f41ea40cf3fdf856a3c40f89c6ff01cea000f697ea7c1b12a8a69d00fe45362c0029", + "deployedBytecode": "0x60806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680637b103999146100935780638da5cb5b146100ea578063a88a8e3214610141578063a9eb363c1461020b578063b46246db146102ac578063d882044314610376578063f2fde38b14610410578063fe255a1814610453575b600080fd5b34801561009f57600080fd5b506100a861049c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100f657600080fd5b506100ff6104c2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014d57600080fd5b50610209600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190803560001916906020019092919080356000191690602001909291905050506104e7565b005b34801561021757600080fd5b506102aa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610a69565b005b3480156102b857600080fd5b50610374600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff16906020019092919080356000191690602001909291908035600019169060200190929190505050610b71565b005b34801561038257600080fd5b506103ce6004803603810190808035600019169060200190929190803560ff16906020019092919080356000191690602001909291908035600019169060200190929190505050610dd3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561041c57600080fd5b50610451600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f13565b005b34801561045f57600080fd5b506104826004803603810190808035600019169060200190929190505050611068565b604051808215151515815260200191505060405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060606000808a8a8a8a604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848152602001836000191660001916815260200182805190602001908083835b60208310151561057c5780518252602082019150602081019050602083039250610557565b6001836020036101000a038019825116818451168082178552505050505050905001945050505050604051809103902093506040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250925082846040518083805190602001908083835b60208310151561061d57805182526020820191506020810190506020830392506105f8565b6001836020036101000a03801982511681845116808217855250505050505090500182600019166000191681526020019250505060405180910390209150600260008a6000191660001916815260200190815260200160002060009054906101000a900460ff1615801561075d57506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600183898989604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af115801561073b573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff16145b151561076857600080fd5b6001600260008b6000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600c8152602001807f50617261746969546f6b656e0000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561085e57600080fd5b505af1158015610872573d6000803e3d6000fd5b505050506040513d602081101561088857600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8c8c6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561093e57600080fd5b505af1158015610952573d6000803e3d6000fd5b505050506040513d602081101561096857600080fd5b8101908080519060200190929190505050151561098457600080fd5b7f47c36377eacf5c9bf0b0bffe0f11388976bba76b10c4a87c59a7d6847497205b8b8b8a604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610a20578082015181840152602081019050610a05565b50505050905090810190601f168015610a4d5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15050505050505050505050565b600084848484604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848152602001836000191660001916815260200182805190602001908083835b602083101515610af95780518252602082019150602081019050602083039250610ad4565b6001836020036101000a038019825116818451168082178552505050505050905001945050505050604051809103902090507f05e46912c9be87d8a6830598db8544b61884d9d22f3921597a9a6e8a340914b38160405180826000191660001916815260200191505060405180910390a15050505050565b60006060600089898989604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848152602001836000191660001916815260200182805190602001908083835b602083101515610c055780518252602082019150602081019050602083039250610be0565b6001836020036101000a038019825116818451168082178552505050505050905001945050505050604051809103902092506040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250915081836040518083805190602001908083835b602083101515610ca65780518252602082019150602081019050602083039250610c81565b6001836020036101000a038019825116818451168082178552505050505050905001826000191660001916815260200192505050604051809103902090507ff9af0632ddaf7a690a6486635894cfe799c6b72244b459660893f9f7b95771e8600182888888604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015610d7c573d6000803e3d6000fd5b50505060206040510351604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150505050505050505050565b6000606060006040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250915081876040518083805190602001908083835b602083101515610e485780518252602082019150602081019050602083039250610e23565b6001836020036101000a03801982511681845116808217855250505050505090500182600019166000191681526020019250505060405180910390209050600181878787604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015610efd573d6000803e3d6000fd5b5050506020604051035192505050949350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f6e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610faa57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60026020528060005260406000206000915054906101000a900460ff16815600a165627a7a72305820f41ea40cf3fdf856a3c40f89c6ff01cea000f697ea7c1b12a8a69d00fe45362c0029", + "sourceMap": "141:2026:4:-;;;501:104;8:9:-1;5:2;;;30:1;27;20:12;5:2;501:104:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;502:10:16;494:5;;:18;;;;;;;;;;;;;;;;;;558:10:4;550:5;;:18;;;;;;;;;;;;;;;;;;589:9;578:8;;:20;;;;;;;;;;;;;;;;;;501:104;141:2026;;;;;;", + "deployedSourceMap": "141:2026:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;183:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;183:24:4;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:16;;;;;;;;;;;;;;;;;;;;;;;;;;;612:639:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;612:639:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1955:210;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1955:210:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1257:406;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1257:406:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1668:281;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1668:281:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;827:169:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;827:169:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;456:38:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;456:38:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;183:24;;;;;;;;;;;;;:::o;238:20:16:-;;;;;;;;;;;;;:::o;612:639:4:-;751:15;825:19;891:20;1061:18;779:10;791:7;800:5;807:7;769:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;769:46:4;;;;;;;;;;;;;;;;;;;751:64;;825:56;;;;;;;;;;;;;;;;;;;;924:6;932:7;914:26;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;914:26:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;891:49;;959:6;:13;966:5;959:13;;;;;;;;;;;;;;;;;;;;;;;;;;;958:14;:62;;;;;1015:5;;;;;;;;;;;976:44;;:35;986:12;1000:2;1004;1008;976:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;976:35:4;;;;;;;;:44;;;958:62;950:71;;;;;;;;1047:4;1031:6;:13;1038:5;1031:13;;;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;1095:8;;;;;;;;;;;:20;;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1095:36:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1095:36:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1095:36:4;;;;;;;;;;;;;;;;1061:71;;1150:5;:14;;;1165:10;1177:7;1150:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1150:35:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1150:35:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1150:35:4;;;;;;;;;;;;;;;;1142:44;;;;;;;;1201:43;1215:10;1227:7;1236;1201:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1201:43:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;612:639;;;;;;;;;;;:::o;1955:210::-;2062:15;2090:10;2102:7;2111:5;2118:7;2080:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2080:46:4;;;;;;;;;;;;;;;;;;;2062:64;;2141:17;2150:7;2141:17;;;;;;;;;;;;;;;;;;;;;;;;1955:210;;;;;:::o;1257:406::-;1402:15;1476:19;1542:20;1430:10;1442:7;1451:5;1458:7;1420:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1420:46:4;;;;;;;;;;;;;;;;;;;1402:64;;1476:56;;;;;;;;;;;;;;;;;;;;1575:6;1583:7;1565:26;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1565:26:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;1542:49;;1606:50;1620:35;1630:12;1644:2;1648;1652;1620:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1620:35:4;;;;;;;;1606:50;;;;;;;;;;;;;;;;;;;;;;1257:406;;;;;;;;;;:::o;1668:281::-;1758:7;1777:19;1843:20;1777:56;;;;;;;;;;;;;;;;;;;;1876:6;1884:5;1866:24;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1866:24:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;1843:47;;1907:35;1917:12;1931:2;1935;1939;1907:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1907:35:4;;;;;;;;1900:42;;1668:281;;;;;;;;:::o;827:169:16:-;647:5;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;923:1;903:22;;:8;:22;;;;895:31;;;;;;;;960:8;932:37;;953:5;;;;;;;;;;;932:37;;;;;;;;;;;;983:8;975:5;;:16;;;;;;;;;;;;;;;;;;827:169;:::o;456:38:4:-;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.18;\n\nimport \"zeppelin-solidity/contracts/ownership/Ownable.sol\";\nimport \"./ParatiiToken.sol\";\nimport \"./Registry.sol\";\n\ncontract PTIDistributor is Ownable {\n\n Registry public registry;\n\n event LogDistribute(address _toAddress, uint _amount, string _reason);\n event LogDistributeTransferable(address _toAddress, uint _amount, string _reason);\n event LogDebug(bytes32 _hashing);\n event LogDebugOwner(address _owner);\n\n mapping(bytes32 => bool) public isUsed;\n\n constructor(Registry _registry) public {\n owner = msg.sender;\n registry = _registry;\n }\n\n\n function distribute(address _toAddress, uint256 _amount, bytes32 _salt, string _reason, uint8 _v, bytes32 _r, bytes32 _s) public {\n bytes32 message = keccak256(_toAddress, _amount, _salt, _reason);\n bytes memory prefix = \"\\x19Ethereum Signed Message:\\n32\";\n bytes32 prefixedHash = keccak256(prefix, message);\n require(!isUsed[_salt] && ecrecover(prefixedHash, _v, _r, _s) == owner);\n isUsed[_salt] = true;\n ParatiiToken token = ParatiiToken(registry.getContract(\"ParatiiToken\"));\n require(token.transfer(_toAddress, _amount));\n emit LogDistribute(_toAddress, _amount, _reason);\n }\n\n function checkOwnerPacked(address _toAddress, uint256 _amount, bytes32 _salt, string _reason, uint8 _v, bytes32 _r, bytes32 _s) public {\n bytes32 message = keccak256(_toAddress, _amount, _salt, _reason);\n bytes memory prefix = \"\\x19Ethereum Signed Message:\\n32\";\n bytes32 prefixedHash = keccak256(prefix, message);\n emit LogDebugOwner(ecrecover(prefixedHash, _v, _r, _s));\n }\n function checkOwner(bytes32 _hash, uint8 _v, bytes32 _r, bytes32 _s) public view returns (address) {\n bytes memory prefix = \"\\x19Ethereum Signed Message:\\n32\";\n bytes32 prefixedHash = keccak256(prefix, _hash);\n return ecrecover(prefixedHash, _v, _r, _s);\n }\n\n function checkHashing(address _toAddress, uint256 _amount, bytes32 _salt, string _reason) public {\n bytes32 hashing = keccak256(_toAddress, _amount, _salt, _reason);\n emit LogDebug(hashing);\n }\n}\n", + "sourcePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/PTIDistributor.sol", + "ast": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/PTIDistributor.sol", + "exportedSymbols": { + "PTIDistributor": [ + 833 + ] + }, + "id": 834, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 595, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:4" + }, + { + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 596, + "nodeType": "ImportDirective", + "scope": 834, + "sourceUnit": 2764, + "src": "26:59:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/ParatiiToken.sol", + "file": "./ParatiiToken.sol", + "id": 597, + "nodeType": "ImportDirective", + "scope": 834, + "sourceUnit": 872, + "src": "86:28:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Registry.sol", + "file": "./Registry.sol", + "id": 598, + "nodeType": "ImportDirective", + "scope": 834, + "sourceUnit": 1097, + "src": "115:24:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 599, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2763, + "src": "168:7:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$2763", + "typeString": "contract Ownable" + } + }, + "id": 600, + "nodeType": "InheritanceSpecifier", + "src": "168:7:4" + } + ], + "contractDependencies": [ + 2763 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 833, + "linearizedBaseContracts": [ + 833, + 2763 + ], + "name": "PTIDistributor", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 602, + "name": "registry", + "nodeType": "VariableDeclaration", + "scope": 833, + "src": "183:24:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 601, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1096, + "src": "183:8:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 610, + "name": "LogDistribute", + "nodeType": "EventDefinition", + "parameters": { + "id": 609, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 604, + "indexed": false, + "name": "_toAddress", + "nodeType": "VariableDeclaration", + "scope": 610, + "src": "234:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 603, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "234:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 606, + "indexed": false, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 610, + "src": "254:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 605, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "254:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 608, + "indexed": false, + "name": "_reason", + "nodeType": "VariableDeclaration", + "scope": 610, + "src": "268:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 607, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "268:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "233:50:4" + }, + "src": "214:70:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 618, + "name": "LogDistributeTransferable", + "nodeType": "EventDefinition", + "parameters": { + "id": 617, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 612, + "indexed": false, + "name": "_toAddress", + "nodeType": "VariableDeclaration", + "scope": 618, + "src": "321:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 611, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "321:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 614, + "indexed": false, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 618, + "src": "341:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 613, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "341:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 616, + "indexed": false, + "name": "_reason", + "nodeType": "VariableDeclaration", + "scope": 618, + "src": "355:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 615, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "355:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "320:50:4" + }, + "src": "289:82:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 622, + "name": "LogDebug", + "nodeType": "EventDefinition", + "parameters": { + "id": 621, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 620, + "indexed": false, + "name": "_hashing", + "nodeType": "VariableDeclaration", + "scope": 622, + "src": "391:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 619, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "391:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "390:18:4" + }, + "src": "376:33:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 626, + "name": "LogDebugOwner", + "nodeType": "EventDefinition", + "parameters": { + "id": 625, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 624, + "indexed": false, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 626, + "src": "434:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 623, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "434:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "433:16:4" + }, + "src": "414:36:4" + }, + { + "constant": false, + "id": 630, + "name": "isUsed", + "nodeType": "VariableDeclaration", + "scope": 833, + "src": "456:38:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + }, + "typeName": { + "id": 629, + "keyType": { + "id": 627, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "464:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "456:24:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + }, + "valueType": { + "id": 628, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "475:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 644, + "nodeType": "Block", + "src": "540:65:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 635, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2711, + "src": "550:5:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 636, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "558:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "558:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "550:18:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 639, + "nodeType": "ExpressionStatement", + "src": "550:18:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 640, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "578:8:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 641, + "name": "_registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 632, + "src": "589:9:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "src": "578:20:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "id": 643, + "nodeType": "ExpressionStatement", + "src": "578:20:4" + } + ] + }, + "documentation": null, + "id": 645, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 632, + "name": "_registry", + "nodeType": "VariableDeclaration", + "scope": 645, + "src": "513:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 631, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1096, + "src": "513:8:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "512:20:4" + }, + "payable": false, + "returnParameters": { + "id": 634, + "nodeType": "ParameterList", + "parameters": [], + "src": "540:0:4" + }, + "scope": 833, + "src": "501:104:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 727, + "nodeType": "Block", + "src": "741:510:4", + "statements": [ + { + "assignments": [ + 663 + ], + "declarations": [ + { + "constant": false, + "id": 663, + "name": "message", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "751:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 662, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "751:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 670, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 665, + "name": "_toAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 647, + "src": "779:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 666, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 649, + "src": "791:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 667, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 651, + "src": "800:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 668, + "name": "_reason", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 653, + "src": "807:7:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 664, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "769:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "769:46:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "751:64:4" + }, + { + "assignments": [ + 672 + ], + "declarations": [ + { + "constant": false, + "id": 672, + "name": "prefix", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "825:19:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 671, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "825:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 674, + "initialValue": { + "argumentTypes": null, + "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", + "id": 673, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "847:34:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", + "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" + }, + "value": "\u0019Ethereum Signed Message:\n32" + }, + "nodeType": "VariableDeclarationStatement", + "src": "825:56:4" + }, + { + "assignments": [ + 676 + ], + "declarations": [ + { + "constant": false, + "id": 676, + "name": "prefixedHash", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "891:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 675, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "891:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 681, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 678, + "name": "prefix", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 672, + "src": "924:6:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 679, + "name": "message", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 663, + "src": "932:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 677, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "914:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "914:26:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "891:49:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "958:14:4", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 683, + "name": "isUsed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "959:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + } + }, + "id": 685, + "indexExpression": { + "argumentTypes": null, + "id": 684, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 651, + "src": "966:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "959:13:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 688, + "name": "prefixedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "986:12:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 689, + "name": "_v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 655, + "src": "1000:2:4", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 690, + "name": "_r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 657, + "src": "1004:2:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 691, + "name": "_s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 659, + "src": "1008:2:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 687, + "name": "ecrecover", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "976:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" + } + }, + "id": 692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "976:35:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 693, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2711, + "src": "1015:5:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "976:44:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "958:62:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 682, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "950:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "950:71:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 697, + "nodeType": "ExpressionStatement", + "src": "950:71:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 698, + "name": "isUsed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "1031:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + } + }, + "id": 700, + "indexExpression": { + "argumentTypes": null, + "id": 699, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 651, + "src": "1038:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1031:13:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 701, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1047:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1031:20:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 703, + "nodeType": "ExpressionStatement", + "src": "1031:20:4" + }, + { + "assignments": [ + 705 + ], + "declarations": [ + { + "constant": false, + "id": 705, + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "1061:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + }, + "typeName": { + "contractScope": null, + "id": 704, + "name": "ParatiiToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 871, + "src": "1061:12:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 712, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "50617261746969546f6b656e", + "id": 709, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1116:14:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7631507f3f7bc8a54ae4ffd3c749e7cce6ebb390bbd0a742160abd113aa9ca0c", + "typeString": "literal_string \"ParatiiToken\"" + }, + "value": "ParatiiToken" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7631507f3f7bc8a54ae4ffd3c749e7cce6ebb390bbd0a742160abd113aa9ca0c", + "typeString": "literal_string \"ParatiiToken\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 707, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "1095:8:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "id": 708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 983, + "src": "1095:20:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory) view external returns (address)" + } + }, + "id": 710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1095:36:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 706, + "name": "ParatiiToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 871, + "src": "1082:12:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ParatiiToken_$871_$", + "typeString": "type(contract ParatiiToken)" + } + }, + "id": 711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1082:50:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1061:71:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 716, + "name": "_toAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 647, + "src": "1165:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 717, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 649, + "src": "1177:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 714, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 705, + "src": "1150:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + } + }, + "id": 715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 2827, + "src": "1150:14:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1150:35:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 713, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "1142:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1142:44:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 720, + "nodeType": "ExpressionStatement", + "src": "1142:44:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 722, + "name": "_toAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 647, + "src": "1215:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 723, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 649, + "src": "1227:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 724, + "name": "_reason", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 653, + "src": "1236:7:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 721, + "name": "LogDistribute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 610, + "src": "1201:13:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,uint256,string memory)" + } + }, + "id": 725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1201:43:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 726, + "nodeType": "EmitStatement", + "src": "1196:48:4" + } + ] + }, + "documentation": null, + "id": 728, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "distribute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 660, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 647, + "name": "_toAddress", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "632:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 646, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "632:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 649, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "652:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 648, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "652:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 651, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "669:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 650, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "669:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 653, + "name": "_reason", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "684:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 652, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "684:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 655, + "name": "_v", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "700:8:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 654, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "700:5:4", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 657, + "name": "_r", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "710:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 656, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "710:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 659, + "name": "_s", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "722:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 658, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "722:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "631:102:4" + }, + "payable": false, + "returnParameters": { + "id": 661, + "nodeType": "ParameterList", + "parameters": [], + "src": "741:0:4" + }, + "scope": 833, + "src": "612:639:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 774, + "nodeType": "Block", + "src": "1392:271:4", + "statements": [ + { + "assignments": [ + 746 + ], + "declarations": [ + { + "constant": false, + "id": 746, + "name": "message", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "1402:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 745, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1402:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 753, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 748, + "name": "_toAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 730, + "src": "1430:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 749, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 732, + "src": "1442:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 750, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 734, + "src": "1451:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 751, + "name": "_reason", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 736, + "src": "1458:7:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 747, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "1420:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1420:46:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1402:64:4" + }, + { + "assignments": [ + 755 + ], + "declarations": [ + { + "constant": false, + "id": 755, + "name": "prefix", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "1476:19:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 754, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1476:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 757, + "initialValue": { + "argumentTypes": null, + "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", + "id": 756, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1498:34:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", + "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" + }, + "value": "\u0019Ethereum Signed Message:\n32" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1476:56:4" + }, + { + "assignments": [ + 759 + ], + "declarations": [ + { + "constant": false, + "id": 759, + "name": "prefixedHash", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "1542:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 758, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1542:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 764, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 761, + "name": "prefix", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 755, + "src": "1575:6:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 762, + "name": "message", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 746, + "src": "1583:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 760, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "1565:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1565:26:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1542:49:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 767, + "name": "prefixedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 759, + "src": "1630:12:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 768, + "name": "_v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 738, + "src": "1644:2:4", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 769, + "name": "_r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 740, + "src": "1648:2:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 770, + "name": "_s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 742, + "src": "1652:2:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 766, + "name": "ecrecover", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "1620:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" + } + }, + "id": 771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1620:35:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 765, + "name": "LogDebugOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 626, + "src": "1606:13:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1606:50:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 773, + "nodeType": "EmitStatement", + "src": "1601:55:4" + } + ] + }, + "documentation": null, + "id": 775, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "checkOwnerPacked", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 743, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 730, + "name": "_toAddress", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "1283:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 729, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1283:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 732, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "1303:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 731, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1303:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 734, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "1320:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 733, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1320:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 736, + "name": "_reason", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "1335:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 735, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1335:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 738, + "name": "_v", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "1351:8:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 737, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1351:5:4", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 740, + "name": "_r", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "1361:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 739, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1361:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 742, + "name": "_s", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "1373:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 741, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1373:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1282:102:4" + }, + "payable": false, + "returnParameters": { + "id": 744, + "nodeType": "ParameterList", + "parameters": [], + "src": "1392:0:4" + }, + "scope": 833, + "src": "1257:406:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 806, + "nodeType": "Block", + "src": "1767:182:4", + "statements": [ + { + "assignments": [ + 789 + ], + "declarations": [ + { + "constant": false, + "id": 789, + "name": "prefix", + "nodeType": "VariableDeclaration", + "scope": 807, + "src": "1777:19:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 788, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1777:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 791, + "initialValue": { + "argumentTypes": null, + "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", + "id": 790, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1799:34:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", + "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" + }, + "value": "\u0019Ethereum Signed Message:\n32" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1777:56:4" + }, + { + "assignments": [ + 793 + ], + "declarations": [ + { + "constant": false, + "id": 793, + "name": "prefixedHash", + "nodeType": "VariableDeclaration", + "scope": 807, + "src": "1843:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 792, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1843:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 798, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 795, + "name": "prefix", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 789, + "src": "1876:6:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 796, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 777, + "src": "1884:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 794, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "1866:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1866:24:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1843:47:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 800, + "name": "prefixedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 793, + "src": "1917:12:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 801, + "name": "_v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 779, + "src": "1931:2:4", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 802, + "name": "_r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 781, + "src": "1935:2:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 803, + "name": "_s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 783, + "src": "1939:2:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 799, + "name": "ecrecover", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "1907:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" + } + }, + "id": 804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1907:35:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 787, + "id": 805, + "nodeType": "Return", + "src": "1900:42:4" + } + ] + }, + "documentation": null, + "id": 807, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "checkOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 784, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 777, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 807, + "src": "1688:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 776, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1688:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 779, + "name": "_v", + "nodeType": "VariableDeclaration", + "scope": 807, + "src": "1703:8:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 778, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1703:5:4", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 781, + "name": "_r", + "nodeType": "VariableDeclaration", + "scope": 807, + "src": "1713:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 780, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1713:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 783, + "name": "_s", + "nodeType": "VariableDeclaration", + "scope": 807, + "src": "1725:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 782, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1725:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1687:49:4" + }, + "payable": false, + "returnParameters": { + "id": 787, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 786, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 807, + "src": "1758:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 785, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1758:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1757:9:4" + }, + "scope": 833, + "src": "1668:281:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 831, + "nodeType": "Block", + "src": "2052:113:4", + "statements": [ + { + "assignments": [ + 819 + ], + "declarations": [ + { + "constant": false, + "id": 819, + "name": "hashing", + "nodeType": "VariableDeclaration", + "scope": 832, + "src": "2062:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 818, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2062:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 826, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 821, + "name": "_toAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 809, + "src": "2090:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 822, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 811, + "src": "2102:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 823, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 813, + "src": "2111:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 824, + "name": "_reason", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 815, + "src": "2118:7:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 820, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "2080:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2080:46:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2062:64:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 828, + "name": "hashing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 819, + "src": "2150:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 827, + "name": "LogDebug", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 622, + "src": "2141:8:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2141:17:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 830, + "nodeType": "EmitStatement", + "src": "2136:22:4" + } + ] + }, + "documentation": null, + "id": 832, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "checkHashing", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 809, + "name": "_toAddress", + "nodeType": "VariableDeclaration", + "scope": 832, + "src": "1977:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 808, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1977:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 811, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 832, + "src": "1997:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 810, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1997:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 813, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 832, + "src": "2014:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 812, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2014:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 815, + "name": "_reason", + "nodeType": "VariableDeclaration", + "scope": 832, + "src": "2029:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 814, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2029:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1976:68:4" + }, + "payable": false, + "returnParameters": { + "id": 817, + "nodeType": "ParameterList", + "parameters": [], + "src": "2052:0:4" + }, + "scope": 833, + "src": "1955:210:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 834, + "src": "141:2026:4" + } + ], + "src": "0:2168:4" + }, + "legacyAST": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/PTIDistributor.sol", + "exportedSymbols": { + "PTIDistributor": [ + 833 + ] + }, + "id": 834, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 595, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:4" + }, + { + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 596, + "nodeType": "ImportDirective", + "scope": 834, + "sourceUnit": 2764, + "src": "26:59:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/ParatiiToken.sol", + "file": "./ParatiiToken.sol", + "id": 597, + "nodeType": "ImportDirective", + "scope": 834, + "sourceUnit": 872, + "src": "86:28:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Registry.sol", + "file": "./Registry.sol", + "id": 598, + "nodeType": "ImportDirective", + "scope": 834, + "sourceUnit": 1097, + "src": "115:24:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 599, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2763, + "src": "168:7:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$2763", + "typeString": "contract Ownable" + } + }, + "id": 600, + "nodeType": "InheritanceSpecifier", + "src": "168:7:4" + } + ], + "contractDependencies": [ + 2763 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 833, + "linearizedBaseContracts": [ + 833, + 2763 + ], + "name": "PTIDistributor", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 602, + "name": "registry", + "nodeType": "VariableDeclaration", + "scope": 833, + "src": "183:24:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 601, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1096, + "src": "183:8:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 610, + "name": "LogDistribute", + "nodeType": "EventDefinition", + "parameters": { + "id": 609, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 604, + "indexed": false, + "name": "_toAddress", + "nodeType": "VariableDeclaration", + "scope": 610, + "src": "234:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 603, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "234:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 606, + "indexed": false, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 610, + "src": "254:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 605, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "254:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 608, + "indexed": false, + "name": "_reason", + "nodeType": "VariableDeclaration", + "scope": 610, + "src": "268:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 607, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "268:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "233:50:4" + }, + "src": "214:70:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 618, + "name": "LogDistributeTransferable", + "nodeType": "EventDefinition", + "parameters": { + "id": 617, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 612, + "indexed": false, + "name": "_toAddress", + "nodeType": "VariableDeclaration", + "scope": 618, + "src": "321:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 611, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "321:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 614, + "indexed": false, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 618, + "src": "341:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 613, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "341:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 616, + "indexed": false, + "name": "_reason", + "nodeType": "VariableDeclaration", + "scope": 618, + "src": "355:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 615, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "355:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "320:50:4" + }, + "src": "289:82:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 622, + "name": "LogDebug", + "nodeType": "EventDefinition", + "parameters": { + "id": 621, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 620, + "indexed": false, + "name": "_hashing", + "nodeType": "VariableDeclaration", + "scope": 622, + "src": "391:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 619, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "391:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "390:18:4" + }, + "src": "376:33:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 626, + "name": "LogDebugOwner", + "nodeType": "EventDefinition", + "parameters": { + "id": 625, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 624, + "indexed": false, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 626, + "src": "434:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 623, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "434:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "433:16:4" + }, + "src": "414:36:4" + }, + { + "constant": false, + "id": 630, + "name": "isUsed", + "nodeType": "VariableDeclaration", + "scope": 833, + "src": "456:38:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + }, + "typeName": { + "id": 629, + "keyType": { + "id": 627, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "464:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "456:24:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + }, + "valueType": { + "id": 628, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "475:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 644, + "nodeType": "Block", + "src": "540:65:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 635, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2711, + "src": "550:5:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 636, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "558:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "558:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "550:18:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 639, + "nodeType": "ExpressionStatement", + "src": "550:18:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 640, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "578:8:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 641, + "name": "_registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 632, + "src": "589:9:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "src": "578:20:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "id": 643, + "nodeType": "ExpressionStatement", + "src": "578:20:4" + } + ] + }, + "documentation": null, + "id": 645, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 632, + "name": "_registry", + "nodeType": "VariableDeclaration", + "scope": 645, + "src": "513:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 631, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1096, + "src": "513:8:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "512:20:4" + }, + "payable": false, + "returnParameters": { + "id": 634, + "nodeType": "ParameterList", + "parameters": [], + "src": "540:0:4" + }, + "scope": 833, + "src": "501:104:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 727, + "nodeType": "Block", + "src": "741:510:4", + "statements": [ + { + "assignments": [ + 663 + ], + "declarations": [ + { + "constant": false, + "id": 663, + "name": "message", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "751:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 662, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "751:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 670, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 665, + "name": "_toAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 647, + "src": "779:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 666, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 649, + "src": "791:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 667, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 651, + "src": "800:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 668, + "name": "_reason", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 653, + "src": "807:7:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 664, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "769:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "769:46:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "751:64:4" + }, + { + "assignments": [ + 672 + ], + "declarations": [ + { + "constant": false, + "id": 672, + "name": "prefix", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "825:19:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 671, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "825:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 674, + "initialValue": { + "argumentTypes": null, + "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", + "id": 673, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "847:34:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", + "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" + }, + "value": "\u0019Ethereum Signed Message:\n32" + }, + "nodeType": "VariableDeclarationStatement", + "src": "825:56:4" + }, + { + "assignments": [ + 676 + ], + "declarations": [ + { + "constant": false, + "id": 676, + "name": "prefixedHash", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "891:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 675, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "891:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 681, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 678, + "name": "prefix", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 672, + "src": "924:6:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 679, + "name": "message", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 663, + "src": "932:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 677, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "914:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "914:26:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "891:49:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "958:14:4", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 683, + "name": "isUsed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "959:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + } + }, + "id": 685, + "indexExpression": { + "argumentTypes": null, + "id": 684, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 651, + "src": "966:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "959:13:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 688, + "name": "prefixedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "986:12:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 689, + "name": "_v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 655, + "src": "1000:2:4", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 690, + "name": "_r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 657, + "src": "1004:2:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 691, + "name": "_s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 659, + "src": "1008:2:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 687, + "name": "ecrecover", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "976:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" + } + }, + "id": 692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "976:35:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 693, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2711, + "src": "1015:5:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "976:44:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "958:62:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 682, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "950:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "950:71:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 697, + "nodeType": "ExpressionStatement", + "src": "950:71:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 698, + "name": "isUsed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "1031:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + } + }, + "id": 700, + "indexExpression": { + "argumentTypes": null, + "id": 699, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 651, + "src": "1038:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1031:13:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 701, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1047:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1031:20:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 703, + "nodeType": "ExpressionStatement", + "src": "1031:20:4" + }, + { + "assignments": [ + 705 + ], + "declarations": [ + { + "constant": false, + "id": 705, + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "1061:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + }, + "typeName": { + "contractScope": null, + "id": 704, + "name": "ParatiiToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 871, + "src": "1061:12:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 712, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "50617261746969546f6b656e", + "id": 709, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1116:14:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7631507f3f7bc8a54ae4ffd3c749e7cce6ebb390bbd0a742160abd113aa9ca0c", + "typeString": "literal_string \"ParatiiToken\"" + }, + "value": "ParatiiToken" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7631507f3f7bc8a54ae4ffd3c749e7cce6ebb390bbd0a742160abd113aa9ca0c", + "typeString": "literal_string \"ParatiiToken\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 707, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "1095:8:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "id": 708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 983, + "src": "1095:20:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory) view external returns (address)" + } + }, + "id": 710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1095:36:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 706, + "name": "ParatiiToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 871, + "src": "1082:12:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ParatiiToken_$871_$", + "typeString": "type(contract ParatiiToken)" + } + }, + "id": 711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1082:50:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1061:71:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 716, + "name": "_toAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 647, + "src": "1165:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 717, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 649, + "src": "1177:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 714, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 705, + "src": "1150:5:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + } + }, + "id": 715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 2827, + "src": "1150:14:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1150:35:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 713, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "1142:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1142:44:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 720, + "nodeType": "ExpressionStatement", + "src": "1142:44:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 722, + "name": "_toAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 647, + "src": "1215:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 723, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 649, + "src": "1227:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 724, + "name": "_reason", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 653, + "src": "1236:7:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 721, + "name": "LogDistribute", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 610, + "src": "1201:13:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,uint256,string memory)" + } + }, + "id": 725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1201:43:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 726, + "nodeType": "EmitStatement", + "src": "1196:48:4" + } + ] + }, + "documentation": null, + "id": 728, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "distribute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 660, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 647, + "name": "_toAddress", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "632:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 646, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "632:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 649, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "652:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 648, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "652:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 651, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "669:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 650, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "669:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 653, + "name": "_reason", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "684:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 652, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "684:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 655, + "name": "_v", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "700:8:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 654, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "700:5:4", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 657, + "name": "_r", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "710:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 656, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "710:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 659, + "name": "_s", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "722:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 658, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "722:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "631:102:4" + }, + "payable": false, + "returnParameters": { + "id": 661, + "nodeType": "ParameterList", + "parameters": [], + "src": "741:0:4" + }, + "scope": 833, + "src": "612:639:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 774, + "nodeType": "Block", + "src": "1392:271:4", + "statements": [ + { + "assignments": [ + 746 + ], + "declarations": [ + { + "constant": false, + "id": 746, + "name": "message", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "1402:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 745, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1402:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 753, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 748, + "name": "_toAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 730, + "src": "1430:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 749, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 732, + "src": "1442:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 750, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 734, + "src": "1451:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 751, + "name": "_reason", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 736, + "src": "1458:7:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 747, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "1420:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1420:46:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1402:64:4" + }, + { + "assignments": [ + 755 + ], + "declarations": [ + { + "constant": false, + "id": 755, + "name": "prefix", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "1476:19:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 754, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1476:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 757, + "initialValue": { + "argumentTypes": null, + "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", + "id": 756, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1498:34:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", + "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" + }, + "value": "\u0019Ethereum Signed Message:\n32" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1476:56:4" + }, + { + "assignments": [ + 759 + ], + "declarations": [ + { + "constant": false, + "id": 759, + "name": "prefixedHash", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "1542:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 758, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1542:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 764, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 761, + "name": "prefix", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 755, + "src": "1575:6:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 762, + "name": "message", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 746, + "src": "1583:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 760, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "1565:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1565:26:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1542:49:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 767, + "name": "prefixedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 759, + "src": "1630:12:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 768, + "name": "_v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 738, + "src": "1644:2:4", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 769, + "name": "_r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 740, + "src": "1648:2:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 770, + "name": "_s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 742, + "src": "1652:2:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 766, + "name": "ecrecover", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "1620:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" + } + }, + "id": 771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1620:35:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 765, + "name": "LogDebugOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 626, + "src": "1606:13:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1606:50:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 773, + "nodeType": "EmitStatement", + "src": "1601:55:4" + } + ] + }, + "documentation": null, + "id": 775, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "checkOwnerPacked", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 743, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 730, + "name": "_toAddress", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "1283:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 729, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1283:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 732, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "1303:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 731, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1303:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 734, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "1320:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 733, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1320:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 736, + "name": "_reason", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "1335:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 735, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1335:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 738, + "name": "_v", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "1351:8:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 737, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1351:5:4", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 740, + "name": "_r", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "1361:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 739, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1361:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 742, + "name": "_s", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "1373:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 741, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1373:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1282:102:4" + }, + "payable": false, + "returnParameters": { + "id": 744, + "nodeType": "ParameterList", + "parameters": [], + "src": "1392:0:4" + }, + "scope": 833, + "src": "1257:406:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 806, + "nodeType": "Block", + "src": "1767:182:4", + "statements": [ + { + "assignments": [ + 789 + ], + "declarations": [ + { + "constant": false, + "id": 789, + "name": "prefix", + "nodeType": "VariableDeclaration", + "scope": 807, + "src": "1777:19:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 788, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1777:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 791, + "initialValue": { + "argumentTypes": null, + "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", + "id": 790, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1799:34:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", + "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" + }, + "value": "\u0019Ethereum Signed Message:\n32" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1777:56:4" + }, + { + "assignments": [ + 793 + ], + "declarations": [ + { + "constant": false, + "id": 793, + "name": "prefixedHash", + "nodeType": "VariableDeclaration", + "scope": 807, + "src": "1843:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 792, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1843:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 798, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 795, + "name": "prefix", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 789, + "src": "1876:6:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 796, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 777, + "src": "1884:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 794, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "1866:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1866:24:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1843:47:4" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 800, + "name": "prefixedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 793, + "src": "1917:12:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 801, + "name": "_v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 779, + "src": "1931:2:4", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 802, + "name": "_r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 781, + "src": "1935:2:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 803, + "name": "_s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 783, + "src": "1939:2:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 799, + "name": "ecrecover", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "1907:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" + } + }, + "id": 804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1907:35:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 787, + "id": 805, + "nodeType": "Return", + "src": "1900:42:4" + } + ] + }, + "documentation": null, + "id": 807, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "checkOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 784, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 777, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 807, + "src": "1688:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 776, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1688:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 779, + "name": "_v", + "nodeType": "VariableDeclaration", + "scope": 807, + "src": "1703:8:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 778, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1703:5:4", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 781, + "name": "_r", + "nodeType": "VariableDeclaration", + "scope": 807, + "src": "1713:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 780, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1713:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 783, + "name": "_s", + "nodeType": "VariableDeclaration", + "scope": 807, + "src": "1725:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 782, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1725:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1687:49:4" + }, + "payable": false, + "returnParameters": { + "id": 787, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 786, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 807, + "src": "1758:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 785, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1758:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1757:9:4" + }, + "scope": 833, + "src": "1668:281:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 831, + "nodeType": "Block", + "src": "2052:113:4", + "statements": [ + { + "assignments": [ + 819 + ], + "declarations": [ + { + "constant": false, + "id": 819, + "name": "hashing", + "nodeType": "VariableDeclaration", + "scope": 832, + "src": "2062:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 818, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2062:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 826, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 821, + "name": "_toAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 809, + "src": "2090:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 822, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 811, + "src": "2102:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 823, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 813, + "src": "2111:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 824, + "name": "_reason", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 815, + "src": "2118:7:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 820, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "2080:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2080:46:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2062:64:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 828, + "name": "hashing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 819, + "src": "2150:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 827, + "name": "LogDebug", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 622, + "src": "2141:8:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2141:17:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 830, + "nodeType": "EmitStatement", + "src": "2136:22:4" + } + ] + }, + "documentation": null, + "id": 832, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "checkHashing", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 809, + "name": "_toAddress", + "nodeType": "VariableDeclaration", + "scope": 832, + "src": "1977:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 808, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1977:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 811, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 832, + "src": "1997:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 810, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1997:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 813, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 832, + "src": "2014:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 812, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2014:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 815, + "name": "_reason", + "nodeType": "VariableDeclaration", + "scope": 832, + "src": "2029:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 814, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2029:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1976:68:4" + }, + "payable": false, + "returnParameters": { + "id": 817, + "nodeType": "ParameterList", + "parameters": [], + "src": "2052:0:4" + }, + "scope": 833, + "src": "1955:210:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 834, + "src": "141:2026:4" + } + ], + "src": "0:2168:4" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-29T16:29:38.959Z" +} \ No newline at end of file diff --git a/build/contracts/ParatiiToken.json b/build/contracts/ParatiiToken.json index ced1d02..a262b38 100644 --- a/build/contracts/ParatiiToken.json +++ b/build/contracts/ParatiiToken.json @@ -1 +1,1315 @@ -{"contractName":"ParatiiToken","abi":[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"INITIAL_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}],"bytecode":"0x60606040526040805190810160405280600781526020017f5061726174696900000000000000000000000000000000000000000000000000815250600390805190602001906200005192919062000115565b506040805190810160405280600381526020017f5054490000000000000000000000000000000000000000000000000000000000815250600490805190602001906200009f92919062000115565b506012600555600554600a0a6301406f40026006553415620000c057600080fd5b600654600081905550600654600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001c4565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200015857805160ff191683800117855562000189565b8280016001018555821562000189579182015b82811115620001885782518255916020019190600101906200016b565b5b5090506200019891906200019c565b5090565b620001c191905b80821115620001bd576000816000905550600101620001a3565b5090565b90565b6111b280620001d46000396000f3006060604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100bf578063095ea7b31461014d57806318160ddd146101a757806323b872dd146101d05780632ff2e9dc14610249578063313ce56714610272578063661884631461029b57806370a08231146102f557806395d89b4114610342578063a9059cbb146103d0578063d73dd6231461042a578063dd62ed3e14610484575b600080fd5b34156100ca57600080fd5b6100d26104f0565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101125780820151818401526020810190506100f7565b50505050905090810190601f16801561013f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015857600080fd5b61018d600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061058e565b604051808215151515815260200191505060405180910390f35b34156101b257600080fd5b6101ba610680565b6040518082815260200191505060405180910390f35b34156101db57600080fd5b61022f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610686565b604051808215151515815260200191505060405180910390f35b341561025457600080fd5b61025c610972565b6040518082815260200191505060405180910390f35b341561027d57600080fd5b610285610978565b6040518082815260200191505060405180910390f35b34156102a657600080fd5b6102db600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061097e565b604051808215151515815260200191505060405180910390f35b341561030057600080fd5b61032c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c0f565b6040518082815260200191505060405180910390f35b341561034d57600080fd5b610355610c58565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561039557808201518184015260208101905061037a565b50505050905090810190601f1680156103c25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103db57600080fd5b610410600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610cf6565b604051808215151515815260200191505060405180910390f35b341561043557600080fd5b61046a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ecc565b604051808215151515815260200191505060405180910390f35b341561048f57600080fd5b6104da600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110c8565b6040518082815260200191505060405180910390f35b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105865780601f1061055b57610100808354040283529160200191610586565b820191906000526020600020905b81548152906001019060200180831161056957829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156106c557600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905061079683600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461114f90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061082b83600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461116890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610881838261114f90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b60065481565b60055481565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610a8f576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b23565b610aa2838261114f90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610cee5780601f10610cc357610100808354040283529160200191610cee565b820191906000526020600020905b815481529060010190602001808311610cd157829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610d3357600080fd5b610d8582600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461114f90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e1a82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461116890919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610f5d82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461116890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600082821115151561115d57fe5b818303905092915050565b600080828401905083811015151561117c57fe5b80915050929150505600a165627a7a72305820c052a62b1c38ad43b3011c36a7e3ffcbf6a4a5dc700fc3f00d860ddd98ca9cd10029","deployedBytecode":"0x6060604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100bf578063095ea7b31461014d57806318160ddd146101a757806323b872dd146101d05780632ff2e9dc14610249578063313ce56714610272578063661884631461029b57806370a08231146102f557806395d89b4114610342578063a9059cbb146103d0578063d73dd6231461042a578063dd62ed3e14610484575b600080fd5b34156100ca57600080fd5b6100d26104f0565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101125780820151818401526020810190506100f7565b50505050905090810190601f16801561013f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015857600080fd5b61018d600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061058e565b604051808215151515815260200191505060405180910390f35b34156101b257600080fd5b6101ba610680565b6040518082815260200191505060405180910390f35b34156101db57600080fd5b61022f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610686565b604051808215151515815260200191505060405180910390f35b341561025457600080fd5b61025c610972565b6040518082815260200191505060405180910390f35b341561027d57600080fd5b610285610978565b6040518082815260200191505060405180910390f35b34156102a657600080fd5b6102db600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061097e565b604051808215151515815260200191505060405180910390f35b341561030057600080fd5b61032c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c0f565b6040518082815260200191505060405180910390f35b341561034d57600080fd5b610355610c58565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561039557808201518184015260208101905061037a565b50505050905090810190601f1680156103c25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103db57600080fd5b610410600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610cf6565b604051808215151515815260200191505060405180910390f35b341561043557600080fd5b61046a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ecc565b604051808215151515815260200191505060405180910390f35b341561048f57600080fd5b6104da600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110c8565b6040518082815260200191505060405180910390f35b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105865780601f1061055b57610100808354040283529160200191610586565b820191906000526020600020905b81548152906001019060200180831161056957829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156106c557600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905061079683600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461114f90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061082b83600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461116890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610881838261114f90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b60065481565b60055481565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610a8f576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b23565b610aa2838261114f90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610cee5780601f10610cc357610100808354040283529160200191610cee565b820191906000526020600020905b815481529060010190602001808311610cd157829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610d3357600080fd5b610d8582600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461114f90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e1a82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461116890919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610f5d82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461116890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600082821115151561115d57fe5b818303905092915050565b600080828401905083811015151561117c57fe5b80915050929150505600a165627a7a72305820c052a62b1c38ad43b3011c36a7e3ffcbf6a4a5dc700fc3f00d860ddd98ca9cd10029"} \ No newline at end of file +{ + "contractName": "ParatiiToken", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_from", + "type": "address" + }, + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "INITIAL_SUPPLY", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseApproval", + "outputs": [ + { + "name": "success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_addedValue", + "type": "uint256" + } + ], + "name": "increaseApproval", + "outputs": [ + { + "name": "success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + }, + { + "name": "_spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "name": "remaining", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + } + ], + "bytecode": "0x60806040526040805190810160405280600781526020017f5061726174696900000000000000000000000000000000000000000000000000815250600390805190602001906200005192919062000117565b506040805190810160405280600381526020017f5054490000000000000000000000000000000000000000000000000000000000815250600490805190602001906200009f92919062000117565b506012600555600554600a0a6301406f4002600655348015620000c157600080fd5b50600654600081905550600654600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001c6565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200015a57805160ff19168380011785556200018b565b828001600101855582156200018b579182015b828111156200018a5782518255916020019190600101906200016d565b5b5090506200019a91906200019e565b5090565b620001c391905b80821115620001bf576000816000905550600101620001a5565b5090565b90565b61120980620001d66000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100bf578063095ea7b31461014f57806318160ddd146101b457806323b872dd146101df5780632ff2e9dc14610264578063313ce5671461028f57806366188463146102ba57806370a082311461031f57806395d89b4114610376578063a9059cbb14610406578063d73dd6231461046b578063dd62ed3e146104d0575b600080fd5b3480156100cb57600080fd5b506100d4610547565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101145780820151818401526020810190506100f9565b50505050905090810190601f1680156101415780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015b57600080fd5b5061019a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105e5565b604051808215151515815260200191505060405180910390f35b3480156101c057600080fd5b506101c96106d7565b6040518082815260200191505060405180910390f35b3480156101eb57600080fd5b5061024a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106dd565b604051808215151515815260200191505060405180910390f35b34801561027057600080fd5b506102796109c9565b6040518082815260200191505060405180910390f35b34801561029b57600080fd5b506102a46109cf565b6040518082815260200191505060405180910390f35b3480156102c657600080fd5b50610305600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109d5565b604051808215151515815260200191505060405180910390f35b34801561032b57600080fd5b50610360600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c66565b6040518082815260200191505060405180910390f35b34801561038257600080fd5b5061038b610caf565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103cb5780820151818401526020810190506103b0565b50505050905090810190601f1680156103f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561041257600080fd5b50610451600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d4d565b604051808215151515815260200191505060405180910390f35b34801561047757600080fd5b506104b6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f23565b604051808215151515815260200191505060405180910390f35b3480156104dc57600080fd5b50610531600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061111f565b6040518082815260200191505060405180910390f35b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105dd5780601f106105b2576101008083540402835291602001916105dd565b820191906000526020600020905b8154815290600101906020018083116105c057829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561071c57600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506107ed83600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111a690919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061088283600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111bf90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108d883826111a690919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b60065481565b60055481565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610ae6576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b7a565b610af983826111a690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d455780601f10610d1a57610100808354040283529160200191610d45565b820191906000526020600020905b815481529060010190602001808311610d2857829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610d8a57600080fd5b610ddc82600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111a690919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e7182600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111bf90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610fb482600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111bf90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008282111515156111b457fe5b818303905092915050565b60008082840190508381101515156111d357fe5b80915050929150505600a165627a7a72305820d58a9ee4d5c9b06be41b13ea9980791740dada939154ac7a5ccb6f5c28fb170e0029", + "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100bf578063095ea7b31461014f57806318160ddd146101b457806323b872dd146101df5780632ff2e9dc14610264578063313ce5671461028f57806366188463146102ba57806370a082311461031f57806395d89b4114610376578063a9059cbb14610406578063d73dd6231461046b578063dd62ed3e146104d0575b600080fd5b3480156100cb57600080fd5b506100d4610547565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101145780820151818401526020810190506100f9565b50505050905090810190601f1680156101415780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015b57600080fd5b5061019a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105e5565b604051808215151515815260200191505060405180910390f35b3480156101c057600080fd5b506101c96106d7565b6040518082815260200191505060405180910390f35b3480156101eb57600080fd5b5061024a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106dd565b604051808215151515815260200191505060405180910390f35b34801561027057600080fd5b506102796109c9565b6040518082815260200191505060405180910390f35b34801561029b57600080fd5b506102a46109cf565b6040518082815260200191505060405180910390f35b3480156102c657600080fd5b50610305600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109d5565b604051808215151515815260200191505060405180910390f35b34801561032b57600080fd5b50610360600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c66565b6040518082815260200191505060405180910390f35b34801561038257600080fd5b5061038b610caf565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103cb5780820151818401526020810190506103b0565b50505050905090810190601f1680156103f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561041257600080fd5b50610451600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d4d565b604051808215151515815260200191505060405180910390f35b34801561047757600080fd5b506104b6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f23565b604051808215151515815260200191505060405180910390f35b3480156104dc57600080fd5b50610531600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061111f565b6040518082815260200191505060405180910390f35b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105dd5780601f106105b2576101008083540402835291602001916105dd565b820191906000526020600020905b8154815290600101906020018083116105c057829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561071c57600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506107ed83600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111a690919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061088283600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111bf90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108d883826111a690919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b60065481565b60055481565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610ae6576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b7a565b610af983826111a690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d455780601f10610d1a57610100808354040283529160200191610d45565b820191906000526020600020905b815481529060010190602001808311610d2857829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610d8a57600080fd5b610ddc82600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111a690919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e7182600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111bf90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610fb482600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111bf90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008282111515156111b457fe5b818303905092915050565b60008082840190508381101515156111d357fe5b80915050929150505600a165627a7a72305820d58a9ee4d5c9b06be41b13ea9980791740dada939154ac7a5ccb6f5c28fb170e0029", + "sourceMap": "89:323:2:-;;;135:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;171:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;228:2;205:25;;281:8;;277:2;:12;265:8;:25;236:54;;297:113;8:9:-1;5:2;;;30:1;27;20:12;5:2;297:113:2;342:14;;328:11;:28;;;;389:14;;366:8;:20;375:10;366:20;;;;;;;;;;;;;;;:37;;;;89:323;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "89:323:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;135:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;135:30:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;135:30:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1884:183:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1884:183:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;179:26:12;;8:9:-1;5:2;;;30:1;27;20:12;5:2;179:26:12;;;;;;;;;;;;;;;;;;;;;;;728:533:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;728:533:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;236:54:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;236:54:2;;;;;;;;;;;;;;;;;;;;;;;205:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;205:25:2;;;;;;;;;;;;;;;;;;;;;;;3033:404:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3033:404:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;973:111:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;973:111:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;171:28:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;171:28:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;171:28:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;437:334:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;437:334:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2766:263:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2766:263:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2386:140;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2386:140:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;135:30:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1884:183:13:-;1951:4;1995:6;1963:7;:19;1971:10;1963:19;;;;;;;;;;;;;;;:29;1983:8;1963:29;;;;;;;;;;;;;;;:38;;;;2028:8;2007:38;;2016:10;2007:38;;;2038:6;2007:38;;;;;;;;;;;;;;;;;;2058:4;2051:11;;1884:183;;;;:::o;179:26:12:-;;;;:::o;728:533:13:-;810:4;855:18;845:1;830:17;;:3;:17;;;;822:26;;;;;;;;876:7;:14;884:5;876:14;;;;;;;;;;;;;;;:26;891:10;876:26;;;;;;;;;;;;;;;;855:47;;1074:27;1094:6;1074:8;:15;1083:5;1074:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;1056:8;:15;1065:5;1056:15;;;;;;;;;;;;;;;:45;;;;1123:25;1141:6;1123:8;:13;1132:3;1123:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1107:8;:13;1116:3;1107:13;;;;;;;;;;;;;;;:41;;;;1183:22;1198:6;1183:10;:14;;:22;;;;:::i;:::-;1154:7;:14;1162:5;1154:14;;;;;;;;;;;;;;;:26;1169:10;1154:26;;;;;;;;;;;;;;;:51;;;;1227:3;1211:28;;1220:5;1211:28;;;1232:6;1211:28;;;;;;;;;;;;;;;;;;1252:4;1245:11;;728:533;;;;;;:::o;236:54:2:-;;;;:::o;205:25::-;;;;:::o;3033:404:13:-;3114:12;3134:13;3150:7;:19;3158:10;3150:19;;;;;;;;;;;;;;;:29;3170:8;3150:29;;;;;;;;;;;;;;;;3134:45;;3208:8;3189:16;:27;3185:164;;;3258:1;3226:7;:19;3234:10;3226:19;;;;;;;;;;;;;;;:29;3246:8;3226:29;;;;;;;;;;;;;;;:33;;;;3185:164;;;3312:30;3325:16;3312:8;:12;;:30;;;;:::i;:::-;3280:7;:19;3288:10;3280:19;;;;;;;;;;;;;;;:29;3300:8;3280:29;;;;;;;;;;;;;;;:62;;;;3185:164;3375:8;3354:61;;3363:10;3354:61;;;3385:7;:19;3393:10;3385:19;;;;;;;;;;;;;;;:29;3405:8;3385:29;;;;;;;;;;;;;;;;3354:61;;;;;;;;;;;;;;;;;;3428:4;3421:11;;3033:404;;;;;:::o;973:111:10:-;1033:15;1063:8;:16;1072:6;1063:16;;;;;;;;;;;;;;;;1056:23;;973:111;;;:::o;171:28:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;437:334:10:-;500:4;535:1;520:17;;:3;:17;;;;512:26;;;;;;;;631:32;656:6;631:8;:20;640:10;631:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;608:8;:20;617:10;608:20;;;;;;;;;;;;;;;:55;;;;685:25;703:6;685:8;:13;694:3;685:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;669:8;:13;678:3;669:13;;;;;;;;;;;;;;;:41;;;;737:3;716:33;;725:10;716:33;;;742:6;716:33;;;;;;;;;;;;;;;;;;762:4;755:11;;437:334;;;;:::o;2766:263:13:-;2842:12;2894:46;2928:11;2894:7;:19;2902:10;2894:19;;;;;;;;;;;;;;;:29;2914:8;2894:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2862:7;:19;2870:10;2862:19;;;;;;;;;;;;;;;:29;2882:8;2862:29;;;;;;;;;;;;;;;:78;;;;2967:8;2946:61;;2955:10;2946:61;;;2977:7;:19;2985:10;2977:19;;;;;;;;;;;;;;;:29;2997:8;2977:29;;;;;;;;;;;;;;;;2946:61;;;;;;;;;;;;;;;;;;3020:4;3013:11;;2766:263;;;;:::o;2386:140::-;2464:17;2496:7;:15;2504:6;2496:15;;;;;;;;;;;;;;;:25;2512:8;2496:25;;;;;;;;;;;;;;;;2489:32;;2386:140;;;;:::o;562:114:8:-;624:7;651:1;646;:6;;639:14;;;;;;670:1;666;:5;659:12;;562:114;;;;:::o;680:133::-;742:7;757:9;773:1;769;:5;757:17;;792:1;787;:6;;780:14;;;;;;807:1;800:8;;680:133;;;;;:::o", + "source": "pragma solidity ^0.4.18;\n\nimport \"zeppelin-solidity/contracts/token/StandardToken.sol\";\n\ncontract ParatiiToken is StandardToken {\n\n string public name = \"Paratii\";\n string public symbol = \"PTI\";\n uint public decimals = 18;\n uint public INITIAL_SUPPLY = 21000000 * (10**decimals);\n\n constructor() public {\n totalSupply = INITIAL_SUPPLY;\n balances[msg.sender] = INITIAL_SUPPLY;\n }\n}\n", + "sourcePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/ParatiiToken.sol", + "ast": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/ParatiiToken.sol", + "exportedSymbols": { + "ParatiiToken": [ + 268 + ] + }, + "id": 269, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 232, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:2" + }, + { + "absolutePath": "zeppelin-solidity/contracts/token/StandardToken.sol", + "file": "zeppelin-solidity/contracts/token/StandardToken.sol", + "id": 233, + "nodeType": "ImportDirective", + "scope": 269, + "sourceUnit": 1735, + "src": "26:61:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 234, + "name": "StandardToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1734, + "src": "114:13:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_StandardToken_$1734", + "typeString": "contract StandardToken" + } + }, + "id": 235, + "nodeType": "InheritanceSpecifier", + "src": "114:13:2" + } + ], + "contractDependencies": [ + 1431, + 1474, + 1503, + 1734 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 268, + "linearizedBaseContracts": [ + 268, + 1734, + 1431, + 1474, + 1503 + ], + "name": "ParatiiToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 238, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 268, + "src": "135:30:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 236, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "135:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "50617261746969", + "id": 237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "156:9:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ae93c4febd7140468a917d366b33edbb517b06fa4f303d78c9ec21dec3acef38", + "typeString": "literal_string \"Paratii\"" + }, + "value": "Paratii" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 241, + "name": "symbol", + "nodeType": "VariableDeclaration", + "scope": 268, + "src": "171:28:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 239, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "171:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "505449", + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "194:5:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6340d7c1aa7a1d2ab6a2b0be0f6ebad7944f0a13973776467e5e331679d42bf7", + "typeString": "literal_string \"PTI\"" + }, + "value": "PTI" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 244, + "name": "decimals", + "nodeType": "VariableDeclaration", + "scope": 268, + "src": "205:25:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 242, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "205:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3138", + "id": 243, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "228:2:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 252, + "name": "INITIAL_SUPPLY", + "nodeType": "VariableDeclaration", + "scope": 268, + "src": "236:54:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 245, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "236:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3231303030303030", + "id": 246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "265:8:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_21000000_by_1", + "typeString": "int_const 21000000" + }, + "value": "21000000" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3130", + "id": 247, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "277:2:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "argumentTypes": null, + "id": 248, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "281:8:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "277:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 250, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "276:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "265:25:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 266, + "nodeType": "Block", + "src": "318:92:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 255, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1478, + "src": "328:11:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 256, + "name": "INITIAL_SUPPLY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 252, + "src": "342:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "328:28:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 258, + "nodeType": "ExpressionStatement", + "src": "328:28:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 259, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "366:8:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 262, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 260, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "375:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "375:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "366:20:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 263, + "name": "INITIAL_SUPPLY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 252, + "src": "389:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "366:37:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 265, + "nodeType": "ExpressionStatement", + "src": "366:37:2" + } + ] + }, + "documentation": null, + "id": 267, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 253, + "nodeType": "ParameterList", + "parameters": [], + "src": "308:2:2" + }, + "payable": false, + "returnParameters": { + "id": 254, + "nodeType": "ParameterList", + "parameters": [], + "src": "318:0:2" + }, + "scope": 268, + "src": "297:113:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 269, + "src": "89:323:2" + } + ], + "src": "0:413:2" + }, + "legacyAST": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/ParatiiToken.sol", + "exportedSymbols": { + "ParatiiToken": [ + 268 + ] + }, + "id": 269, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 232, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:2" + }, + { + "absolutePath": "zeppelin-solidity/contracts/token/StandardToken.sol", + "file": "zeppelin-solidity/contracts/token/StandardToken.sol", + "id": 233, + "nodeType": "ImportDirective", + "scope": 269, + "sourceUnit": 1735, + "src": "26:61:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 234, + "name": "StandardToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1734, + "src": "114:13:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_StandardToken_$1734", + "typeString": "contract StandardToken" + } + }, + "id": 235, + "nodeType": "InheritanceSpecifier", + "src": "114:13:2" + } + ], + "contractDependencies": [ + 1431, + 1474, + 1503, + 1734 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 268, + "linearizedBaseContracts": [ + 268, + 1734, + 1431, + 1474, + 1503 + ], + "name": "ParatiiToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 238, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 268, + "src": "135:30:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 236, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "135:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "50617261746969", + "id": 237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "156:9:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ae93c4febd7140468a917d366b33edbb517b06fa4f303d78c9ec21dec3acef38", + "typeString": "literal_string \"Paratii\"" + }, + "value": "Paratii" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 241, + "name": "symbol", + "nodeType": "VariableDeclaration", + "scope": 268, + "src": "171:28:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 239, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "171:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "505449", + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "194:5:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6340d7c1aa7a1d2ab6a2b0be0f6ebad7944f0a13973776467e5e331679d42bf7", + "typeString": "literal_string \"PTI\"" + }, + "value": "PTI" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 244, + "name": "decimals", + "nodeType": "VariableDeclaration", + "scope": 268, + "src": "205:25:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 242, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "205:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3138", + "id": 243, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "228:2:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 252, + "name": "INITIAL_SUPPLY", + "nodeType": "VariableDeclaration", + "scope": 268, + "src": "236:54:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 245, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "236:4:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3231303030303030", + "id": 246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "265:8:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_21000000_by_1", + "typeString": "int_const 21000000" + }, + "value": "21000000" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3130", + "id": 247, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "277:2:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "argumentTypes": null, + "id": 248, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "281:8:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "277:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 250, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "276:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "265:25:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 266, + "nodeType": "Block", + "src": "318:92:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 255, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1478, + "src": "328:11:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 256, + "name": "INITIAL_SUPPLY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 252, + "src": "342:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "328:28:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 258, + "nodeType": "ExpressionStatement", + "src": "328:28:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 259, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "366:8:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 262, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 260, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "375:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "375:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "366:20:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 263, + "name": "INITIAL_SUPPLY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 252, + "src": "389:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "366:37:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 265, + "nodeType": "ExpressionStatement", + "src": "366:37:2" + } + ] + }, + "documentation": null, + "id": 267, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 253, + "nodeType": "ParameterList", + "parameters": [], + "src": "308:2:2" + }, + "payable": false, + "returnParameters": { + "id": 254, + "nodeType": "ParameterList", + "parameters": [], + "src": "318:0:2" + }, + "scope": 268, + "src": "297:113:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 269, + "src": "89:323:2" + } + ], + "src": "0:413:2" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-29T16:30:42.882Z" +} \ No newline at end of file diff --git a/build/contracts/Registry.json b/build/contracts/Registry.json index 17cad38..8471946 100644 --- a/build/contracts/Registry.json +++ b/build/contracts/Registry.json @@ -1 +1,5796 @@ -{"contractName":"Registry","abi":[{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"strings","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"numbers","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"contracts","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"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_name","type":"string"},{"indexed":false,"name":"_address","type":"address"}],"name":"LogRegisterAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_name","type":"string"}],"name":"LogUnregisterAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_name","type":"string"},{"indexed":false,"name":"_number","type":"uint256"}],"name":"LogRegisterUint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_name","type":"string"}],"name":"LogUnregisterUint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_name","type":"string"},{"indexed":false,"name":"_string","type":"string"}],"name":"LogRegisterString","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_name","type":"string"}],"name":"LogUnregisterString","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_address","type":"address"}],"name":"registerAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"unregisterAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_name","type":"string"}],"name":"getContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_number","type":"uint256"}],"name":"registerUint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"unregisterUint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_name","type":"string"}],"name":"getUint","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_string","type":"string"}],"name":"registerString","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"unregisterString","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_name","type":"string"}],"name":"getString","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506117198061009e6000396000f3006060604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806326404c37146100d557806335817773146101325780633708a96b146101cf578063498bff001461022c5780636059936e1461029d57806375b453511461033d5780638da5cb5b146103a357806397d7e807146103f85780639c981fcb14610455578063b13f5f191461052b578063bd935287146105a7578063c724982b14610647578063ec56a37314610682578063f2fde38b146106e9575b600080fd5b34156100e057600080fd5b610130600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610722565b005b341561013d57600080fd5b61018d600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506108bc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101da57600080fd5b61022a600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610963565b005b341561023757600080fd5b610287600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610ade565b6040518082815260200191505060405180910390f35b34156102a857600080fd5b6102c2600480803560001916906020019091905050610b65565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103025780820151818401526020810190506102e7565b50505050905090810190601f16801561032f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561034857600080fd5b6103a1600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050610c15565b005b34156103ae57600080fd5b6103b6610d9a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561040357600080fd5b610453600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610dbf565b005b341561046057600080fd5b6104b0600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610f42565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104f05780820151818401526020810190506104d5565b50505050905090810190601f16801561051d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561053657600080fd5b6105a5600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611067565b005b34156105b257600080fd5b610645600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611252565b005b341561065257600080fd5b61066c60048080356000191690602001909190505061144c565b6040518082815260200191505060405180910390f35b341561068d57600080fd5b6106a7600480803560001916906020019091905050611464565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106f457600080fd5b610720600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611497565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561077d57600080fd5b60016000826040518082805190602001908083835b6020831015156107b75780518252602082019150602081019050602083039250610792565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557fa76e7b6e2c26769c731f99243d786a5fa6f8d70201a88db135d7c0bb21d1afc3816040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087f578082015181840152602081019050610864565b50505050905090810190601f1680156108ac5780820380516001836020036101000a031916815260200191505b509250505060405180910390a150565b600060016000836040518082805190602001908083835b6020831015156108f857805182526020820191506020810190506020830392506108d3565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109be57600080fd5b60026000826040518082805190602001908083835b6020831015156109f857805182526020820191506020810190506020830392506109d3565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020600090557fa4de87e6562b1cde60454f2969e0775b4f27f1db0047f106f63c00f4e19a596a816040518080602001828103825283818151815260200191508051906020019080838360005b83811015610aa1578082015181840152602081019050610a86565b50505050905090810190601f168015610ace5780820380516001836020036101000a031916815260200191505b509250505060405180910390a150565b600060026000836040518082805190602001908083835b602083101515610b1a5780518252602082019150602081019050602083039250610af5565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b60036020528060005260406000206000915090508054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c0d5780601f10610be257610100808354040283529160200191610c0d565b820191906000526020600020905b815481529060010190602001808311610bf057829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c7057600080fd5b8060026000846040518082805190602001908083835b602083101515610cab5780518252602082019150602081019050602083039250610c86565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020819055507f8c8f8f23d981717abe1d63307dea4737664c320ea49169cf2357c32d3eb0459882826040518080602001838152602001828103825284818151815260200191508051906020019080838360005b83811015610d5b578082015181840152602081019050610d40565b50505050905090810190601f168015610d885780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e1a57600080fd5b60036000826040518082805190602001908083835b602083101515610e545780518252602082019150602081019050602083039250610e2f565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019166000191681526020019081526020016000206000610ea391906115ec565b7fe6e691835b821c75b07b5cb7ae7d383e85d0041e89871368ed5f41a67134482a816040518080602001828103825283818151815260200191508051906020019080838360005b83811015610f05578082015181840152602081019050610eea565b50505050905090810190601f168015610f325780820380516001836020036101000a031916815260200191505b509250505060405180910390a150565b610f4a611634565b60036000836040518082805190602001908083835b602083101515610f845780518252602082019150602081019050602083039250610f5f565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019166000191681526020019081526020016000208054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561105b5780601f106110305761010080835404028352916020019161105b565b820191906000526020600020905b81548152906001019060200180831161103e57829003601f168201915b50505050509050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110c257600080fd5b8060016000846040518082805190602001908083835b6020831015156110fd57805182526020820191506020810190506020830392506110d8565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f2a1a55d7966a6bb6e4f08dcd6fd098b939891c9f7528df549e9770667a8a02ba828260405180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b838110156112135780820151818401526020810190506111f8565b50505050905090810190601f1680156112405780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112ad57600080fd5b8060036000846040518082805190602001908083835b6020831015156112e857805182526020820191506020810190506020830392506112c3565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020908051906020019061133e929190611648565b507f410eddefb807d899bc8882a95951655391fe0a4d0c444cb6545a5761f3b4aaab8282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156113a657808201518184015260208101905061138b565b50505050905090810190601f1680156113d35780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561140c5780820151818401526020810190506113f1565b50505050905090810190601f1680156114395780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15050565b60026020528060005260406000206000915090505481565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114f257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561152e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b50805460018160011615610100020316600290046000825580601f106116125750611631565b601f01602090049060005260206000209081019061163091906116c8565b5b50565b602060405190810160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061168957805160ff19168380011785556116b7565b828001600101855582156116b7579182015b828111156116b657825182559160200191906001019061169b565b5b5090506116c491906116c8565b5090565b6116ea91905b808211156116e65760008160009055506001016116ce565b5090565b905600a165627a7a72305820c8e44a60c00659e0dfbd29bdc2df9e268611fba8003f1e797f36fbe2329c4c060029","deployedBytecode":"0x6060604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806326404c37146100d557806335817773146101325780633708a96b146101cf578063498bff001461022c5780636059936e1461029d57806375b453511461033d5780638da5cb5b146103a357806397d7e807146103f85780639c981fcb14610455578063b13f5f191461052b578063bd935287146105a7578063c724982b14610647578063ec56a37314610682578063f2fde38b146106e9575b600080fd5b34156100e057600080fd5b610130600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610722565b005b341561013d57600080fd5b61018d600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506108bc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101da57600080fd5b61022a600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610963565b005b341561023757600080fd5b610287600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610ade565b6040518082815260200191505060405180910390f35b34156102a857600080fd5b6102c2600480803560001916906020019091905050610b65565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103025780820151818401526020810190506102e7565b50505050905090810190601f16801561032f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561034857600080fd5b6103a1600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050610c15565b005b34156103ae57600080fd5b6103b6610d9a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561040357600080fd5b610453600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610dbf565b005b341561046057600080fd5b6104b0600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610f42565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104f05780820151818401526020810190506104d5565b50505050905090810190601f16801561051d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561053657600080fd5b6105a5600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611067565b005b34156105b257600080fd5b610645600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611252565b005b341561065257600080fd5b61066c60048080356000191690602001909190505061144c565b6040518082815260200191505060405180910390f35b341561068d57600080fd5b6106a7600480803560001916906020019091905050611464565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106f457600080fd5b610720600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611497565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561077d57600080fd5b60016000826040518082805190602001908083835b6020831015156107b75780518252602082019150602081019050602083039250610792565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557fa76e7b6e2c26769c731f99243d786a5fa6f8d70201a88db135d7c0bb21d1afc3816040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087f578082015181840152602081019050610864565b50505050905090810190601f1680156108ac5780820380516001836020036101000a031916815260200191505b509250505060405180910390a150565b600060016000836040518082805190602001908083835b6020831015156108f857805182526020820191506020810190506020830392506108d3565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109be57600080fd5b60026000826040518082805190602001908083835b6020831015156109f857805182526020820191506020810190506020830392506109d3565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020600090557fa4de87e6562b1cde60454f2969e0775b4f27f1db0047f106f63c00f4e19a596a816040518080602001828103825283818151815260200191508051906020019080838360005b83811015610aa1578082015181840152602081019050610a86565b50505050905090810190601f168015610ace5780820380516001836020036101000a031916815260200191505b509250505060405180910390a150565b600060026000836040518082805190602001908083835b602083101515610b1a5780518252602082019150602081019050602083039250610af5565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b60036020528060005260406000206000915090508054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c0d5780601f10610be257610100808354040283529160200191610c0d565b820191906000526020600020905b815481529060010190602001808311610bf057829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c7057600080fd5b8060026000846040518082805190602001908083835b602083101515610cab5780518252602082019150602081019050602083039250610c86565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020819055507f8c8f8f23d981717abe1d63307dea4737664c320ea49169cf2357c32d3eb0459882826040518080602001838152602001828103825284818151815260200191508051906020019080838360005b83811015610d5b578082015181840152602081019050610d40565b50505050905090810190601f168015610d885780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e1a57600080fd5b60036000826040518082805190602001908083835b602083101515610e545780518252602082019150602081019050602083039250610e2f565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019166000191681526020019081526020016000206000610ea391906115ec565b7fe6e691835b821c75b07b5cb7ae7d383e85d0041e89871368ed5f41a67134482a816040518080602001828103825283818151815260200191508051906020019080838360005b83811015610f05578082015181840152602081019050610eea565b50505050905090810190601f168015610f325780820380516001836020036101000a031916815260200191505b509250505060405180910390a150565b610f4a611634565b60036000836040518082805190602001908083835b602083101515610f845780518252602082019150602081019050602083039250610f5f565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019166000191681526020019081526020016000208054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561105b5780601f106110305761010080835404028352916020019161105b565b820191906000526020600020905b81548152906001019060200180831161103e57829003601f168201915b50505050509050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110c257600080fd5b8060016000846040518082805190602001908083835b6020831015156110fd57805182526020820191506020810190506020830392506110d8565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f2a1a55d7966a6bb6e4f08dcd6fd098b939891c9f7528df549e9770667a8a02ba828260405180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b838110156112135780820151818401526020810190506111f8565b50505050905090810190601f1680156112405780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112ad57600080fd5b8060036000846040518082805190602001908083835b6020831015156112e857805182526020820191506020810190506020830392506112c3565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020908051906020019061133e929190611648565b507f410eddefb807d899bc8882a95951655391fe0a4d0c444cb6545a5761f3b4aaab8282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156113a657808201518184015260208101905061138b565b50505050905090810190601f1680156113d35780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561140c5780820151818401526020810190506113f1565b50505050905090810190601f1680156114395780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15050565b60026020528060005260406000206000915090505481565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114f257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561152e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b50805460018160011615610100020316600290046000825580601f106116125750611631565b601f01602090049060005260206000209081019061163091906116c8565b5b50565b602060405190810160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061168957805160ff19168380011785556116b7565b828001600101855582156116b7579182015b828111156116b657825182559160200191906001019061169b565b5b5090506116c491906116c8565b5090565b6116ea91905b808211156116e65760008160009055506001016116ce565b5090565b905600a165627a7a72305820c8e44a60c00659e0dfbd29bdc2df9e268611fba8003f1e797f36fbe2329c4c060029"} \ No newline at end of file +{ + "contractName": "Registry", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "strings", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "numbers", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "contracts", + "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" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_name", + "type": "string" + }, + { + "indexed": false, + "name": "_address", + "type": "address" + } + ], + "name": "LogRegisterAddress", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_name", + "type": "string" + } + ], + "name": "LogUnregisterAddress", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_name", + "type": "string" + }, + { + "indexed": false, + "name": "_number", + "type": "uint256" + } + ], + "name": "LogRegisterUint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_name", + "type": "string" + } + ], + "name": "LogUnregisterUint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_name", + "type": "string" + }, + { + "indexed": false, + "name": "_string", + "type": "string" + } + ], + "name": "LogRegisterString", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_name", + "type": "string" + } + ], + "name": "LogUnregisterString", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_name", + "type": "string" + }, + { + "name": "_address", + "type": "address" + } + ], + "name": "registerAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_name", + "type": "string" + } + ], + "name": "unregisterAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_name", + "type": "string" + } + ], + "name": "getContract", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_name", + "type": "string" + }, + { + "name": "_number", + "type": "uint256" + } + ], + "name": "registerUint", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_name", + "type": "string" + } + ], + "name": "unregisterUint", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_name", + "type": "string" + } + ], + "name": "getUint", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_name", + "type": "string" + }, + { + "name": "_string", + "type": "string" + } + ], + "name": "registerString", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_name", + "type": "string" + } + ], + "name": "unregisterString", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_name", + "type": "string" + } + ], + "name": "getString", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061179a806100a06000396000f3006080604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806326404c37146100d5578063358177731461013e5780633708a96b146101e7578063498bff00146102505780636059936e146102cd57806375b45351146103775780638da5cb5b146103ea57806397d7e807146104415780639c981fcb146104aa578063b13f5f191461058c578063bd93528714610615578063c724982b146106c4578063ec56a37314610709578063f2fde38b1461077a575b600080fd5b3480156100e157600080fd5b5061013c600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506107bd565b005b34801561014a57600080fd5b506101a5600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610957565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101f357600080fd5b5061024e600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506109fe565b005b34801561025c57600080fd5b506102b7600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610b79565b6040518082815260200191505060405180910390f35b3480156102d957600080fd5b506102fc6004803603810190808035600019169060200190929190505050610c00565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033c578082015181840152602081019050610321565b50505050905090810190601f1680156103695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561038357600080fd5b506103e8600480360381019080803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929080359060200190929190505050610cb0565b005b3480156103f657600080fd5b506103ff610e35565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561044d57600080fd5b506104a8600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610e5a565b005b3480156104b657600080fd5b50610511600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610fdd565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610551578082015181840152602081019050610536565b50505050905090810190601f16801561057e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561059857600080fd5b50610613600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110fc565b005b34801561062157600080fd5b506106c2600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506112e7565b005b3480156106d057600080fd5b506106f360048036038101908080356000191690602001909291905050506114e1565b6040518082815260200191505060405180910390f35b34801561071557600080fd5b5061073860048036038101908080356000191690602001909291905050506114f9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561078657600080fd5b506107bb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061152c565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561081857600080fd5b60016000826040518082805190602001908083835b602083101515610852578051825260208201915060208101905060208303925061082d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557fa76e7b6e2c26769c731f99243d786a5fa6f8d70201a88db135d7c0bb21d1afc3816040518080602001828103825283818151815260200191508051906020019080838360005b8381101561091a5780820151818401526020810190506108ff565b50505050905090810190601f1680156109475780820380516001836020036101000a031916815260200191505b509250505060405180910390a150565b600060016000836040518082805190602001908083835b602083101515610993578051825260208201915060208101905060208303925061096e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a5957600080fd5b60026000826040518082805190602001908083835b602083101515610a935780518252602082019150602081019050602083039250610a6e565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020600090557fa4de87e6562b1cde60454f2969e0775b4f27f1db0047f106f63c00f4e19a596a816040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b3c578082015181840152602081019050610b21565b50505050905090810190601f168015610b695780820380516001836020036101000a031916815260200191505b509250505060405180910390a150565b600060026000836040518082805190602001908083835b602083101515610bb55780518252602082019150602081019050602083039250610b90565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b60036020528060005260406000206000915090508054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ca85780601f10610c7d57610100808354040283529160200191610ca8565b820191906000526020600020905b815481529060010190602001808311610c8b57829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d0b57600080fd5b8060026000846040518082805190602001908083835b602083101515610d465780518252602082019150602081019050602083039250610d21565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020819055507f8c8f8f23d981717abe1d63307dea4737664c320ea49169cf2357c32d3eb0459882826040518080602001838152602001828103825284818151815260200191508051906020019080838360005b83811015610df6578082015181840152602081019050610ddb565b50505050905090810190601f168015610e235780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610eb557600080fd5b60036000826040518082805190602001908083835b602083101515610eef5780518252602082019150602081019050602083039250610eca565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019166000191681526020019081526020016000206000610f3e9190611681565b7fe6e691835b821c75b07b5cb7ae7d383e85d0041e89871368ed5f41a67134482a816040518080602001828103825283818151815260200191508051906020019080838360005b83811015610fa0578082015181840152602081019050610f85565b50505050905090810190601f168015610fcd5780820380516001836020036101000a031916815260200191505b509250505060405180910390a150565b606060036000836040518082805190602001908083835b6020831015156110195780518252602082019150602081019050602083039250610ff4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019166000191681526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110f05780601f106110c5576101008083540402835291602001916110f0565b820191906000526020600020905b8154815290600101906020018083116110d357829003601f168201915b50505050509050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561115757600080fd5b8060016000846040518082805190602001908083835b602083101515611192578051825260208201915060208101905060208303925061116d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f2a1a55d7966a6bb6e4f08dcd6fd098b939891c9f7528df549e9770667a8a02ba828260405180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b838110156112a857808201518184015260208101905061128d565b50505050905090810190601f1680156112d55780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561134257600080fd5b8060036000846040518082805190602001908083835b60208310151561137d5780518252602082019150602081019050602083039250611358565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002090805190602001906113d39291906116c9565b507f410eddefb807d899bc8882a95951655391fe0a4d0c444cb6545a5761f3b4aaab8282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561143b578082015181840152602081019050611420565b50505050905090810190601f1680156114685780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156114a1578082015181840152602081019050611486565b50505050905090810190601f1680156114ce5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15050565b60026020528060005260406000206000915090505481565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561158757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115c357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b50805460018160011615610100020316600290046000825580601f106116a757506116c6565b601f0160209004906000526020600020908101906116c59190611749565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061170a57805160ff1916838001178555611738565b82800160010185558215611738579182015b8281111561173757825182559160200191906001019061171c565b5b5090506117459190611749565b5090565b61176b91905b8082111561176757600081600090555060010161174f565b5090565b905600a165627a7a7230582052a35c67f20ee2aa8b0e201508e06fa0ded01a1925098ce1c93ea057c82812600029", + "deployedBytecode": "0x6080604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806326404c37146100d5578063358177731461013e5780633708a96b146101e7578063498bff00146102505780636059936e146102cd57806375b45351146103775780638da5cb5b146103ea57806397d7e807146104415780639c981fcb146104aa578063b13f5f191461058c578063bd93528714610615578063c724982b146106c4578063ec56a37314610709578063f2fde38b1461077a575b600080fd5b3480156100e157600080fd5b5061013c600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506107bd565b005b34801561014a57600080fd5b506101a5600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610957565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101f357600080fd5b5061024e600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506109fe565b005b34801561025c57600080fd5b506102b7600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610b79565b6040518082815260200191505060405180910390f35b3480156102d957600080fd5b506102fc6004803603810190808035600019169060200190929190505050610c00565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033c578082015181840152602081019050610321565b50505050905090810190601f1680156103695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561038357600080fd5b506103e8600480360381019080803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929080359060200190929190505050610cb0565b005b3480156103f657600080fd5b506103ff610e35565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561044d57600080fd5b506104a8600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610e5a565b005b3480156104b657600080fd5b50610511600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610fdd565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610551578082015181840152602081019050610536565b50505050905090810190601f16801561057e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561059857600080fd5b50610613600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110fc565b005b34801561062157600080fd5b506106c2600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506112e7565b005b3480156106d057600080fd5b506106f360048036038101908080356000191690602001909291905050506114e1565b6040518082815260200191505060405180910390f35b34801561071557600080fd5b5061073860048036038101908080356000191690602001909291905050506114f9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561078657600080fd5b506107bb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061152c565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561081857600080fd5b60016000826040518082805190602001908083835b602083101515610852578051825260208201915060208101905060208303925061082d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557fa76e7b6e2c26769c731f99243d786a5fa6f8d70201a88db135d7c0bb21d1afc3816040518080602001828103825283818151815260200191508051906020019080838360005b8381101561091a5780820151818401526020810190506108ff565b50505050905090810190601f1680156109475780820380516001836020036101000a031916815260200191505b509250505060405180910390a150565b600060016000836040518082805190602001908083835b602083101515610993578051825260208201915060208101905060208303925061096e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a5957600080fd5b60026000826040518082805190602001908083835b602083101515610a935780518252602082019150602081019050602083039250610a6e565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020600090557fa4de87e6562b1cde60454f2969e0775b4f27f1db0047f106f63c00f4e19a596a816040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b3c578082015181840152602081019050610b21565b50505050905090810190601f168015610b695780820380516001836020036101000a031916815260200191505b509250505060405180910390a150565b600060026000836040518082805190602001908083835b602083101515610bb55780518252602082019150602081019050602083039250610b90565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b60036020528060005260406000206000915090508054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ca85780601f10610c7d57610100808354040283529160200191610ca8565b820191906000526020600020905b815481529060010190602001808311610c8b57829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d0b57600080fd5b8060026000846040518082805190602001908083835b602083101515610d465780518252602082019150602081019050602083039250610d21565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020819055507f8c8f8f23d981717abe1d63307dea4737664c320ea49169cf2357c32d3eb0459882826040518080602001838152602001828103825284818151815260200191508051906020019080838360005b83811015610df6578082015181840152602081019050610ddb565b50505050905090810190601f168015610e235780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610eb557600080fd5b60036000826040518082805190602001908083835b602083101515610eef5780518252602082019150602081019050602083039250610eca565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019166000191681526020019081526020016000206000610f3e9190611681565b7fe6e691835b821c75b07b5cb7ae7d383e85d0041e89871368ed5f41a67134482a816040518080602001828103825283818151815260200191508051906020019080838360005b83811015610fa0578082015181840152602081019050610f85565b50505050905090810190601f168015610fcd5780820380516001836020036101000a031916815260200191505b509250505060405180910390a150565b606060036000836040518082805190602001908083835b6020831015156110195780518252602082019150602081019050602083039250610ff4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019166000191681526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110f05780601f106110c5576101008083540402835291602001916110f0565b820191906000526020600020905b8154815290600101906020018083116110d357829003601f168201915b50505050509050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561115757600080fd5b8060016000846040518082805190602001908083835b602083101515611192578051825260208201915060208101905060208303925061116d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f2a1a55d7966a6bb6e4f08dcd6fd098b939891c9f7528df549e9770667a8a02ba828260405180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b838110156112a857808201518184015260208101905061128d565b50505050905090810190601f1680156112d55780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561134257600080fd5b8060036000846040518082805190602001908083835b60208310151561137d5780518252602082019150602081019050602083039250611358565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002090805190602001906113d39291906116c9565b507f410eddefb807d899bc8882a95951655391fe0a4d0c444cb6545a5761f3b4aaab8282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561143b578082015181840152602081019050611420565b50505050905090810190601f1680156114685780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156114a1578082015181840152602081019050611486565b50505050905090810190601f1680156114ce5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15050565b60026020528060005260406000206000915090505481565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561158757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115c357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b50805460018160011615610100020316600290046000825580601f106116a757506116c6565b601f0160209004906000526020600020908101906116c59190611749565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061170a57805160ff1916838001178555611738565b82800160010185558215611738579182015b8281111561173757825182559160200191906001019061171c565b5b5090506117459190611749565b5090565b61176b91905b8082111561176757600081600090555060010161174f565b5090565b905600a165627a7a7230582052a35c67f20ee2aa8b0e201508e06fa0ded01a1925098ce1c93ea057c82812600029", + "sourceMap": "190:1887:3:-;;;678:56;8:9:-1;5:2;;;30:1;27;20:12;5:2;678:56:3;502:10:9;494:5;;:18;;;;;;;;;;;;;;;;;;717:10:3;709:5;;:18;;;;;;;;;;;;;;;;;;190:1887;;;;;;", + "deployedSourceMap": "190:1887:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;925:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;925:151:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1082:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1082:115:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1374:143;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1374:143:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1523:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1523:106:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;320:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;320:40:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;320:40:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1203:165;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1203:165:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:9;;;;;;;;;;;;;;;;;;;;;;;;;;;1812:147:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1812:147:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1965:110;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1965:110:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1965:110:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;740:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;740:179:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1635:171;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1635:171:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;276:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;276:38:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;227:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;227:43:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;827:169:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;827:169:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;925:151:3;647:5:9;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;1000:9:3;:27;1020:5;1010:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1010:16:3;;;;;;;;;;;;;;;;1000:27;;;;;;;;;;;;;;;;;;993:34;;;;;;;;;;;1042:27;1063:5;1042:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1042:27:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;925:151;:::o;1082:115::-;1137:7;1163:9;:27;1183:5;1173:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1173:16:3;;;;;;;;;;;;;;;;1163:27;;;;;;;;;;;;;;;;;;;;;;;;;;;1156:34;;1082:115;;;:::o;1374:143::-;647:5:9;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;1446:7:3;:25;1464:5;1454:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1454:16:3;;;;;;;;;;;;;;;;1446:25;;;;;;;;;;;;;;;;;1439:32;;;1486:24;1504:5;1486:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1486:24:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1374:143;:::o;1523:106::-;1574:4;1597:7;:25;1615:5;1605:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1605:16:3;;;;;;;;;;;;;;;;1597:25;;;;;;;;;;;;;;;;;;1590:32;;1523:106;;;:::o;320:40::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1203:165::-;647:5:9;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;1308:7:3;1280;:25;1298:5;1288:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1288:16:3;;;;;;;;;;;;;;;;1280:25;;;;;;;;;;;;;;;;;:35;;;;1330:31;1346:5;1353:7;1330:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1330:31:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1203:165;;:::o;238:20:9:-;;;;;;;;;;;;;:::o;1812:147:3:-;647:5:9;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;1886:7:3;:25;1904:5;1894:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1894:16:3;;;;;;;;;;;;;;;;1886:25;;;;;;;;;;;;;;;;;;1879:32;;;;:::i;:::-;1926:26;1946:5;1926:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1926:26:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1812:147;:::o;1965:110::-;2018:6;2043:7;:25;2061:5;2051:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2051:16:3;;;;;;;;;;;;;;;;2043:25;;;;;;;;;;;;;;;;;2036:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1965:110;;;:::o;740:179::-;647:5:9;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;854:8:3;824:9;:27;844:5;834:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;834:16:3;;;;;;;;;;;;;;;;824:27;;;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;877:35;896:5;903:8;877:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;877:35:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;740:179;;:::o;1635:171::-;647:5:9;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;1744:7:3;1716;:25;1734:5;1724:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1724:16:3;;;;;;;;;;;;;;;;1716:25;;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;:::i;:::-;;1766:33;1784:5;1791:7;1766:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1766:33:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1766:33:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1635:171;;:::o;276:38::-;;;;;;;;;;;;;;;;;:::o;227:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;827:169:9:-;647:5;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;923:1;903:22;;:8;:22;;;;895:31;;;;;;;;960:8;932:37;;953:5;;;;;;;;;;;932:37;;;;;;;;;;;;983:8;975:5;;:16;;;;;;;;;;;;;;;;;;827:169;:::o;190:1887:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.18;\n\nimport \"zeppelin-solidity/contracts/ownership/Ownable.sol\";\n\n/**\n * @dev the Registry contains settings and addresses of contracts for the Partii Ecosystem\n *\n **/\ncontract Registry is Ownable {\n\n mapping (bytes32=>address) public contracts;\n mapping (bytes32=>uint) public numbers;\n mapping (bytes32=>string) public strings;\n\n event LogRegisterAddress(string _name, address _address);\n event LogUnregisterAddress(string _name);\n event LogRegisterUint(string _name, uint _number);\n event LogUnregisterUint(string _name);\n event LogRegisterString(string _name, string _string);\n event LogUnregisterString(string _name);\n\n constructor() public {\n owner = msg.sender;\n }\n\n function registerAddress(string _name, address _address) public onlyOwner {\n contracts[keccak256(_name)] = _address;\n emit LogRegisterAddress(_name, _address);\n }\n\n function unregisterAddress(string _name) public onlyOwner {\n delete contracts[keccak256(_name)];\n emit LogUnregisterAddress(_name);\n }\n\n function getContract(string _name) public view returns(address) {\n return contracts[keccak256(_name)];\n }\n\n function registerUint(string _name, uint _number) public onlyOwner {\n numbers[keccak256(_name)] = _number;\n emit LogRegisterUint(_name, _number);\n }\n\n function unregisterUint(string _name) public onlyOwner {\n delete numbers[keccak256(_name)];\n emit LogUnregisterUint(_name);\n }\n\n function getUint(string _name) public view returns(uint) {\n return numbers[keccak256(_name)];\n }\n\n function registerString(string _name, string _string) public onlyOwner {\n strings[keccak256(_name)] = _string;\n emit LogRegisterString(_name, _string);\n }\n\n function unregisterString(string _name) public onlyOwner {\n delete strings[keccak256(_name)];\n emit LogUnregisterString(_name);\n }\n\n function getString(string _name) public view returns(string) {\n return strings[keccak256(_name)];\n }\n}\n", + "sourcePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Registry.sol", + "ast": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Registry.sol", + "exportedSymbols": { + "Registry": [ + 493 + ] + }, + "id": 494, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 270, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:3" + }, + { + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 271, + "nodeType": "ImportDirective", + "scope": 494, + "sourceUnit": 1355, + "src": "26:59:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 272, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1354, + "src": "211:7:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$1354", + "typeString": "contract Ownable" + } + }, + "id": 273, + "nodeType": "InheritanceSpecifier", + "src": "211:7:3" + } + ], + "contractDependencies": [ + 1354 + ], + "contractKind": "contract", + "documentation": "@dev the Registry contains settings and addresses of contracts for the Partii Ecosystem\n *", + "fullyImplemented": true, + "id": 493, + "linearizedBaseContracts": [ + 493, + 1354 + ], + "name": "Registry", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 277, + "name": "contracts", + "nodeType": "VariableDeclaration", + "scope": 493, + "src": "227:43:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + }, + "typeName": { + "id": 276, + "keyType": { + "id": 274, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "236:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "227:26:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + }, + "valueType": { + "id": 275, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "245:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 281, + "name": "numbers", + "nodeType": "VariableDeclaration", + "scope": 493, + "src": "276:38:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "typeName": { + "id": 280, + "keyType": { + "id": 278, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "285:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "276:23:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "valueType": { + "id": 279, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "294:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 285, + "name": "strings", + "nodeType": "VariableDeclaration", + "scope": 493, + "src": "320:40:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$", + "typeString": "mapping(bytes32 => string)" + }, + "typeName": { + "id": 284, + "keyType": { + "id": 282, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "329:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "320:25:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$", + "typeString": "mapping(bytes32 => string)" + }, + "valueType": { + "id": 283, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "338:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 291, + "name": "LogRegisterAddress", + "nodeType": "EventDefinition", + "parameters": { + "id": 290, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 287, + "indexed": false, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 291, + "src": "392:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 286, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "392:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 289, + "indexed": false, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 291, + "src": "406:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 288, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "406:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "391:32:3" + }, + "src": "367:57:3" + }, + { + "anonymous": false, + "documentation": null, + "id": 295, + "name": "LogUnregisterAddress", + "nodeType": "EventDefinition", + "parameters": { + "id": 294, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 293, + "indexed": false, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 295, + "src": "456:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 292, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "456:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "455:14:3" + }, + "src": "429:41:3" + }, + { + "anonymous": false, + "documentation": null, + "id": 301, + "name": "LogRegisterUint", + "nodeType": "EventDefinition", + "parameters": { + "id": 300, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 297, + "indexed": false, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 301, + "src": "497:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 296, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "497:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 299, + "indexed": false, + "name": "_number", + "nodeType": "VariableDeclaration", + "scope": 301, + "src": "511:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 298, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "511:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "496:28:3" + }, + "src": "475:50:3" + }, + { + "anonymous": false, + "documentation": null, + "id": 305, + "name": "LogUnregisterUint", + "nodeType": "EventDefinition", + "parameters": { + "id": 304, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 303, + "indexed": false, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 305, + "src": "554:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 302, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "554:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "553:14:3" + }, + "src": "530:38:3" + }, + { + "anonymous": false, + "documentation": null, + "id": 311, + "name": "LogRegisterString", + "nodeType": "EventDefinition", + "parameters": { + "id": 310, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 307, + "indexed": false, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 311, + "src": "597:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 306, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "597:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 309, + "indexed": false, + "name": "_string", + "nodeType": "VariableDeclaration", + "scope": 311, + "src": "611:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 308, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "611:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "596:30:3" + }, + "src": "573:54:3" + }, + { + "anonymous": false, + "documentation": null, + "id": 315, + "name": "LogUnregisterString", + "nodeType": "EventDefinition", + "parameters": { + "id": 314, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 313, + "indexed": false, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 315, + "src": "658:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 312, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "658:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "657:14:3" + }, + "src": "632:40:3" + }, + { + "body": { + "id": 323, + "nodeType": "Block", + "src": "699:35:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 318, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1302, + "src": "709:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 319, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "717:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "717:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "709:18:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 322, + "nodeType": "ExpressionStatement", + "src": "709:18:3" + } + ] + }, + "documentation": null, + "id": 324, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 316, + "nodeType": "ParameterList", + "parameters": [], + "src": "689:2:3" + }, + "payable": false, + "returnParameters": { + "id": 317, + "nodeType": "ParameterList", + "parameters": [], + "src": "699:0:3" + }, + "scope": 493, + "src": "678:56:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 346, + "nodeType": "Block", + "src": "814:105:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 333, + "name": "contracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 277, + "src": "824:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 337, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 335, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 326, + "src": "844:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 334, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "834:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "834:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "824:27:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 338, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 328, + "src": "854:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "824:38:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 340, + "nodeType": "ExpressionStatement", + "src": "824:38:3" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 342, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 326, + "src": "896:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 343, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 328, + "src": "903:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 341, + "name": "LogRegisterAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "877:18:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$", + "typeString": "function (string memory,address)" + } + }, + "id": 344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "877:35:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 345, + "nodeType": "EmitStatement", + "src": "872:40:3" + } + ] + }, + "documentation": null, + "id": 347, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 331, + "modifierName": { + "argumentTypes": null, + "id": 330, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "804:9:3", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "804:9:3" + } + ], + "name": "registerAddress", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 329, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 326, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 347, + "src": "765:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 325, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "765:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 328, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 347, + "src": "779:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 327, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "779:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "764:32:3" + }, + "payable": false, + "returnParameters": { + "id": 332, + "nodeType": "ParameterList", + "parameters": [], + "src": "814:0:3" + }, + "scope": 493, + "src": "740:179:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 365, + "nodeType": "Block", + "src": "983:93:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "993:34:3", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 354, + "name": "contracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 277, + "src": "1000:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 358, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 356, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 349, + "src": "1020:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 355, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "1010:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1010:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1000:27:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 360, + "nodeType": "ExpressionStatement", + "src": "993:34:3" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 362, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 349, + "src": "1063:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 361, + "name": "LogUnregisterAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 295, + "src": "1042:20:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1042:27:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 364, + "nodeType": "EmitStatement", + "src": "1037:32:3" + } + ] + }, + "documentation": null, + "id": 366, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 352, + "modifierName": { + "argumentTypes": null, + "id": 351, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "973:9:3", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "973:9:3" + } + ], + "name": "unregisterAddress", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 350, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 349, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 366, + "src": "952:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 348, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "952:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "951:14:3" + }, + "payable": false, + "returnParameters": { + "id": 353, + "nodeType": "ParameterList", + "parameters": [], + "src": "983:0:3" + }, + "scope": 493, + "src": "925:151:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 379, + "nodeType": "Block", + "src": "1146:51:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 373, + "name": "contracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 277, + "src": "1163:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 377, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 375, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 368, + "src": "1183:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 374, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "1173:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1173:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1163:27:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 372, + "id": 378, + "nodeType": "Return", + "src": "1156:34:3" + } + ] + }, + "documentation": null, + "id": 380, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getContract", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 369, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 368, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 380, + "src": "1103:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 367, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1103:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1102:14:3" + }, + "payable": false, + "returnParameters": { + "id": 372, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 371, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 380, + "src": "1137:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 370, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1137:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1136:9:3" + }, + "scope": 493, + "src": "1082:115:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 402, + "nodeType": "Block", + "src": "1270:98:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 389, + "name": "numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 281, + "src": "1280:7:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 393, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 391, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 382, + "src": "1298:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 390, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "1288:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1288:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1280:25:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 394, + "name": "_number", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 384, + "src": "1308:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1280:35:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 396, + "nodeType": "ExpressionStatement", + "src": "1280:35:3" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 398, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 382, + "src": "1346:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 399, + "name": "_number", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 384, + "src": "1353:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 397, + "name": "LogRegisterUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 301, + "src": "1330:15:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1330:31:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 401, + "nodeType": "EmitStatement", + "src": "1325:36:3" + } + ] + }, + "documentation": null, + "id": 403, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 387, + "modifierName": { + "argumentTypes": null, + "id": 386, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "1260:9:3", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1260:9:3" + } + ], + "name": "registerUint", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 385, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 382, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 403, + "src": "1225:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 381, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1225:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 384, + "name": "_number", + "nodeType": "VariableDeclaration", + "scope": 403, + "src": "1239:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 383, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1239:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1224:28:3" + }, + "payable": false, + "returnParameters": { + "id": 388, + "nodeType": "ParameterList", + "parameters": [], + "src": "1270:0:3" + }, + "scope": 493, + "src": "1203:165:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 421, + "nodeType": "Block", + "src": "1429:88:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1439:32:3", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 410, + "name": "numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 281, + "src": "1446:7:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 414, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 412, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 405, + "src": "1464:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 411, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "1454:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1454:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1446:25:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 416, + "nodeType": "ExpressionStatement", + "src": "1439:32:3" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 418, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 405, + "src": "1504:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 417, + "name": "LogUnregisterUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "1486:17:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1486:24:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 420, + "nodeType": "EmitStatement", + "src": "1481:29:3" + } + ] + }, + "documentation": null, + "id": 422, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 408, + "modifierName": { + "argumentTypes": null, + "id": 407, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "1419:9:3", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1419:9:3" + } + ], + "name": "unregisterUint", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 406, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 405, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 422, + "src": "1398:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 404, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1398:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1397:14:3" + }, + "payable": false, + "returnParameters": { + "id": 409, + "nodeType": "ParameterList", + "parameters": [], + "src": "1429:0:3" + }, + "scope": 493, + "src": "1374:143:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 435, + "nodeType": "Block", + "src": "1580:49:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 429, + "name": "numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 281, + "src": "1597:7:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 433, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 431, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 424, + "src": "1615:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 430, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "1605:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1605:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1597:25:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 428, + "id": 434, + "nodeType": "Return", + "src": "1590:32:3" + } + ] + }, + "documentation": null, + "id": 436, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getUint", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 425, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 424, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 436, + "src": "1540:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 423, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1540:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1539:14:3" + }, + "payable": false, + "returnParameters": { + "id": 428, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 427, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 436, + "src": "1574:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 426, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1574:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1573:6:3" + }, + "scope": 493, + "src": "1523:106:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 458, + "nodeType": "Block", + "src": "1706:100:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 445, + "name": "strings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 285, + "src": "1716:7:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$", + "typeString": "mapping(bytes32 => string storage ref)" + } + }, + "id": 449, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 447, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 438, + "src": "1734:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 446, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "1724:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1724:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1716:25:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 450, + "name": "_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 440, + "src": "1744:7:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "1716:35:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 452, + "nodeType": "ExpressionStatement", + "src": "1716:35:3" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 454, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 438, + "src": "1784:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 455, + "name": "_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 440, + "src": "1791:7:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 453, + "name": "LogRegisterString", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 311, + "src": "1766:17:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1766:33:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 457, + "nodeType": "EmitStatement", + "src": "1761:38:3" + } + ] + }, + "documentation": null, + "id": 459, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 443, + "modifierName": { + "argumentTypes": null, + "id": 442, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "1696:9:3", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1696:9:3" + } + ], + "name": "registerString", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 441, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 438, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 459, + "src": "1659:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 437, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1659:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 440, + "name": "_string", + "nodeType": "VariableDeclaration", + "scope": 459, + "src": "1673:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 439, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1673:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1658:30:3" + }, + "payable": false, + "returnParameters": { + "id": 444, + "nodeType": "ParameterList", + "parameters": [], + "src": "1706:0:3" + }, + "scope": 493, + "src": "1635:171:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 477, + "nodeType": "Block", + "src": "1869:90:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1879:32:3", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 466, + "name": "strings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 285, + "src": "1886:7:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$", + "typeString": "mapping(bytes32 => string storage ref)" + } + }, + "id": 470, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 468, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 461, + "src": "1904:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 467, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "1894:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1894:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1886:25:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 472, + "nodeType": "ExpressionStatement", + "src": "1879:32:3" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 474, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 461, + "src": "1946:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 473, + "name": "LogUnregisterString", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 315, + "src": "1926:19:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1926:26:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 476, + "nodeType": "EmitStatement", + "src": "1921:31:3" + } + ] + }, + "documentation": null, + "id": 478, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 464, + "modifierName": { + "argumentTypes": null, + "id": 463, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "1859:9:3", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1859:9:3" + } + ], + "name": "unregisterString", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 462, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 461, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 478, + "src": "1838:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 460, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1838:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1837:14:3" + }, + "payable": false, + "returnParameters": { + "id": 465, + "nodeType": "ParameterList", + "parameters": [], + "src": "1869:0:3" + }, + "scope": 493, + "src": "1812:147:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 491, + "nodeType": "Block", + "src": "2026:49:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 485, + "name": "strings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 285, + "src": "2043:7:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$", + "typeString": "mapping(bytes32 => string storage ref)" + } + }, + "id": 489, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 487, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 480, + "src": "2061:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 486, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "2051:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2051:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2043:25:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 484, + "id": 490, + "nodeType": "Return", + "src": "2036:32:3" + } + ] + }, + "documentation": null, + "id": 492, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getString", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 481, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 480, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 492, + "src": "1984:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 479, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1984:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1983:14:3" + }, + "payable": false, + "returnParameters": { + "id": 484, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 483, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 492, + "src": "2018:6:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 482, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2018:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2017:8:3" + }, + "scope": 493, + "src": "1965:110:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 494, + "src": "190:1887:3" + } + ], + "src": "0:2078:3" + }, + "legacyAST": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Registry.sol", + "exportedSymbols": { + "Registry": [ + 493 + ] + }, + "id": 494, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 270, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:3" + }, + { + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 271, + "nodeType": "ImportDirective", + "scope": 494, + "sourceUnit": 1355, + "src": "26:59:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 272, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1354, + "src": "211:7:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$1354", + "typeString": "contract Ownable" + } + }, + "id": 273, + "nodeType": "InheritanceSpecifier", + "src": "211:7:3" + } + ], + "contractDependencies": [ + 1354 + ], + "contractKind": "contract", + "documentation": "@dev the Registry contains settings and addresses of contracts for the Partii Ecosystem\n *", + "fullyImplemented": true, + "id": 493, + "linearizedBaseContracts": [ + 493, + 1354 + ], + "name": "Registry", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 277, + "name": "contracts", + "nodeType": "VariableDeclaration", + "scope": 493, + "src": "227:43:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + }, + "typeName": { + "id": 276, + "keyType": { + "id": 274, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "236:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "227:26:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + }, + "valueType": { + "id": 275, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "245:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 281, + "name": "numbers", + "nodeType": "VariableDeclaration", + "scope": 493, + "src": "276:38:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "typeName": { + "id": 280, + "keyType": { + "id": 278, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "285:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "276:23:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "valueType": { + "id": 279, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "294:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 285, + "name": "strings", + "nodeType": "VariableDeclaration", + "scope": 493, + "src": "320:40:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$", + "typeString": "mapping(bytes32 => string)" + }, + "typeName": { + "id": 284, + "keyType": { + "id": 282, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "329:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "320:25:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$", + "typeString": "mapping(bytes32 => string)" + }, + "valueType": { + "id": 283, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "338:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 291, + "name": "LogRegisterAddress", + "nodeType": "EventDefinition", + "parameters": { + "id": 290, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 287, + "indexed": false, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 291, + "src": "392:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 286, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "392:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 289, + "indexed": false, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 291, + "src": "406:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 288, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "406:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "391:32:3" + }, + "src": "367:57:3" + }, + { + "anonymous": false, + "documentation": null, + "id": 295, + "name": "LogUnregisterAddress", + "nodeType": "EventDefinition", + "parameters": { + "id": 294, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 293, + "indexed": false, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 295, + "src": "456:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 292, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "456:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "455:14:3" + }, + "src": "429:41:3" + }, + { + "anonymous": false, + "documentation": null, + "id": 301, + "name": "LogRegisterUint", + "nodeType": "EventDefinition", + "parameters": { + "id": 300, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 297, + "indexed": false, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 301, + "src": "497:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 296, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "497:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 299, + "indexed": false, + "name": "_number", + "nodeType": "VariableDeclaration", + "scope": 301, + "src": "511:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 298, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "511:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "496:28:3" + }, + "src": "475:50:3" + }, + { + "anonymous": false, + "documentation": null, + "id": 305, + "name": "LogUnregisterUint", + "nodeType": "EventDefinition", + "parameters": { + "id": 304, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 303, + "indexed": false, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 305, + "src": "554:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 302, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "554:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "553:14:3" + }, + "src": "530:38:3" + }, + { + "anonymous": false, + "documentation": null, + "id": 311, + "name": "LogRegisterString", + "nodeType": "EventDefinition", + "parameters": { + "id": 310, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 307, + "indexed": false, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 311, + "src": "597:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 306, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "597:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 309, + "indexed": false, + "name": "_string", + "nodeType": "VariableDeclaration", + "scope": 311, + "src": "611:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 308, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "611:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "596:30:3" + }, + "src": "573:54:3" + }, + { + "anonymous": false, + "documentation": null, + "id": 315, + "name": "LogUnregisterString", + "nodeType": "EventDefinition", + "parameters": { + "id": 314, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 313, + "indexed": false, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 315, + "src": "658:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 312, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "658:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "657:14:3" + }, + "src": "632:40:3" + }, + { + "body": { + "id": 323, + "nodeType": "Block", + "src": "699:35:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 318, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1302, + "src": "709:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 319, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "717:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "717:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "709:18:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 322, + "nodeType": "ExpressionStatement", + "src": "709:18:3" + } + ] + }, + "documentation": null, + "id": 324, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 316, + "nodeType": "ParameterList", + "parameters": [], + "src": "689:2:3" + }, + "payable": false, + "returnParameters": { + "id": 317, + "nodeType": "ParameterList", + "parameters": [], + "src": "699:0:3" + }, + "scope": 493, + "src": "678:56:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 346, + "nodeType": "Block", + "src": "814:105:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 333, + "name": "contracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 277, + "src": "824:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 337, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 335, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 326, + "src": "844:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 334, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "834:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "834:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "824:27:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 338, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 328, + "src": "854:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "824:38:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 340, + "nodeType": "ExpressionStatement", + "src": "824:38:3" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 342, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 326, + "src": "896:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 343, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 328, + "src": "903:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 341, + "name": "LogRegisterAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 291, + "src": "877:18:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$", + "typeString": "function (string memory,address)" + } + }, + "id": 344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "877:35:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 345, + "nodeType": "EmitStatement", + "src": "872:40:3" + } + ] + }, + "documentation": null, + "id": 347, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 331, + "modifierName": { + "argumentTypes": null, + "id": 330, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "804:9:3", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "804:9:3" + } + ], + "name": "registerAddress", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 329, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 326, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 347, + "src": "765:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 325, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "765:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 328, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 347, + "src": "779:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 327, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "779:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "764:32:3" + }, + "payable": false, + "returnParameters": { + "id": 332, + "nodeType": "ParameterList", + "parameters": [], + "src": "814:0:3" + }, + "scope": 493, + "src": "740:179:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 365, + "nodeType": "Block", + "src": "983:93:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "993:34:3", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 354, + "name": "contracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 277, + "src": "1000:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 358, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 356, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 349, + "src": "1020:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 355, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "1010:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1010:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1000:27:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 360, + "nodeType": "ExpressionStatement", + "src": "993:34:3" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 362, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 349, + "src": "1063:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 361, + "name": "LogUnregisterAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 295, + "src": "1042:20:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1042:27:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 364, + "nodeType": "EmitStatement", + "src": "1037:32:3" + } + ] + }, + "documentation": null, + "id": 366, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 352, + "modifierName": { + "argumentTypes": null, + "id": 351, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "973:9:3", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "973:9:3" + } + ], + "name": "unregisterAddress", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 350, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 349, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 366, + "src": "952:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 348, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "952:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "951:14:3" + }, + "payable": false, + "returnParameters": { + "id": 353, + "nodeType": "ParameterList", + "parameters": [], + "src": "983:0:3" + }, + "scope": 493, + "src": "925:151:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 379, + "nodeType": "Block", + "src": "1146:51:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 373, + "name": "contracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 277, + "src": "1163:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 377, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 375, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 368, + "src": "1183:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 374, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "1173:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1173:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1163:27:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 372, + "id": 378, + "nodeType": "Return", + "src": "1156:34:3" + } + ] + }, + "documentation": null, + "id": 380, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getContract", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 369, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 368, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 380, + "src": "1103:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 367, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1103:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1102:14:3" + }, + "payable": false, + "returnParameters": { + "id": 372, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 371, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 380, + "src": "1137:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 370, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1137:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1136:9:3" + }, + "scope": 493, + "src": "1082:115:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 402, + "nodeType": "Block", + "src": "1270:98:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 389, + "name": "numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 281, + "src": "1280:7:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 393, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 391, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 382, + "src": "1298:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 390, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "1288:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1288:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1280:25:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 394, + "name": "_number", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 384, + "src": "1308:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1280:35:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 396, + "nodeType": "ExpressionStatement", + "src": "1280:35:3" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 398, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 382, + "src": "1346:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 399, + "name": "_number", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 384, + "src": "1353:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 397, + "name": "LogRegisterUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 301, + "src": "1330:15:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1330:31:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 401, + "nodeType": "EmitStatement", + "src": "1325:36:3" + } + ] + }, + "documentation": null, + "id": 403, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 387, + "modifierName": { + "argumentTypes": null, + "id": 386, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "1260:9:3", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1260:9:3" + } + ], + "name": "registerUint", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 385, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 382, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 403, + "src": "1225:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 381, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1225:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 384, + "name": "_number", + "nodeType": "VariableDeclaration", + "scope": 403, + "src": "1239:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 383, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1239:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1224:28:3" + }, + "payable": false, + "returnParameters": { + "id": 388, + "nodeType": "ParameterList", + "parameters": [], + "src": "1270:0:3" + }, + "scope": 493, + "src": "1203:165:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 421, + "nodeType": "Block", + "src": "1429:88:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1439:32:3", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 410, + "name": "numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 281, + "src": "1446:7:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 414, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 412, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 405, + "src": "1464:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 411, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "1454:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1454:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1446:25:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 416, + "nodeType": "ExpressionStatement", + "src": "1439:32:3" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 418, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 405, + "src": "1504:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 417, + "name": "LogUnregisterUint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "1486:17:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1486:24:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 420, + "nodeType": "EmitStatement", + "src": "1481:29:3" + } + ] + }, + "documentation": null, + "id": 422, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 408, + "modifierName": { + "argumentTypes": null, + "id": 407, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "1419:9:3", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1419:9:3" + } + ], + "name": "unregisterUint", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 406, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 405, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 422, + "src": "1398:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 404, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1398:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1397:14:3" + }, + "payable": false, + "returnParameters": { + "id": 409, + "nodeType": "ParameterList", + "parameters": [], + "src": "1429:0:3" + }, + "scope": 493, + "src": "1374:143:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 435, + "nodeType": "Block", + "src": "1580:49:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 429, + "name": "numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 281, + "src": "1597:7:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 433, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 431, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 424, + "src": "1615:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 430, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "1605:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1605:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1597:25:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 428, + "id": 434, + "nodeType": "Return", + "src": "1590:32:3" + } + ] + }, + "documentation": null, + "id": 436, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getUint", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 425, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 424, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 436, + "src": "1540:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 423, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1540:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1539:14:3" + }, + "payable": false, + "returnParameters": { + "id": 428, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 427, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 436, + "src": "1574:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 426, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1574:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1573:6:3" + }, + "scope": 493, + "src": "1523:106:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 458, + "nodeType": "Block", + "src": "1706:100:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 445, + "name": "strings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 285, + "src": "1716:7:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$", + "typeString": "mapping(bytes32 => string storage ref)" + } + }, + "id": 449, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 447, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 438, + "src": "1734:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 446, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "1724:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1724:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1716:25:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 450, + "name": "_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 440, + "src": "1744:7:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "1716:35:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 452, + "nodeType": "ExpressionStatement", + "src": "1716:35:3" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 454, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 438, + "src": "1784:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 455, + "name": "_string", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 440, + "src": "1791:7:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 453, + "name": "LogRegisterString", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 311, + "src": "1766:17:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1766:33:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 457, + "nodeType": "EmitStatement", + "src": "1761:38:3" + } + ] + }, + "documentation": null, + "id": 459, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 443, + "modifierName": { + "argumentTypes": null, + "id": 442, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "1696:9:3", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1696:9:3" + } + ], + "name": "registerString", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 441, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 438, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 459, + "src": "1659:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 437, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1659:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 440, + "name": "_string", + "nodeType": "VariableDeclaration", + "scope": 459, + "src": "1673:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 439, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1673:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1658:30:3" + }, + "payable": false, + "returnParameters": { + "id": 444, + "nodeType": "ParameterList", + "parameters": [], + "src": "1706:0:3" + }, + "scope": 493, + "src": "1635:171:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 477, + "nodeType": "Block", + "src": "1869:90:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1879:32:3", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 466, + "name": "strings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 285, + "src": "1886:7:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$", + "typeString": "mapping(bytes32 => string storage ref)" + } + }, + "id": 470, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 468, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 461, + "src": "1904:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 467, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "1894:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1894:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1886:25:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 472, + "nodeType": "ExpressionStatement", + "src": "1879:32:3" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 474, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 461, + "src": "1946:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 473, + "name": "LogUnregisterString", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 315, + "src": "1926:19:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1926:26:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 476, + "nodeType": "EmitStatement", + "src": "1921:31:3" + } + ] + }, + "documentation": null, + "id": 478, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 464, + "modifierName": { + "argumentTypes": null, + "id": 463, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "1859:9:3", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1859:9:3" + } + ], + "name": "unregisterString", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 462, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 461, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 478, + "src": "1838:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 460, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1838:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1837:14:3" + }, + "payable": false, + "returnParameters": { + "id": 465, + "nodeType": "ParameterList", + "parameters": [], + "src": "1869:0:3" + }, + "scope": 493, + "src": "1812:147:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 491, + "nodeType": "Block", + "src": "2026:49:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 485, + "name": "strings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 285, + "src": "2043:7:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$", + "typeString": "mapping(bytes32 => string storage ref)" + } + }, + "id": 489, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 487, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 480, + "src": "2061:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 486, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "2051:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2051:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2043:25:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 484, + "id": 490, + "nodeType": "Return", + "src": "2036:32:3" + } + ] + }, + "documentation": null, + "id": 492, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getString", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 481, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 480, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 492, + "src": "1984:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 479, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1984:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1983:14:3" + }, + "payable": false, + "returnParameters": { + "id": 484, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 483, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 492, + "src": "2018:6:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 482, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2018:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2017:8:3" + }, + "scope": 493, + "src": "1965:110:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 494, + "src": "190:1887:3" + } + ], + "src": "0:2078:3" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-29T16:30:42.902Z" +} \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json index e7cd912..6ba2e12 100644 --- a/build/contracts/SafeMath.json +++ b/build/contracts/SafeMath.json @@ -1 +1,2439 @@ -{"contractName":"SafeMath","abi":[],"bytecode":"0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146060604052600080fd00a165627a7a723058204aa38678c03d3a9ff16f508dc8c6a0fa256149029be366997c0e388cc419ec3d0029","deployedBytecode":"0x73000000000000000000000000000000000000000030146060604052600080fd00a165627a7a723058204aa38678c03d3a9ff16f508dc8c6a0fa256149029be366997c0e388cc419ec3d0029"} \ No newline at end of file +{ + "contractName": "SafeMath", + "abi": [], + "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a7230582022c24bdb3a959eab97283bcff4452acdafd8b0855b4432d435c67754b3cbeb610029", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a7230582022c24bdb3a959eab97283bcff4452acdafd8b0855b4432d435c67754b3cbeb610029", + "sourceMap": "117:698:8:-;;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": "117:698:8:-;;;;;;;;", + "source": "pragma solidity ^0.4.11;\n\n\n/**\n * @title SafeMath\n * @dev Math operations with safety checks that throw on error\n */\nlibrary SafeMath {\n function mul(uint256 a, uint256 b) internal constant returns (uint256) {\n uint256 c = a * b;\n assert(a == 0 || c / a == b);\n return c;\n }\n\n function div(uint256 a, uint256 b) internal constant returns (uint256) {\n // assert(b > 0); // Solidity automatically throws when dividing by 0\n uint256 c = a / b;\n // assert(a == b * c + a % b); // There is no case in which this doesn't hold\n return c;\n }\n\n function sub(uint256 a, uint256 b) internal constant returns (uint256) {\n assert(b <= a);\n return a - b;\n }\n\n function add(uint256 a, uint256 b) internal constant returns (uint256) {\n uint256 c = a + b;\n assert(c >= a);\n return c;\n }\n}\n", + "sourcePath": "zeppelin-solidity/contracts/math/SafeMath.sol", + "ast": { + "absolutePath": "zeppelin-solidity/contracts/math/SafeMath.sol", + "exportedSymbols": { + "SafeMath": [ + 1298 + ] + }, + "id": 1299, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1205, + "literals": [ + "solidity", + "^", + "0.4", + ".11" + ], + "nodeType": "PragmaDirective", + "src": "0:24:8" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": "@title SafeMath\n@dev Math operations with safety checks that throw on error", + "fullyImplemented": true, + "id": 1298, + "linearizedBaseContracts": [ + 1298 + ], + "name": "SafeMath", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1234, + "nodeType": "Block", + "src": "209:76:8", + "statements": [ + { + "assignments": [ + 1215 + ], + "declarations": [ + { + "constant": false, + "id": 1215, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 1235, + "src": "215:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1214, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "215:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1219, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1216, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1207, + "src": "227:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 1217, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1209, + "src": "231:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "227:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "215:17:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1221, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1207, + "src": "245:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1222, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "250:1:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "245:6:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1224, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1215, + "src": "255:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 1225, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1207, + "src": "259:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "255:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1227, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1209, + "src": "264:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "255:10:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "245:20:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1220, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1738, + "src": "238:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "238:28:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1231, + "nodeType": "ExpressionStatement", + "src": "238:28:8" + }, + { + "expression": { + "argumentTypes": null, + "id": 1232, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1215, + "src": "279:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1213, + "id": 1233, + "nodeType": "Return", + "src": "272:8:8" + } + ] + }, + "documentation": null, + "id": 1235, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mul", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1210, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1207, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 1235, + "src": "151:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1206, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "151:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1209, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 1235, + "src": "162:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1208, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "162:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "150:22:8" + }, + "payable": false, + "returnParameters": { + "id": 1213, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1212, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1235, + "src": "200:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1211, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "200:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "199:9:8" + }, + "scope": 1298, + "src": "138:147:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1252, + "nodeType": "Block", + "src": "360:198:8", + "statements": [ + { + "assignments": [ + 1245 + ], + "declarations": [ + { + "constant": false, + "id": 1245, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 1253, + "src": "440:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1244, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "440:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1249, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1246, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1237, + "src": "452:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 1247, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1239, + "src": "456:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "452:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "440:17:8" + }, + { + "expression": { + "argumentTypes": null, + "id": 1250, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1245, + "src": "552:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1243, + "id": 1251, + "nodeType": "Return", + "src": "545:8:8" + } + ] + }, + "documentation": null, + "id": 1253, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "div", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1240, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1237, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 1253, + "src": "302:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1236, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "302:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1239, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 1253, + "src": "313:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1238, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "313:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "301:22:8" + }, + "payable": false, + "returnParameters": { + "id": 1243, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1242, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1253, + "src": "351:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1241, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "351:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "350:9:8" + }, + "scope": 1298, + "src": "289:269:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1272, + "nodeType": "Block", + "src": "633:43:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1263, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1257, + "src": "646:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 1264, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1255, + "src": "651:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "646:6:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1262, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1738, + "src": "639:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "639:14:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1267, + "nodeType": "ExpressionStatement", + "src": "639:14:8" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1268, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1255, + "src": "666:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 1269, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1257, + "src": "670:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "666:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1261, + "id": 1271, + "nodeType": "Return", + "src": "659:12:8" + } + ] + }, + "documentation": null, + "id": 1273, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "sub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1258, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1255, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 1273, + "src": "575:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1254, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "575:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1257, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 1273, + "src": "586:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1256, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "586:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "574:22:8" + }, + "payable": false, + "returnParameters": { + "id": 1261, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1260, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1273, + "src": "624:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1259, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "624:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "623:9:8" + }, + "scope": 1298, + "src": "562:114:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1296, + "nodeType": "Block", + "src": "751:62:8", + "statements": [ + { + "assignments": [ + 1283 + ], + "declarations": [ + { + "constant": false, + "id": 1283, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 1297, + "src": "757:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1282, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "757:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1287, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1284, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1275, + "src": "769:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 1285, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1277, + "src": "773:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "769:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "757:17:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1289, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1283, + "src": "787:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 1290, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1275, + "src": "792:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "787:6:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1288, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1738, + "src": "780:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "780:14:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1293, + "nodeType": "ExpressionStatement", + "src": "780:14:8" + }, + { + "expression": { + "argumentTypes": null, + "id": 1294, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1283, + "src": "807:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1281, + "id": 1295, + "nodeType": "Return", + "src": "800:8:8" + } + ] + }, + "documentation": null, + "id": 1297, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1278, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1275, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 1297, + "src": "693:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1274, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "693:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1277, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 1297, + "src": "704:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1276, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "704:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "692:22:8" + }, + "payable": false, + "returnParameters": { + "id": 1281, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1280, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1297, + "src": "742:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1279, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "742:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "741:9:8" + }, + "scope": 1298, + "src": "680:133:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 1299, + "src": "117:698:8" + } + ], + "src": "0:816:8" + }, + "legacyAST": { + "absolutePath": "zeppelin-solidity/contracts/math/SafeMath.sol", + "exportedSymbols": { + "SafeMath": [ + 1298 + ] + }, + "id": 1299, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1205, + "literals": [ + "solidity", + "^", + "0.4", + ".11" + ], + "nodeType": "PragmaDirective", + "src": "0:24:8" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": "@title SafeMath\n@dev Math operations with safety checks that throw on error", + "fullyImplemented": true, + "id": 1298, + "linearizedBaseContracts": [ + 1298 + ], + "name": "SafeMath", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1234, + "nodeType": "Block", + "src": "209:76:8", + "statements": [ + { + "assignments": [ + 1215 + ], + "declarations": [ + { + "constant": false, + "id": 1215, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 1235, + "src": "215:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1214, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "215:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1219, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1216, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1207, + "src": "227:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 1217, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1209, + "src": "231:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "227:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "215:17:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1221, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1207, + "src": "245:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1222, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "250:1:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "245:6:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1224, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1215, + "src": "255:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 1225, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1207, + "src": "259:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "255:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1227, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1209, + "src": "264:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "255:10:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "245:20:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1220, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1738, + "src": "238:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "238:28:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1231, + "nodeType": "ExpressionStatement", + "src": "238:28:8" + }, + { + "expression": { + "argumentTypes": null, + "id": 1232, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1215, + "src": "279:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1213, + "id": 1233, + "nodeType": "Return", + "src": "272:8:8" + } + ] + }, + "documentation": null, + "id": 1235, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mul", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1210, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1207, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 1235, + "src": "151:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1206, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "151:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1209, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 1235, + "src": "162:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1208, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "162:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "150:22:8" + }, + "payable": false, + "returnParameters": { + "id": 1213, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1212, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1235, + "src": "200:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1211, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "200:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "199:9:8" + }, + "scope": 1298, + "src": "138:147:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1252, + "nodeType": "Block", + "src": "360:198:8", + "statements": [ + { + "assignments": [ + 1245 + ], + "declarations": [ + { + "constant": false, + "id": 1245, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 1253, + "src": "440:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1244, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "440:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1249, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1246, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1237, + "src": "452:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 1247, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1239, + "src": "456:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "452:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "440:17:8" + }, + { + "expression": { + "argumentTypes": null, + "id": 1250, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1245, + "src": "552:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1243, + "id": 1251, + "nodeType": "Return", + "src": "545:8:8" + } + ] + }, + "documentation": null, + "id": 1253, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "div", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1240, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1237, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 1253, + "src": "302:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1236, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "302:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1239, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 1253, + "src": "313:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1238, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "313:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "301:22:8" + }, + "payable": false, + "returnParameters": { + "id": 1243, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1242, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1253, + "src": "351:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1241, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "351:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "350:9:8" + }, + "scope": 1298, + "src": "289:269:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1272, + "nodeType": "Block", + "src": "633:43:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1263, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1257, + "src": "646:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 1264, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1255, + "src": "651:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "646:6:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1262, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1738, + "src": "639:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "639:14:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1267, + "nodeType": "ExpressionStatement", + "src": "639:14:8" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1268, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1255, + "src": "666:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 1269, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1257, + "src": "670:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "666:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1261, + "id": 1271, + "nodeType": "Return", + "src": "659:12:8" + } + ] + }, + "documentation": null, + "id": 1273, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "sub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1258, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1255, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 1273, + "src": "575:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1254, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "575:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1257, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 1273, + "src": "586:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1256, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "586:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "574:22:8" + }, + "payable": false, + "returnParameters": { + "id": 1261, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1260, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1273, + "src": "624:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1259, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "624:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "623:9:8" + }, + "scope": 1298, + "src": "562:114:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1296, + "nodeType": "Block", + "src": "751:62:8", + "statements": [ + { + "assignments": [ + 1283 + ], + "declarations": [ + { + "constant": false, + "id": 1283, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 1297, + "src": "757:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1282, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "757:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1287, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1284, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1275, + "src": "769:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 1285, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1277, + "src": "773:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "769:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "757:17:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1289, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1283, + "src": "787:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 1290, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1275, + "src": "792:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "787:6:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1288, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1738, + "src": "780:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "780:14:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1293, + "nodeType": "ExpressionStatement", + "src": "780:14:8" + }, + { + "expression": { + "argumentTypes": null, + "id": 1294, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1283, + "src": "807:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1281, + "id": 1295, + "nodeType": "Return", + "src": "800:8:8" + } + ] + }, + "documentation": null, + "id": 1297, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1278, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1275, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 1297, + "src": "693:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1274, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "693:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1277, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 1297, + "src": "704:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1276, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "704:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "692:22:8" + }, + "payable": false, + "returnParameters": { + "id": 1281, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1280, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1297, + "src": "742:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1279, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "742:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "741:9:8" + }, + "scope": 1298, + "src": "680:133:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 1299, + "src": "117:698:8" + } + ], + "src": "0:816:8" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-29T16:30:42.886Z" +} \ No newline at end of file diff --git a/build/contracts/Sales.json b/build/contracts/Sales.json index 5bcfbae..5fd4e52 100644 --- a/build/contracts/Sales.json +++ b/build/contracts/Sales.json @@ -1 +1,4880 @@ -{"contractName":"Sales","abi":[{"constant":true,"inputs":[],"name":"registry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","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":[{"name":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_buyer","type":"address"},{"indexed":false,"name":"_videoId","type":"string"},{"indexed":false,"name":"_price","type":"uint256"},{"indexed":false,"name":"_ipfsData","type":"string"}],"name":"LogCreateSale","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_buyer","type":"address"},{"indexed":false,"name":"_videoId","type":"string"}],"name":"LogRemoveSale","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_buyer","type":"address"},{"name":"_videoId","type":"string"},{"name":"_price","type":"uint256"},{"name":"_ipfsData","type":"string"}],"name":"create","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_buyer","type":"address"},{"name":"_videoId","type":"string"}],"name":"remove","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_buyer","type":"address"},{"name":"_videoId","type":"string"}],"name":"get","outputs":[{"name":"","type":"uint256"},{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_buyer","type":"address"},{"name":"_videoId","type":"string"}],"name":"userBoughtVideo","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b60405160208061115183398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050611055806100fc6000396000f300606060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806349209fc8146100885780637b103999146101045780638da5cb5b14610159578063abebf126146101ae578063e8e459e014610242578063f2fde38b1461030a578063fc2525ab14610343575b600080fd5b341561009357600080fd5b610102600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061043f565b005b341561010f57600080fd5b610117610764565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561016457600080fd5b61016c61078a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101b957600080fd5b610228600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506107af565b604051808215151515815260200191505060405180910390f35b341561024d57600080fd5b610308600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610884565b005b341561031557600080fd5b610341600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c5a565b005b341561034e57600080fd5b6103bd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610daf565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156104035780820151818401526020810190506103e8565b50505050905090810190601f1680156104305780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061059c5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260058152602001807f53746f7265000000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561055657600080fd5b5af1151561056357600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156105a757600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000826040518082805190602001908083835b60208310151561061e57805182526020820191506020810190506020830392506105f9565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020600080820160006101000a81549060ff0219169055600182016000905560028201600061068e9190610f28565b50507f83652eb81b824d0e5d35726dc1adb19408af592acb527de2994fa5a4d2d4f8808282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561072557808201518184015260208101905061070a565b50505050905090810190601f1680156107525780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b6020831015156108285780518252602082019150602081019050602083039250610803565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060000160009054906101000a900460ff16905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806109e15750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260058152602001807f53746f7265000000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561099b57600080fd5b5af115156109a857600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156109ec57600080fd5b60606040519081016040528060011515815260200183815260200182815250600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856040518082805190602001908083835b602083101515610a825780518252602082019150602081019050602083039250610a5d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002019080519060200190610b0b929190610f70565b509050507f038378601c4d12a51dc5d62e0763a5950eae787276525db73d68924a3bd6f8aa84848484604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200184815260200180602001838103835286818151815260200191508051906020019080838360005b83811015610bb0578082015181840152602081019050610b95565b50505050905090810190601f168015610bdd5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610c16578082015181840152602081019050610bfb565b50505050905090810190601f168015610c435780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a150505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cb557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610cf157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610db9610ff0565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856040518082805190602001908083835b602083101515610e325780518252602082019150602081019050602083039250610e0d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019166000191681526020019081526020016000209050806001015481600201808054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f155780601f10610eea57610100808354040283529160200191610f15565b820191906000526020600020905b815481529060010190602001808311610ef857829003601f168201915b5050505050905092509250509250929050565b50805460018160011615610100020316600290046000825580601f10610f4e5750610f6d565b601f016020900490600052602060002090810190610f6c9190611004565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610fb157805160ff1916838001178555610fdf565b82800160010185558215610fdf579182015b82811115610fde578251825591602001919060010190610fc3565b5b509050610fec9190611004565b5090565b602060405190810160405280600081525090565b61102691905b8082111561102257600081600090555060010161100a565b5090565b905600a165627a7a72305820fad38f8cac717a95e650266b695f79845889aab5c3de56d8e90bfa02ac1929180029","deployedBytecode":"0x606060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806349209fc8146100885780637b103999146101045780638da5cb5b14610159578063abebf126146101ae578063e8e459e014610242578063f2fde38b1461030a578063fc2525ab14610343575b600080fd5b341561009357600080fd5b610102600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061043f565b005b341561010f57600080fd5b610117610764565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561016457600080fd5b61016c61078a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101b957600080fd5b610228600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506107af565b604051808215151515815260200191505060405180910390f35b341561024d57600080fd5b610308600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610884565b005b341561031557600080fd5b610341600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c5a565b005b341561034e57600080fd5b6103bd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610daf565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156104035780820151818401526020810190506103e8565b50505050905090810190601f1680156104305780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061059c5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260058152602001807f53746f7265000000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561055657600080fd5b5af1151561056357600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156105a757600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000826040518082805190602001908083835b60208310151561061e57805182526020820191506020810190506020830392506105f9565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020600080820160006101000a81549060ff0219169055600182016000905560028201600061068e9190610f28565b50507f83652eb81b824d0e5d35726dc1adb19408af592acb527de2994fa5a4d2d4f8808282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561072557808201518184015260208101905061070a565b50505050905090810190601f1680156107525780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b6020831015156108285780518252602082019150602081019050602083039250610803565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060000160009054906101000a900460ff16905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806109e15750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260058152602001807f53746f7265000000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561099b57600080fd5b5af115156109a857600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156109ec57600080fd5b60606040519081016040528060011515815260200183815260200182815250600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856040518082805190602001908083835b602083101515610a825780518252602082019150602081019050602083039250610a5d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002019080519060200190610b0b929190610f70565b509050507f038378601c4d12a51dc5d62e0763a5950eae787276525db73d68924a3bd6f8aa84848484604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200184815260200180602001838103835286818151815260200191508051906020019080838360005b83811015610bb0578082015181840152602081019050610b95565b50505050905090810190601f168015610bdd5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610c16578082015181840152602081019050610bfb565b50505050905090810190601f168015610c435780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a150505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cb557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610cf157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610db9610ff0565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856040518082805190602001908083835b602083101515610e325780518252602082019150602081019050602083039250610e0d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019166000191681526020019081526020016000209050806001015481600201808054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f155780601f10610eea57610100808354040283529160200191610f15565b820191906000526020600020905b815481529060010190602001808311610ef857829003601f168201915b5050505050905092509250509250929050565b50805460018160011615610100020316600290046000825580601f10610f4e5750610f6d565b601f016020900490600052602060002090810190610f6c9190611004565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610fb157805160ff1916838001178555610fdf565b82800160010185558215610fdf579182015b82811115610fde578251825591602001919060010190610fc3565b5b509050610fec9190611004565b5090565b602060405190810160405280600081525090565b61102691905b8082111561102257600081600090555060010161100a565b5090565b905600a165627a7a72305820fad38f8cac717a95e650266b695f79845889aab5c3de56d8e90bfa02ac1929180029"} \ No newline at end of file +{ + "contractName": "Sales", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "registry", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "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": [ + { + "name": "_registry", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_buyer", + "type": "address" + }, + { + "indexed": false, + "name": "_videoId", + "type": "string" + }, + { + "indexed": false, + "name": "_price", + "type": "uint256" + }, + { + "indexed": false, + "name": "_ipfsData", + "type": "string" + } + ], + "name": "LogCreateSale", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_buyer", + "type": "address" + }, + { + "indexed": false, + "name": "_videoId", + "type": "string" + } + ], + "name": "LogRemoveSale", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_buyer", + "type": "address" + }, + { + "name": "_videoId", + "type": "string" + }, + { + "name": "_price", + "type": "uint256" + }, + { + "name": "_ipfsData", + "type": "string" + } + ], + "name": "create", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_buyer", + "type": "address" + }, + { + "name": "_videoId", + "type": "string" + } + ], + "name": "remove", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_buyer", + "type": "address" + }, + { + "name": "_videoId", + "type": "string" + } + ], + "name": "get", + "outputs": [ + { + "name": "", + "type": "uint256" + }, + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_buyer", + "type": "address" + }, + { + "name": "_videoId", + "type": "string" + } + ], + "name": "userBoughtVideo", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506040516020806111cf83398101806040528101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506110cb806101046000396000f300608060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806349209fc8146100885780637b103999146101115780638da5cb5b14610168578063abebf126146101bf578063e8e459e014610260578063f2fde38b14610339578063fc2525ab1461037c575b600080fd5b34801561009457600080fd5b5061010f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610485565b005b34801561011d57600080fd5b506101266107cf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561017457600080fd5b5061017d6107f5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101cb57600080fd5b50610246600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061081a565b604051808215151515815260200191505060405180910390f35b34801561026c57600080fd5b50610337600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929080359060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506108ef565b005b34801561034557600080fd5b5061037a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cea565b005b34801561038857600080fd5b50610403600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610e3f565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561044957808201518184015260208101905061042e565b50505050905090810190601f1680156104765780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806106075750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260058152602001807f53746f7265000000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561059d57600080fd5b505af11580156105b1573d6000803e3d6000fd5b505050506040513d60208110156105c757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561061257600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000826040518082805190602001908083835b6020831015156106895780518252602082019150602081019050602083039250610664565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020600080820160006101000a81549060ff021916905560018201600090556002820160006106f99190610fb2565b50507f83652eb81b824d0e5d35726dc1adb19408af592acb527de2994fa5a4d2d4f8808282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610790578082015181840152602081019050610775565b50505050905090810190601f1680156107bd5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b602083101515610893578051825260208201915060208101905060208303925061086e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060000160009054906101000a900460ff16905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610a715750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260058152602001807f53746f7265000000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b158015610a0757600080fd5b505af1158015610a1b573d6000803e3d6000fd5b505050506040513d6020811015610a3157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610a7c57600080fd5b60606040519081016040528060011515815260200183815260200182815250600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856040518082805190602001908083835b602083101515610b125780518252602082019150602081019050602083039250610aed565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002019080519060200190610b9b929190610ffa565b509050507f038378601c4d12a51dc5d62e0763a5950eae787276525db73d68924a3bd6f8aa84848484604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200184815260200180602001838103835286818151815260200191508051906020019080838360005b83811015610c40578082015181840152602081019050610c25565b50505050905090810190601f168015610c6d5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610ca6578082015181840152602081019050610c8b565b50505050905090810190601f168015610cd35780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a150505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d4557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d8157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600060606000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856040518082805190602001908083835b602083101515610ebc5780518252602082019150602081019050602083039250610e97565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019166000191681526020019081526020016000209050806001015481600201808054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f9f5780601f10610f7457610100808354040283529160200191610f9f565b820191906000526020600020905b815481529060010190602001808311610f8257829003601f168201915b5050505050905092509250509250929050565b50805460018160011615610100020316600290046000825580601f10610fd85750610ff7565b601f016020900490600052602060002090810190610ff6919061107a565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061103b57805160ff1916838001178555611069565b82800160010185558215611069579182015b8281111561106857825182559160200191906001019061104d565b5b509050611076919061107a565b5090565b61109c91905b80821115611098576000816000905550600101611080565b5090565b905600a165627a7a72305820327ec410e93449b748238b1e91d068370f01d0ce2696d9b9edec253de1be73090029", + "deployedBytecode": "0x608060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806349209fc8146100885780637b103999146101115780638da5cb5b14610168578063abebf126146101bf578063e8e459e014610260578063f2fde38b14610339578063fc2525ab1461037c575b600080fd5b34801561009457600080fd5b5061010f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610485565b005b34801561011d57600080fd5b506101266107cf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561017457600080fd5b5061017d6107f5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101cb57600080fd5b50610246600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061081a565b604051808215151515815260200191505060405180910390f35b34801561026c57600080fd5b50610337600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929080359060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506108ef565b005b34801561034557600080fd5b5061037a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cea565b005b34801561038857600080fd5b50610403600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610e3f565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561044957808201518184015260208101905061042e565b50505050905090810190601f1680156104765780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806106075750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260058152602001807f53746f7265000000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561059d57600080fd5b505af11580156105b1573d6000803e3d6000fd5b505050506040513d60208110156105c757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561061257600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000826040518082805190602001908083835b6020831015156106895780518252602082019150602081019050602083039250610664565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020600080820160006101000a81549060ff021916905560018201600090556002820160006106f99190610fb2565b50507f83652eb81b824d0e5d35726dc1adb19408af592acb527de2994fa5a4d2d4f8808282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610790578082015181840152602081019050610775565b50505050905090810190601f1680156107bd5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b602083101515610893578051825260208201915060208101905060208303925061086e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060000160009054906101000a900460ff16905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610a715750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260058152602001807f53746f7265000000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b158015610a0757600080fd5b505af1158015610a1b573d6000803e3d6000fd5b505050506040513d6020811015610a3157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610a7c57600080fd5b60606040519081016040528060011515815260200183815260200182815250600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856040518082805190602001908083835b602083101515610b125780518252602082019150602081019050602083039250610aed565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002019080519060200190610b9b929190610ffa565b509050507f038378601c4d12a51dc5d62e0763a5950eae787276525db73d68924a3bd6f8aa84848484604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200184815260200180602001838103835286818151815260200191508051906020019080838360005b83811015610c40578082015181840152602081019050610c25565b50505050905090810190601f168015610c6d5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610ca6578082015181840152602081019050610c8b565b50505050905090810190601f168015610cd35780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a150505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d4557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d8157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600060606000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856040518082805190602001908083835b602083101515610ebc5780518252602082019150602081019050602083039250610e97565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019166000191681526020019081526020016000209050806001015481600201808054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f9f5780601f10610f7457610100808354040283529160200191610f9f565b820191906000526020600020905b815481529060010190602001808311610f8257829003601f168201915b5050505050905092509250509250929050565b50805460018160011615610100020316600290046000825580601f10610fd85750610ff7565b601f016020900490600052602060002090810190610ff6919061107a565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061103b57805160ff1916838001178555611069565b82800160010185558215611069579182015b8281111561106857825182559160200191906001019061104d565b5b509050611076919061107a565b5090565b61109c91905b80821115611098576000816000905550600101611080565b5090565b905600a165627a7a72305820327ec410e93449b748238b1e91d068370f01d0ce2696d9b9edec253de1be73090029", + "sourceMap": "168:2283:4:-;;;749:104;8:9:-1;5:2;;;30:1;27;20:12;5:2;749:104:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;502:10:9;494:5;;:18;;;;;;;;;;;;;;;;;;806:10:4;798:5;;:18;;;;;;;;;;;;;;;;;;837:9;826:8;;:20;;;;;;;;;;;;;;;;;;749:104;168:2283;;;;;;", + "deployedSourceMap": "168:2283:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1685:186;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1685:186:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;201:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;201:24:4;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:9;;;;;;;;;;;;;;;;;;;;;;;;;;;2292:157:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2292:157:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1294:261;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1294:261:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;827:169:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;827:169:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;2050:236:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2050:236:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2050:236:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1685:186;669:5;;;;;;;;;;;655:19;;:10;:19;;;654:70;;;;694:8;;;;;;;;;;;:20;;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;694:29:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;694:29:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;694:29:4;;;;;;;;;;;;;;;;680:43;;:10;:43;;;654:70;646:79;;;;;;;;1783:6;:14;1790:6;1783:14;;;;;;;;;;;;;;;:35;1808:8;1798:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1798:19:4;;;;;;;;;;;;;;;;1783:35;;;;;;;;;;;;;;;;;;1776:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;1833:31;1847:6;1855:8;1833:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1833:31:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1685:186;;:::o;201:24::-;;;;;;;;;;;;;:::o;238:20:9:-;;;;;;;;;;;;;:::o;2292:157:4:-;2370:4;2393:6;:14;2400:6;2393:14;;;;;;;;;;;;;;;:35;2418:8;2408:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2408:19:4;;;;;;;;;;;;;;;;2393:35;;;;;;;;;;;;;;;;;:49;;;;;;;;;;;;2386:56;;2292:157;;;;:::o;1294:261::-;669:5;;;;;;;;;;;655:19;;:10;:19;;;654:70;;;;694:8;;;;;;;;;;;:20;;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;694:29:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;694:29:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;694:29:4;;;;;;;;;;;;;;;;680:43;;:10;:43;;;654:70;646:79;;;;;;;;1454:29;;;;;;;;;1459:4;1454:29;;;;;;1465:6;1454:29;;;;1473:9;1454:29;;;1416:6;:14;1423:6;1416:14;;;;;;;;;;;;;;;:35;1441:8;1431:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1431:19:4;;;;;;;;;;;;;;;;1416:35;;;;;;;;;;;;;;;;;:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;1498:50;1512:6;1520:8;1530:6;1538:9;1498:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1498:50:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1498:50:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1294:261;;;;:::o;827:169:9:-;647:5;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;923:1;903:22;;:8;:22;;;;895:31;;;;;;;;960:8;932:37;;953:5;;;;;;;;;;;932:37;;;;;;;;;;;;983:8;975:5;;:16;;;;;;;;;;;;;;;;;;827:169;:::o;2050:236:4:-;2117:4;2123:6;2141:18;2162:6;:14;2169:6;2162:14;;;;;;;;;;;;;;;:35;2187:8;2177:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2177:19:4;;;;;;;;;;;;;;;;2162:35;;;;;;;;;;;;;;;;;2141:56;;2228:5;:12;;;2254:5;:15;;2207:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2050:236;;;;;;:::o;168:2283::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.18;\n\nimport \"zeppelin-solidity/contracts/ownership/Ownable.sol\";\nimport \"zeppelin-solidity/contracts/math/SafeMath.sol\";\nimport \"./Registry.sol\";\n\ncontract Sales is Ownable {\n\n Registry public registry;\n\n struct Data {\n bool _isRegistered;\n uint _price;\n string _ipfsData;\n }\n\n\n // mapping from user addrsses and video ids to booleans\n mapping (address=> mapping (bytes32 => Data)) private _sales;\n\n event LogCreateSale(address _buyer, string _videoId, uint _price, string _ipfsData);\n event LogRemoveSale(address _buyer, string _videoId);\n\n modifier onlyOwnerOrStore() {\n require((msg.sender == owner) || (msg.sender == registry.getContract(\"Store\")));\n _;\n }\n\n constructor(Registry _registry) public {\n owner = msg.sender;\n registry = _registry;\n }\n\n /**\n * @dev registers a sale of a video\n * Does not do any payments - this call only registers the sale\n * Only the Store contract (as well as the owner) can register a sale\n * @param _videoId the id of the video\n * @param _buyer the buyer of the video (an ethereum address)\n * @param _price the price that was paid for the video\n * @param _ipfsData a reference to further data that can be found on ipfs\n */\n function create(address _buyer, string _videoId, uint _price, string _ipfsData)\n public onlyOwnerOrStore {\n _sales[_buyer][keccak256(_videoId)] = Data(true, _price, _ipfsData);\n emit LogCreateSale(_buyer, _videoId, _price, _ipfsData);\n }\n\n /**\n * @dev Remove the sale from the registry\n * Only the Store contract or the owner can remove a sale\n */\n function remove(address _buyer, string _videoId)\n public onlyOwnerOrStore {\n delete _sales[_buyer][keccak256(_videoId)];\n emit LogRemoveSale(_buyer, _videoId);\n }\n\n /**\n * @dev Get information about the sale from the registry\n * Only the Store contract or the owner can remove a sale\n * @return price and ipfsData\n */\n function get(address _buyer, string _videoId) public view returns(uint, string) {\n Data storage _data = _sales[_buyer][keccak256(_videoId)];\n return (\n _data._price,\n _data._ipfsData\n );\n }\n\n function userBoughtVideo(address _buyer, string _videoId) public view returns(bool) {\n return _sales[_buyer][keccak256(_videoId)]._isRegistered;\n }\n}\n", + "sourcePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Sales.sol", + "ast": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Sales.sol", + "exportedSymbols": { + "Sales": [ + 674 + ] + }, + "id": 675, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 495, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:4" + }, + { + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 496, + "nodeType": "ImportDirective", + "scope": 675, + "sourceUnit": 1355, + "src": "26:59:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "zeppelin-solidity/contracts/math/SafeMath.sol", + "file": "zeppelin-solidity/contracts/math/SafeMath.sol", + "id": 497, + "nodeType": "ImportDirective", + "scope": 675, + "sourceUnit": 1299, + "src": "86:55:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Registry.sol", + "file": "./Registry.sol", + "id": 498, + "nodeType": "ImportDirective", + "scope": 675, + "sourceUnit": 494, + "src": "142:24:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 499, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1354, + "src": "186:7:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$1354", + "typeString": "contract Ownable" + } + }, + "id": 500, + "nodeType": "InheritanceSpecifier", + "src": "186:7:4" + } + ], + "contractDependencies": [ + 1354 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 674, + "linearizedBaseContracts": [ + 674, + 1354 + ], + "name": "Sales", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 502, + "name": "registry", + "nodeType": "VariableDeclaration", + "scope": 674, + "src": "201:24:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 501, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 493, + "src": "201:8:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "public" + }, + { + "canonicalName": "Sales.Data", + "id": 509, + "members": [ + { + "constant": false, + "id": 504, + "name": "_isRegistered", + "nodeType": "VariableDeclaration", + "scope": 509, + "src": "254:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 503, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "254:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 506, + "name": "_price", + "nodeType": "VariableDeclaration", + "scope": 509, + "src": "282:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 505, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "282:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 508, + "name": "_ipfsData", + "nodeType": "VariableDeclaration", + "scope": 509, + "src": "303:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 507, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "303:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Data", + "nodeType": "StructDefinition", + "scope": 674, + "src": "232:94:4", + "visibility": "public" + }, + { + "constant": false, + "id": 515, + "name": "_sales", + "nodeType": "VariableDeclaration", + "scope": 674, + "src": "393:60:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_Data_$509_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Sales.Data))" + }, + "typeName": { + "id": 514, + "keyType": { + "id": 510, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "402:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "393:45:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_Data_$509_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Sales.Data))" + }, + "valueType": { + "id": 513, + "keyType": { + "id": 511, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "421:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "412:25:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$509_storage_$", + "typeString": "mapping(bytes32 => struct Sales.Data)" + }, + "valueType": { + "contractScope": null, + "id": 512, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 509, + "src": "432:4:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$509_storage_ptr", + "typeString": "struct Sales.Data" + } + } + } + }, + "value": null, + "visibility": "private" + }, + { + "anonymous": false, + "documentation": null, + "id": 525, + "name": "LogCreateSale", + "nodeType": "EventDefinition", + "parameters": { + "id": 524, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 517, + "indexed": false, + "name": "_buyer", + "nodeType": "VariableDeclaration", + "scope": 525, + "src": "480:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 516, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "480:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 519, + "indexed": false, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 525, + "src": "496:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 518, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "496:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 521, + "indexed": false, + "name": "_price", + "nodeType": "VariableDeclaration", + "scope": 525, + "src": "513:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 520, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "513:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 523, + "indexed": false, + "name": "_ipfsData", + "nodeType": "VariableDeclaration", + "scope": 525, + "src": "526:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 522, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "526:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "479:64:4" + }, + "src": "460:84:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 531, + "name": "LogRemoveSale", + "nodeType": "EventDefinition", + "parameters": { + "id": 530, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 527, + "indexed": false, + "name": "_buyer", + "nodeType": "VariableDeclaration", + "scope": 531, + "src": "569:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 526, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "569:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 529, + "indexed": false, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 531, + "src": "585:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 528, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "585:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "568:33:4" + }, + "src": "549:53:4" + }, + { + "body": { + "id": 551, + "nodeType": "Block", + "src": "636:107:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 534, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "655:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "655:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 536, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1302, + "src": "669:5:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "655:19:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 538, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "654:21:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 539, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "680:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "680:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "53746f7265", + "id": 543, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "715:7:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f9742a6ab27efbeed38a3a36aac403fe0810a4cdb9e8328d15bdcd1c87e76672", + "typeString": "literal_string \"Store\"" + }, + "value": "Store" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f9742a6ab27efbeed38a3a36aac403fe0810a4cdb9e8328d15bdcd1c87e76672", + "typeString": "literal_string \"Store\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 541, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 502, + "src": "694:8:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "id": 542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 380, + "src": "694:20:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory) view external returns (address)" + } + }, + "id": 544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "694:29:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "680:43:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 546, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "679:45:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "654:70:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 533, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1752, + 1753 + ], + "referencedDeclaration": 1752, + "src": "646:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "646:79:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 549, + "nodeType": "ExpressionStatement", + "src": "646:79:4" + }, + { + "id": 550, + "nodeType": "PlaceholderStatement", + "src": "735:1:4" + } + ] + }, + "documentation": null, + "id": 552, + "name": "onlyOwnerOrStore", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 532, + "nodeType": "ParameterList", + "parameters": [], + "src": "633:2:4" + }, + "src": "608:135:4", + "visibility": "internal" + }, + { + "body": { + "id": 566, + "nodeType": "Block", + "src": "788:65:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 557, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1302, + "src": "798:5:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 558, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "806:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "806:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "798:18:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 561, + "nodeType": "ExpressionStatement", + "src": "798:18:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 562, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 502, + "src": "826:8:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 563, + "name": "_registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 554, + "src": "837:9:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "src": "826:20:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "id": 565, + "nodeType": "ExpressionStatement", + "src": "826:20:4" + } + ] + }, + "documentation": null, + "id": 567, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 555, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 554, + "name": "_registry", + "nodeType": "VariableDeclaration", + "scope": 567, + "src": "761:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 553, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 493, + "src": "761:8:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "760:20:4" + }, + "payable": false, + "returnParameters": { + "id": 556, + "nodeType": "ParameterList", + "parameters": [], + "src": "788:0:4" + }, + "scope": 674, + "src": "749:104:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 601, + "nodeType": "Block", + "src": "1406:149:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 580, + "name": "_sales", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 515, + "src": "1416:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_Data_$509_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Sales.Data storage ref))" + } + }, + "id": 585, + "indexExpression": { + "argumentTypes": null, + "id": 581, + "name": "_buyer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 569, + "src": "1423:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1416:14:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$509_storage_$", + "typeString": "mapping(bytes32 => struct Sales.Data storage ref)" + } + }, + "id": 586, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 583, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 571, + "src": "1441:8:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 582, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "1431:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1431:19:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1416:35:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$509_storage", + "typeString": "struct Sales.Data storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 588, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1459:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "id": 589, + "name": "_price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 573, + "src": "1465:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 590, + "name": "_ipfsData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 575, + "src": "1473:9:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 587, + "name": "Data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 509, + "src": "1454:4:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Data_$509_storage_ptr_$", + "typeString": "type(struct Sales.Data storage pointer)" + } + }, + "id": 591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1454:29:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$509_memory", + "typeString": "struct Sales.Data memory" + } + }, + "src": "1416:67:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$509_storage", + "typeString": "struct Sales.Data storage ref" + } + }, + "id": 593, + "nodeType": "ExpressionStatement", + "src": "1416:67:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 595, + "name": "_buyer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 569, + "src": "1512:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 596, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 571, + "src": "1520:8:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 597, + "name": "_price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 573, + "src": "1530:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 598, + "name": "_ipfsData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 575, + "src": "1538:9:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 594, + "name": "LogCreateSale", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 525, + "src": "1498:13:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,string memory,uint256,string memory)" + } + }, + "id": 599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1498:50:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 600, + "nodeType": "EmitStatement", + "src": "1493:55:4" + } + ] + }, + "documentation": "@dev registers a sale of a video\nDoes not do any payments - this call only registers the sale\nOnly the Store contract (as well as the owner) can register a sale\n@param _videoId the id of the video\n@param _buyer the buyer of the video (an ethereum address)\n@param _price the price that was paid for the video\n@param _ipfsData a reference to further data that can be found on ipfs", + "id": 602, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 578, + "modifierName": { + "argumentTypes": null, + "id": 577, + "name": "onlyOwnerOrStore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 552, + "src": "1389:16:4", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1389:16:4" + } + ], + "name": "create", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 576, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 569, + "name": "_buyer", + "nodeType": "VariableDeclaration", + "scope": 602, + "src": "1310:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 568, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1310:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 571, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 602, + "src": "1326:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 570, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1326:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 573, + "name": "_price", + "nodeType": "VariableDeclaration", + "scope": 602, + "src": "1343:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 572, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1343:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 575, + "name": "_ipfsData", + "nodeType": "VariableDeclaration", + "scope": 602, + "src": "1356:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 574, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1356:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1309:64:4" + }, + "payable": false, + "returnParameters": { + "id": 579, + "nodeType": "ParameterList", + "parameters": [], + "src": "1406:0:4" + }, + "scope": 674, + "src": "1294:261:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 625, + "nodeType": "Block", + "src": "1766:105:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1776:42:4", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 611, + "name": "_sales", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 515, + "src": "1783:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_Data_$509_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Sales.Data storage ref))" + } + }, + "id": 613, + "indexExpression": { + "argumentTypes": null, + "id": 612, + "name": "_buyer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 604, + "src": "1790:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1783:14:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$509_storage_$", + "typeString": "mapping(bytes32 => struct Sales.Data storage ref)" + } + }, + "id": 617, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 615, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 606, + "src": "1808:8:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 614, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "1798:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1798:19:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1783:35:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$509_storage", + "typeString": "struct Sales.Data storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 619, + "nodeType": "ExpressionStatement", + "src": "1776:42:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 621, + "name": "_buyer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 604, + "src": "1847:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 622, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 606, + "src": "1855:8:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 620, + "name": "LogRemoveSale", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 531, + "src": "1833:13:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,string memory)" + } + }, + "id": 623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1833:31:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 624, + "nodeType": "EmitStatement", + "src": "1828:36:4" + } + ] + }, + "documentation": "@dev Remove the sale from the registry\nOnly the Store contract or the owner can remove a sale", + "id": 626, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 609, + "modifierName": { + "argumentTypes": null, + "id": 608, + "name": "onlyOwnerOrStore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 552, + "src": "1749:16:4", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1749:16:4" + } + ], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 607, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 604, + "name": "_buyer", + "nodeType": "VariableDeclaration", + "scope": 626, + "src": "1701:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 603, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1701:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 606, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 626, + "src": "1717:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 605, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1717:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1700:33:4" + }, + "payable": false, + "returnParameters": { + "id": 610, + "nodeType": "ParameterList", + "parameters": [], + "src": "1766:0:4" + }, + "scope": 674, + "src": "1685:186:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 653, + "nodeType": "Block", + "src": "2131:155:4", + "statements": [ + { + "assignments": [ + 638 + ], + "declarations": [ + { + "constant": false, + "id": 638, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 654, + "src": "2141:18:4", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$509_storage_ptr", + "typeString": "struct Sales.Data" + }, + "typeName": { + "contractScope": null, + "id": 637, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 509, + "src": "2141:4:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$509_storage_ptr", + "typeString": "struct Sales.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 646, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 639, + "name": "_sales", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 515, + "src": "2162:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_Data_$509_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Sales.Data storage ref))" + } + }, + "id": 641, + "indexExpression": { + "argumentTypes": null, + "id": 640, + "name": "_buyer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 628, + "src": "2169:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2162:14:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$509_storage_$", + "typeString": "mapping(bytes32 => struct Sales.Data storage ref)" + } + }, + "id": 645, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 643, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "2187:8:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 642, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "2177:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2177:19:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2162:35:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$509_storage", + "typeString": "struct Sales.Data storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2141:56:4" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 647, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 638, + "src": "2228:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$509_storage_ptr", + "typeString": "struct Sales.Data storage pointer" + } + }, + "id": 648, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_price", + "nodeType": "MemberAccess", + "referencedDeclaration": 506, + "src": "2228:12:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 649, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 638, + "src": "2254:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$509_storage_ptr", + "typeString": "struct Sales.Data storage pointer" + } + }, + "id": 650, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_ipfsData", + "nodeType": "MemberAccess", + "referencedDeclaration": 508, + "src": "2254:15:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "id": 651, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2214:65:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_string_storage_$", + "typeString": "tuple(uint256,string storage ref)" + } + }, + "functionReturnParameters": 636, + "id": 652, + "nodeType": "Return", + "src": "2207:72:4" + } + ] + }, + "documentation": "@dev Get information about the sale from the registry\nOnly the Store contract or the owner can remove a sale\n@return price and ipfsData", + "id": 654, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "get", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 631, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 628, + "name": "_buyer", + "nodeType": "VariableDeclaration", + "scope": 654, + "src": "2063:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 627, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2063:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 630, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 654, + "src": "2079:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 629, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2079:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2062:33:4" + }, + "payable": false, + "returnParameters": { + "id": 636, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 633, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 654, + "src": "2117:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 632, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2117:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 635, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 654, + "src": "2123:6:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 634, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2123:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2116:14:4" + }, + "scope": 674, + "src": "2050:236:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 672, + "nodeType": "Block", + "src": "2376:73:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 663, + "name": "_sales", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 515, + "src": "2393:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_Data_$509_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Sales.Data storage ref))" + } + }, + "id": 665, + "indexExpression": { + "argumentTypes": null, + "id": 664, + "name": "_buyer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 656, + "src": "2400:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2393:14:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$509_storage_$", + "typeString": "mapping(bytes32 => struct Sales.Data storage ref)" + } + }, + "id": 669, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 667, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 658, + "src": "2418:8:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 666, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "2408:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2408:19:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2393:35:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$509_storage", + "typeString": "struct Sales.Data storage ref" + } + }, + "id": 670, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_isRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 504, + "src": "2393:49:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 662, + "id": 671, + "nodeType": "Return", + "src": "2386:56:4" + } + ] + }, + "documentation": null, + "id": 673, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "userBoughtVideo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 659, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 656, + "name": "_buyer", + "nodeType": "VariableDeclaration", + "scope": 673, + "src": "2317:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 655, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2317:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 658, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 673, + "src": "2333:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 657, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2333:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2316:33:4" + }, + "payable": false, + "returnParameters": { + "id": 662, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 661, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 673, + "src": "2370:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 660, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2370:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2369:6:4" + }, + "scope": 674, + "src": "2292:157:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 675, + "src": "168:2283:4" + } + ], + "src": "0:2452:4" + }, + "legacyAST": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Sales.sol", + "exportedSymbols": { + "Sales": [ + 674 + ] + }, + "id": 675, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 495, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:4" + }, + { + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 496, + "nodeType": "ImportDirective", + "scope": 675, + "sourceUnit": 1355, + "src": "26:59:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "zeppelin-solidity/contracts/math/SafeMath.sol", + "file": "zeppelin-solidity/contracts/math/SafeMath.sol", + "id": 497, + "nodeType": "ImportDirective", + "scope": 675, + "sourceUnit": 1299, + "src": "86:55:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Registry.sol", + "file": "./Registry.sol", + "id": 498, + "nodeType": "ImportDirective", + "scope": 675, + "sourceUnit": 494, + "src": "142:24:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 499, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1354, + "src": "186:7:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$1354", + "typeString": "contract Ownable" + } + }, + "id": 500, + "nodeType": "InheritanceSpecifier", + "src": "186:7:4" + } + ], + "contractDependencies": [ + 1354 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 674, + "linearizedBaseContracts": [ + 674, + 1354 + ], + "name": "Sales", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 502, + "name": "registry", + "nodeType": "VariableDeclaration", + "scope": 674, + "src": "201:24:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 501, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 493, + "src": "201:8:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "public" + }, + { + "canonicalName": "Sales.Data", + "id": 509, + "members": [ + { + "constant": false, + "id": 504, + "name": "_isRegistered", + "nodeType": "VariableDeclaration", + "scope": 509, + "src": "254:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 503, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "254:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 506, + "name": "_price", + "nodeType": "VariableDeclaration", + "scope": 509, + "src": "282:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 505, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "282:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 508, + "name": "_ipfsData", + "nodeType": "VariableDeclaration", + "scope": 509, + "src": "303:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 507, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "303:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Data", + "nodeType": "StructDefinition", + "scope": 674, + "src": "232:94:4", + "visibility": "public" + }, + { + "constant": false, + "id": 515, + "name": "_sales", + "nodeType": "VariableDeclaration", + "scope": 674, + "src": "393:60:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_Data_$509_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Sales.Data))" + }, + "typeName": { + "id": 514, + "keyType": { + "id": 510, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "402:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "393:45:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_Data_$509_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Sales.Data))" + }, + "valueType": { + "id": 513, + "keyType": { + "id": 511, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "421:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "412:25:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$509_storage_$", + "typeString": "mapping(bytes32 => struct Sales.Data)" + }, + "valueType": { + "contractScope": null, + "id": 512, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 509, + "src": "432:4:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$509_storage_ptr", + "typeString": "struct Sales.Data" + } + } + } + }, + "value": null, + "visibility": "private" + }, + { + "anonymous": false, + "documentation": null, + "id": 525, + "name": "LogCreateSale", + "nodeType": "EventDefinition", + "parameters": { + "id": 524, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 517, + "indexed": false, + "name": "_buyer", + "nodeType": "VariableDeclaration", + "scope": 525, + "src": "480:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 516, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "480:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 519, + "indexed": false, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 525, + "src": "496:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 518, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "496:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 521, + "indexed": false, + "name": "_price", + "nodeType": "VariableDeclaration", + "scope": 525, + "src": "513:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 520, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "513:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 523, + "indexed": false, + "name": "_ipfsData", + "nodeType": "VariableDeclaration", + "scope": 525, + "src": "526:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 522, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "526:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "479:64:4" + }, + "src": "460:84:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 531, + "name": "LogRemoveSale", + "nodeType": "EventDefinition", + "parameters": { + "id": 530, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 527, + "indexed": false, + "name": "_buyer", + "nodeType": "VariableDeclaration", + "scope": 531, + "src": "569:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 526, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "569:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 529, + "indexed": false, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 531, + "src": "585:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 528, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "585:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "568:33:4" + }, + "src": "549:53:4" + }, + { + "body": { + "id": 551, + "nodeType": "Block", + "src": "636:107:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 534, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "655:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "655:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 536, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1302, + "src": "669:5:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "655:19:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 538, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "654:21:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 539, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "680:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "680:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "53746f7265", + "id": 543, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "715:7:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f9742a6ab27efbeed38a3a36aac403fe0810a4cdb9e8328d15bdcd1c87e76672", + "typeString": "literal_string \"Store\"" + }, + "value": "Store" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f9742a6ab27efbeed38a3a36aac403fe0810a4cdb9e8328d15bdcd1c87e76672", + "typeString": "literal_string \"Store\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 541, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 502, + "src": "694:8:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "id": 542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 380, + "src": "694:20:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory) view external returns (address)" + } + }, + "id": 544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "694:29:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "680:43:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 546, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "679:45:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "654:70:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 533, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1752, + 1753 + ], + "referencedDeclaration": 1752, + "src": "646:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "646:79:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 549, + "nodeType": "ExpressionStatement", + "src": "646:79:4" + }, + { + "id": 550, + "nodeType": "PlaceholderStatement", + "src": "735:1:4" + } + ] + }, + "documentation": null, + "id": 552, + "name": "onlyOwnerOrStore", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 532, + "nodeType": "ParameterList", + "parameters": [], + "src": "633:2:4" + }, + "src": "608:135:4", + "visibility": "internal" + }, + { + "body": { + "id": 566, + "nodeType": "Block", + "src": "788:65:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 557, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1302, + "src": "798:5:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 558, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "806:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "806:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "798:18:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 561, + "nodeType": "ExpressionStatement", + "src": "798:18:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 562, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 502, + "src": "826:8:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 563, + "name": "_registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 554, + "src": "837:9:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "src": "826:20:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "id": 565, + "nodeType": "ExpressionStatement", + "src": "826:20:4" + } + ] + }, + "documentation": null, + "id": 567, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 555, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 554, + "name": "_registry", + "nodeType": "VariableDeclaration", + "scope": 567, + "src": "761:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 553, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 493, + "src": "761:8:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "760:20:4" + }, + "payable": false, + "returnParameters": { + "id": 556, + "nodeType": "ParameterList", + "parameters": [], + "src": "788:0:4" + }, + "scope": 674, + "src": "749:104:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 601, + "nodeType": "Block", + "src": "1406:149:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 580, + "name": "_sales", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 515, + "src": "1416:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_Data_$509_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Sales.Data storage ref))" + } + }, + "id": 585, + "indexExpression": { + "argumentTypes": null, + "id": 581, + "name": "_buyer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 569, + "src": "1423:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1416:14:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$509_storage_$", + "typeString": "mapping(bytes32 => struct Sales.Data storage ref)" + } + }, + "id": 586, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 583, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 571, + "src": "1441:8:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 582, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "1431:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1431:19:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1416:35:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$509_storage", + "typeString": "struct Sales.Data storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 588, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1459:4:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "id": 589, + "name": "_price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 573, + "src": "1465:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 590, + "name": "_ipfsData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 575, + "src": "1473:9:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 587, + "name": "Data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 509, + "src": "1454:4:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Data_$509_storage_ptr_$", + "typeString": "type(struct Sales.Data storage pointer)" + } + }, + "id": 591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1454:29:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$509_memory", + "typeString": "struct Sales.Data memory" + } + }, + "src": "1416:67:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$509_storage", + "typeString": "struct Sales.Data storage ref" + } + }, + "id": 593, + "nodeType": "ExpressionStatement", + "src": "1416:67:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 595, + "name": "_buyer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 569, + "src": "1512:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 596, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 571, + "src": "1520:8:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 597, + "name": "_price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 573, + "src": "1530:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 598, + "name": "_ipfsData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 575, + "src": "1538:9:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 594, + "name": "LogCreateSale", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 525, + "src": "1498:13:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,string memory,uint256,string memory)" + } + }, + "id": 599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1498:50:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 600, + "nodeType": "EmitStatement", + "src": "1493:55:4" + } + ] + }, + "documentation": "@dev registers a sale of a video\nDoes not do any payments - this call only registers the sale\nOnly the Store contract (as well as the owner) can register a sale\n@param _videoId the id of the video\n@param _buyer the buyer of the video (an ethereum address)\n@param _price the price that was paid for the video\n@param _ipfsData a reference to further data that can be found on ipfs", + "id": 602, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 578, + "modifierName": { + "argumentTypes": null, + "id": 577, + "name": "onlyOwnerOrStore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 552, + "src": "1389:16:4", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1389:16:4" + } + ], + "name": "create", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 576, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 569, + "name": "_buyer", + "nodeType": "VariableDeclaration", + "scope": 602, + "src": "1310:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 568, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1310:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 571, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 602, + "src": "1326:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 570, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1326:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 573, + "name": "_price", + "nodeType": "VariableDeclaration", + "scope": 602, + "src": "1343:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 572, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1343:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 575, + "name": "_ipfsData", + "nodeType": "VariableDeclaration", + "scope": 602, + "src": "1356:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 574, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1356:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1309:64:4" + }, + "payable": false, + "returnParameters": { + "id": 579, + "nodeType": "ParameterList", + "parameters": [], + "src": "1406:0:4" + }, + "scope": 674, + "src": "1294:261:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 625, + "nodeType": "Block", + "src": "1766:105:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1776:42:4", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 611, + "name": "_sales", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 515, + "src": "1783:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_Data_$509_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Sales.Data storage ref))" + } + }, + "id": 613, + "indexExpression": { + "argumentTypes": null, + "id": 612, + "name": "_buyer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 604, + "src": "1790:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1783:14:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$509_storage_$", + "typeString": "mapping(bytes32 => struct Sales.Data storage ref)" + } + }, + "id": 617, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 615, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 606, + "src": "1808:8:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 614, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "1798:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1798:19:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1783:35:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$509_storage", + "typeString": "struct Sales.Data storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 619, + "nodeType": "ExpressionStatement", + "src": "1776:42:4" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 621, + "name": "_buyer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 604, + "src": "1847:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 622, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 606, + "src": "1855:8:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 620, + "name": "LogRemoveSale", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 531, + "src": "1833:13:4", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,string memory)" + } + }, + "id": 623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1833:31:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 624, + "nodeType": "EmitStatement", + "src": "1828:36:4" + } + ] + }, + "documentation": "@dev Remove the sale from the registry\nOnly the Store contract or the owner can remove a sale", + "id": 626, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 609, + "modifierName": { + "argumentTypes": null, + "id": 608, + "name": "onlyOwnerOrStore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 552, + "src": "1749:16:4", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1749:16:4" + } + ], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 607, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 604, + "name": "_buyer", + "nodeType": "VariableDeclaration", + "scope": 626, + "src": "1701:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 603, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1701:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 606, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 626, + "src": "1717:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 605, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1717:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1700:33:4" + }, + "payable": false, + "returnParameters": { + "id": 610, + "nodeType": "ParameterList", + "parameters": [], + "src": "1766:0:4" + }, + "scope": 674, + "src": "1685:186:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 653, + "nodeType": "Block", + "src": "2131:155:4", + "statements": [ + { + "assignments": [ + 638 + ], + "declarations": [ + { + "constant": false, + "id": 638, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 654, + "src": "2141:18:4", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$509_storage_ptr", + "typeString": "struct Sales.Data" + }, + "typeName": { + "contractScope": null, + "id": 637, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 509, + "src": "2141:4:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$509_storage_ptr", + "typeString": "struct Sales.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 646, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 639, + "name": "_sales", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 515, + "src": "2162:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_Data_$509_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Sales.Data storage ref))" + } + }, + "id": 641, + "indexExpression": { + "argumentTypes": null, + "id": 640, + "name": "_buyer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 628, + "src": "2169:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2162:14:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$509_storage_$", + "typeString": "mapping(bytes32 => struct Sales.Data storage ref)" + } + }, + "id": 645, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 643, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "2187:8:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 642, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "2177:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2177:19:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2162:35:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$509_storage", + "typeString": "struct Sales.Data storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2141:56:4" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 647, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 638, + "src": "2228:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$509_storage_ptr", + "typeString": "struct Sales.Data storage pointer" + } + }, + "id": 648, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_price", + "nodeType": "MemberAccess", + "referencedDeclaration": 506, + "src": "2228:12:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 649, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 638, + "src": "2254:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$509_storage_ptr", + "typeString": "struct Sales.Data storage pointer" + } + }, + "id": 650, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_ipfsData", + "nodeType": "MemberAccess", + "referencedDeclaration": 508, + "src": "2254:15:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "id": 651, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2214:65:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_string_storage_$", + "typeString": "tuple(uint256,string storage ref)" + } + }, + "functionReturnParameters": 636, + "id": 652, + "nodeType": "Return", + "src": "2207:72:4" + } + ] + }, + "documentation": "@dev Get information about the sale from the registry\nOnly the Store contract or the owner can remove a sale\n@return price and ipfsData", + "id": 654, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "get", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 631, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 628, + "name": "_buyer", + "nodeType": "VariableDeclaration", + "scope": 654, + "src": "2063:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 627, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2063:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 630, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 654, + "src": "2079:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 629, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2079:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2062:33:4" + }, + "payable": false, + "returnParameters": { + "id": 636, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 633, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 654, + "src": "2117:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 632, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2117:4:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 635, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 654, + "src": "2123:6:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 634, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2123:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2116:14:4" + }, + "scope": 674, + "src": "2050:236:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 672, + "nodeType": "Block", + "src": "2376:73:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 663, + "name": "_sales", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 515, + "src": "2393:6:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_Data_$509_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Sales.Data storage ref))" + } + }, + "id": 665, + "indexExpression": { + "argumentTypes": null, + "id": 664, + "name": "_buyer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 656, + "src": "2400:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2393:14:4", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$509_storage_$", + "typeString": "mapping(bytes32 => struct Sales.Data storage ref)" + } + }, + "id": 669, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 667, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 658, + "src": "2418:8:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 666, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "2408:9:4", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2408:19:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2393:35:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$509_storage", + "typeString": "struct Sales.Data storage ref" + } + }, + "id": 670, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_isRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 504, + "src": "2393:49:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 662, + "id": 671, + "nodeType": "Return", + "src": "2386:56:4" + } + ] + }, + "documentation": null, + "id": 673, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "userBoughtVideo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 659, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 656, + "name": "_buyer", + "nodeType": "VariableDeclaration", + "scope": 673, + "src": "2317:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 655, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2317:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 658, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 673, + "src": "2333:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 657, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2333:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2316:33:4" + }, + "payable": false, + "returnParameters": { + "id": 662, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 661, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 673, + "src": "2370:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 660, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2370:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2369:6:4" + }, + "scope": 674, + "src": "2292:157:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 675, + "src": "168:2283:4" + } + ], + "src": "0:2452:4" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-29T16:30:42.898Z" +} \ No newline at end of file diff --git a/build/contracts/SendEther.json b/build/contracts/SendEther.json index f7c62cf..b33d291 100644 --- a/build/contracts/SendEther.json +++ b/build/contracts/SendEther.json @@ -1 +1,1271 @@ -{"contractName":"SendEther","abi":[{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"description","type":"string"}],"name":"LogSendEther","type":"event"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_description","type":"string"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b61025e8061001e6000396000f300606060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988664914610051575b341561004c57600080fd5b600080fd5b6100c0600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506100da565b604051808215151515815260200191505060405180910390f35b60008273ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561011c57600080fd5b7fa8da2a10447235381d4a8921c260b89c83b471b8aff2127abc1d434348812e7133843485604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156101eb5780820151818401526020810190506101d0565b50505050905090810190601f1680156102185780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a160019050929150505600a165627a7a72305820279a52b9d5b73770243b5c326e73e88d4fe59619c61b6f0158e8c383481365070029","deployedBytecode":"0x606060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988664914610051575b341561004c57600080fd5b600080fd5b6100c0600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506100da565b604051808215151515815260200191505060405180910390f35b60008273ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561011c57600080fd5b7fa8da2a10447235381d4a8921c260b89c83b471b8aff2127abc1d434348812e7133843485604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156101eb5780820151818401526020810190506101d0565b50505050905090810190601f1680156102185780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a160019050929150505600a165627a7a72305820279a52b9d5b73770243b5c326e73e88d4fe59619c61b6f0158e8c383481365070029"} \ No newline at end of file +{ + "contractName": "SendEther", + "abi": [ + { + "payable": false, + "stateMutability": "nonpayable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "from", + "type": "address" + }, + { + "indexed": false, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "name": "description", + "type": "string" + } + ], + "name": "LogSendEther", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_description", + "type": "string" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": true, + "stateMutability": "payable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610272806100206000396000f300608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988664914610053575b34801561004d57600080fd5b50600080fd5b6100cd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506100e7565b604051808215151515815260200191505060405180910390f35b60008273ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f1935050505015801561012f573d6000803e3d6000fd5b507fa8da2a10447235381d4a8921c260b89c83b471b8aff2127abc1d434348812e7133843485604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156101ff5780820151818401526020810190506101e4565b50505050905090810190601f16801561022c5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a160019050929150505600a165627a7a72305820112082bb076f983e78b88a9a2903a19cb063c616abdb7d1e481d73541f464d560029", + "deployedBytecode": "0x608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988664914610053575b34801561004d57600080fd5b50600080fd5b6100cd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506100e7565b604051808215151515815260200191505060405180910390f35b60008273ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f1935050505015801561012f573d6000803e3d6000fd5b507fa8da2a10447235381d4a8921c260b89c83b471b8aff2127abc1d434348812e7133843485604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156101ff5780820151818401526020810190506101e4565b50505050905090810190601f16801561022c5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a160019050929150505600a165627a7a72305820112082bb076f983e78b88a9a2903a19cb063c616abdb7d1e481d73541f464d560029", + "sourceMap": "133:734:8:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;133:734:8;;;;;;;", + "deployedSourceMap": "133:734:8:-;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;133:734:8;378:8;;;652:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;727:4;744:3;:12;;:23;757:9;744:23;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;744:23:8;782:54;795:10;807:3;812:9;823:12;782:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;782:54:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;853:4;846:11;;652:212;;;;:::o", + "source": "pragma solidity ^0.4.18;\n\n/**\n * @title SendEther\n * @dev A Contract that wraps the native transfer function and logs an event.\n */\n\ncontract SendEther {\n\n event LogSendEther(\n address from,\n address to,\n uint value,\n string description\n );\n\n // If someone accidentally sends ether to this contract, revert;\n function () public {\n revert();\n }\n\n /**\n * @dev Transfer ether to address _to, providing a description\n * The only difference with sending ETH directly is that the action is logged\n * @param _to recipient of the ETH\n * @param _description A description to log\n */\n function transfer(address _to, string _description) public payable returns(bool) {\n _to.transfer(msg.value);\n emit LogSendEther(msg.sender, _to, msg.value, _description);\n return true;\n }\n\n}\n", + "sourcePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/SendEther.sol", + "ast": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/SendEther.sol", + "exportedSymbols": { + "SendEther": [ + 1325 + ] + }, + "id": 1326, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1279, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:8" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title SendEther\n@dev A Contract that wraps the native transfer function and logs an event.", + "fullyImplemented": true, + "id": 1325, + "linearizedBaseContracts": [ + 1325 + ], + "name": "SendEther", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 1289, + "name": "LogSendEther", + "nodeType": "EventDefinition", + "parameters": { + "id": 1288, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1281, + "indexed": false, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 1289, + "src": "187:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1280, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "187:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1283, + "indexed": false, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1289, + "src": "209:10:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1282, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "209:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1285, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1289, + "src": "229:10:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1284, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "229:4:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1287, + "indexed": false, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 1289, + "src": "249:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1286, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "249:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "177:96:8" + }, + "src": "159:115:8" + }, + { + "body": { + "id": 1295, + "nodeType": "Block", + "src": "368:25:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1292, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3163, + 3164 + ], + "referencedDeclaration": 3163, + "src": "378:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "378:8:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1294, + "nodeType": "ExpressionStatement", + "src": "378:8:8" + } + ] + }, + "documentation": null, + "id": 1296, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1290, + "nodeType": "ParameterList", + "parameters": [], + "src": "358:2:8" + }, + "payable": false, + "returnParameters": { + "id": 1291, + "nodeType": "ParameterList", + "parameters": [], + "src": "368:0:8" + }, + "scope": 1325, + "src": "349:44:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1323, + "nodeType": "Block", + "src": "734:130:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1308, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "757:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "757:9:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1305, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1298, + "src": "744:3:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "744:12:8", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 1310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "744:23:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1311, + "nodeType": "ExpressionStatement", + "src": "744:23:8" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1313, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "795:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "795:10:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1315, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1298, + "src": "807:3:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1316, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "812:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "812:9:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1318, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "823:12:8", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1312, + "name": "LogSendEther", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1289, + "src": "782:12:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256,string memory)" + } + }, + "id": 1319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "782:54:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1320, + "nodeType": "EmitStatement", + "src": "777:59:8" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1321, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "853:4:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1304, + "id": 1322, + "nodeType": "Return", + "src": "846:11:8" + } + ] + }, + "documentation": "@dev Transfer ether to address _to, providing a description\nThe only difference with sending ETH directly is that the action is logged\n@param _to recipient of the ETH\n@param _description A description to log", + "id": 1324, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1301, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1298, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 1324, + "src": "670:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1297, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "670:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1300, + "name": "_description", + "nodeType": "VariableDeclaration", + "scope": 1324, + "src": "683:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1299, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "683:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "669:34:8" + }, + "payable": true, + "returnParameters": { + "id": 1304, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1303, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1324, + "src": "727:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1302, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "727:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "726:6:8" + }, + "scope": 1325, + "src": "652:212:8", + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1326, + "src": "133:734:8" + } + ], + "src": "0:868:8" + }, + "legacyAST": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/SendEther.sol", + "exportedSymbols": { + "SendEther": [ + 1325 + ] + }, + "id": 1326, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1279, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:8" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title SendEther\n@dev A Contract that wraps the native transfer function and logs an event.", + "fullyImplemented": true, + "id": 1325, + "linearizedBaseContracts": [ + 1325 + ], + "name": "SendEther", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 1289, + "name": "LogSendEther", + "nodeType": "EventDefinition", + "parameters": { + "id": 1288, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1281, + "indexed": false, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 1289, + "src": "187:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1280, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "187:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1283, + "indexed": false, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1289, + "src": "209:10:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1282, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "209:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1285, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1289, + "src": "229:10:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1284, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "229:4:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1287, + "indexed": false, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 1289, + "src": "249:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1286, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "249:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "177:96:8" + }, + "src": "159:115:8" + }, + { + "body": { + "id": 1295, + "nodeType": "Block", + "src": "368:25:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1292, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3163, + 3164 + ], + "referencedDeclaration": 3163, + "src": "378:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "378:8:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1294, + "nodeType": "ExpressionStatement", + "src": "378:8:8" + } + ] + }, + "documentation": null, + "id": 1296, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1290, + "nodeType": "ParameterList", + "parameters": [], + "src": "358:2:8" + }, + "payable": false, + "returnParameters": { + "id": 1291, + "nodeType": "ParameterList", + "parameters": [], + "src": "368:0:8" + }, + "scope": 1325, + "src": "349:44:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1323, + "nodeType": "Block", + "src": "734:130:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1308, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "757:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "757:9:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1305, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1298, + "src": "744:3:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "744:12:8", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 1310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "744:23:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1311, + "nodeType": "ExpressionStatement", + "src": "744:23:8" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1313, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "795:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "795:10:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1315, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1298, + "src": "807:3:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1316, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "812:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "812:9:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1318, + "name": "_description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "823:12:8", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1312, + "name": "LogSendEther", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1289, + "src": "782:12:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256,string memory)" + } + }, + "id": 1319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "782:54:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1320, + "nodeType": "EmitStatement", + "src": "777:59:8" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1321, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "853:4:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1304, + "id": 1322, + "nodeType": "Return", + "src": "846:11:8" + } + ] + }, + "documentation": "@dev Transfer ether to address _to, providing a description\nThe only difference with sending ETH directly is that the action is logged\n@param _to recipient of the ETH\n@param _description A description to log", + "id": 1324, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1301, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1298, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 1324, + "src": "670:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1297, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "670:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1300, + "name": "_description", + "nodeType": "VariableDeclaration", + "scope": 1324, + "src": "683:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1299, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "683:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "669:34:8" + }, + "payable": true, + "returnParameters": { + "id": 1304, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1303, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1324, + "src": "727:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1302, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "727:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "726:6:8" + }, + "scope": 1325, + "src": "652:212:8", + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1326, + "src": "133:734:8" + } + ], + "src": "0:868:8" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-29T16:29:38.950Z" +} \ No newline at end of file diff --git a/build/contracts/StandardToken.json b/build/contracts/StandardToken.json index ed1538e..1ecb78c 100644 --- a/build/contracts/StandardToken.json +++ b/build/contracts/StandardToken.json @@ -1 +1,6297 @@ -{"contractName":"StandardToken","abi":[{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","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":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b610ed08061001e6000396000f30060606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100ed57806323b872dd14610116578063661884631461018f57806370a08231146101e9578063a9059cbb14610236578063d73dd62314610290578063dd62ed3e146102ea575b600080fd5b341561009e57600080fd5b6100d3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610356565b604051808215151515815260200191505060405180910390f35b34156100f857600080fd5b610100610448565b6040518082815260200191505060405180910390f35b341561012157600080fd5b610175600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061044e565b604051808215151515815260200191505060405180910390f35b341561019a57600080fd5b6101cf600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061073a565b604051808215151515815260200191505060405180910390f35b34156101f457600080fd5b610220600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506109cb565b6040518082815260200191505060405180910390f35b341561024157600080fd5b610276600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a14565b604051808215151515815260200191505060405180910390f35b341561029b57600080fd5b6102d0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bea565b604051808215151515815260200191505060405180910390f35b34156102f557600080fd5b610340600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610de6565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561048d57600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905061055e83600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506105f383600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e8690919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506106498382610e6d90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561084b576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108df565b61085e8382610e6d90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610a5157600080fd5b610aa382600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b3882600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e8690919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610c7b82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e8690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610e7b57fe5b818303905092915050565b6000808284019050838110151515610e9a57fe5b80915050929150505600a165627a7a72305820993bd93733c6d7b10a6127617d9f435722873f25181521e241091a8ba34dbc3e0029","deployedBytecode":"0x60606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100ed57806323b872dd14610116578063661884631461018f57806370a08231146101e9578063a9059cbb14610236578063d73dd62314610290578063dd62ed3e146102ea575b600080fd5b341561009e57600080fd5b6100d3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610356565b604051808215151515815260200191505060405180910390f35b34156100f857600080fd5b610100610448565b6040518082815260200191505060405180910390f35b341561012157600080fd5b610175600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061044e565b604051808215151515815260200191505060405180910390f35b341561019a57600080fd5b6101cf600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061073a565b604051808215151515815260200191505060405180910390f35b34156101f457600080fd5b610220600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506109cb565b6040518082815260200191505060405180910390f35b341561024157600080fd5b610276600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a14565b604051808215151515815260200191505060405180910390f35b341561029b57600080fd5b6102d0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bea565b604051808215151515815260200191505060405180910390f35b34156102f557600080fd5b610340600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610de6565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561048d57600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905061055e83600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506105f383600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e8690919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506106498382610e6d90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561084b576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108df565b61085e8382610e6d90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610a5157600080fd5b610aa382600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b3882600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e8690919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610c7b82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e8690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610e7b57fe5b818303905092915050565b6000808284019050838110151515610e9a57fe5b80915050929150505600a165627a7a72305820993bd93733c6d7b10a6127617d9f435722873f25181521e241091a8ba34dbc3e0029"} \ No newline at end of file +{ + "contractName": "StandardToken", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_from", + "type": "address" + }, + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "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": "_addedValue", + "type": "uint256" + } + ], + "name": "increaseApproval", + "outputs": [ + { + "name": "success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseApproval", + "outputs": [ + { + "name": "success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610f1f806100206000396000f30060806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100f857806323b872dd1461012357806366188463146101a857806370a082311461020d578063a9059cbb14610264578063d73dd623146102c9578063dd62ed3e1461032e575b600080fd5b34801561009f57600080fd5b506100de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103a5565b604051808215151515815260200191505060405180910390f35b34801561010457600080fd5b5061010d610497565b6040518082815260200191505060405180910390f35b34801561012f57600080fd5b5061018e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061049d565b604051808215151515815260200191505060405180910390f35b3480156101b457600080fd5b506101f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610789565b604051808215151515815260200191505060405180910390f35b34801561021957600080fd5b5061024e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a1a565b6040518082815260200191505060405180910390f35b34801561027057600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a63565b604051808215151515815260200191505060405180910390f35b3480156102d557600080fd5b50610314600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c39565b604051808215151515815260200191505060405180910390f35b34801561033a57600080fd5b5061038f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e35565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156104dc57600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506105ad83600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ebc90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061064283600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed590919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506106988382610ebc90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561089a576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061092e565b6108ad8382610ebc90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610aa057600080fd5b610af282600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ebc90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b8782600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed590919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610cca82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed590919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610eca57fe5b818303905092915050565b6000808284019050838110151515610ee957fe5b80915050929150505600a165627a7a72305820c54bdffae225221a3e5d945dd33e8dbd7031c29924d49fb58969d68b7b48f1ae0029", + "deployedBytecode": "0x60806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100f857806323b872dd1461012357806366188463146101a857806370a082311461020d578063a9059cbb14610264578063d73dd623146102c9578063dd62ed3e1461032e575b600080fd5b34801561009f57600080fd5b506100de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103a5565b604051808215151515815260200191505060405180910390f35b34801561010457600080fd5b5061010d610497565b6040518082815260200191505060405180910390f35b34801561012f57600080fd5b5061018e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061049d565b604051808215151515815260200191505060405180910390f35b3480156101b457600080fd5b506101f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610789565b604051808215151515815260200191505060405180910390f35b34801561021957600080fd5b5061024e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a1a565b6040518082815260200191505060405180910390f35b34801561027057600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a63565b604051808215151515815260200191505060405180910390f35b3480156102d557600080fd5b50610314600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c39565b604051808215151515815260200191505060405180910390f35b34801561033a57600080fd5b5061038f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e35565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156104dc57600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506105ad83600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ebc90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061064283600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed590919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506106988382610ebc90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561089a576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061092e565b6108ad8382610ebc90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610aa057600080fd5b610af282600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ebc90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b8782600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed590919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610cca82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed590919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610eca57fe5b818303905092915050565b6000808284019050838110151515610ee957fe5b80915050929150505600a165627a7a72305820c54bdffae225221a3e5d945dd33e8dbd7031c29924d49fb58969d68b7b48f1ae0029", + "sourceMap": "345:3095:13:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;345:3095:13;;;;;;;", + "deployedSourceMap": "345:3095:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1884:183;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1884:183:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;179:26:12;;8:9:-1;5:2;;;30:1;27;20:12;5:2;179:26:12;;;;;;;;;;;;;;;;;;;;;;;728:533:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;728:533:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3033:404;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3033:404:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;973:111:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;973:111:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;437:334;;8:9:-1;5:2;;;30:1;27;20:12;5:2;437:334:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2766:263:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2766:263:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2386:140;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2386:140:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1884:183;1951:4;1995:6;1963:7;:19;1971:10;1963:19;;;;;;;;;;;;;;;:29;1983:8;1963:29;;;;;;;;;;;;;;;:38;;;;2028:8;2007:38;;2016:10;2007:38;;;2038:6;2007:38;;;;;;;;;;;;;;;;;;2058:4;2051:11;;1884:183;;;;:::o;179:26:12:-;;;;:::o;728:533:13:-;810:4;855:18;845:1;830:17;;:3;:17;;;;822:26;;;;;;;;876:7;:14;884:5;876:14;;;;;;;;;;;;;;;:26;891:10;876:26;;;;;;;;;;;;;;;;855:47;;1074:27;1094:6;1074:8;:15;1083:5;1074:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;1056:8;:15;1065:5;1056:15;;;;;;;;;;;;;;;:45;;;;1123:25;1141:6;1123:8;:13;1132:3;1123:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1107:8;:13;1116:3;1107:13;;;;;;;;;;;;;;;:41;;;;1183:22;1198:6;1183:10;:14;;:22;;;;:::i;:::-;1154:7;:14;1162:5;1154:14;;;;;;;;;;;;;;;:26;1169:10;1154:26;;;;;;;;;;;;;;;:51;;;;1227:3;1211:28;;1220:5;1211:28;;;1232:6;1211:28;;;;;;;;;;;;;;;;;;1252:4;1245:11;;728:533;;;;;;:::o;3033:404::-;3114:12;3134:13;3150:7;:19;3158:10;3150:19;;;;;;;;;;;;;;;:29;3170:8;3150:29;;;;;;;;;;;;;;;;3134:45;;3208:8;3189:16;:27;3185:164;;;3258:1;3226:7;:19;3234:10;3226:19;;;;;;;;;;;;;;;:29;3246:8;3226:29;;;;;;;;;;;;;;;:33;;;;3185:164;;;3312:30;3325:16;3312:8;:12;;:30;;;;:::i;:::-;3280:7;:19;3288:10;3280:19;;;;;;;;;;;;;;;:29;3300:8;3280:29;;;;;;;;;;;;;;;:62;;;;3185:164;3375:8;3354:61;;3363:10;3354:61;;;3385:7;:19;3393:10;3385:19;;;;;;;;;;;;;;;:29;3405:8;3385:29;;;;;;;;;;;;;;;;3354:61;;;;;;;;;;;;;;;;;;3428:4;3421:11;;3033:404;;;;;:::o;973:111:10:-;1033:15;1063:8;:16;1072:6;1063:16;;;;;;;;;;;;;;;;1056:23;;973:111;;;:::o;437:334::-;500:4;535:1;520:17;;:3;:17;;;;512:26;;;;;;;;631:32;656:6;631:8;:20;640:10;631:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;608:8;:20;617:10;608:20;;;;;;;;;;;;;;;:55;;;;685:25;703:6;685:8;:13;694:3;685:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;669:8;:13;678:3;669:13;;;;;;;;;;;;;;;:41;;;;737:3;716:33;;725:10;716:33;;;742:6;716:33;;;;;;;;;;;;;;;;;;762:4;755:11;;437:334;;;;:::o;2766:263:13:-;2842:12;2894:46;2928:11;2894:7;:19;2902:10;2894:19;;;;;;;;;;;;;;;:29;2914:8;2894:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2862:7;:19;2870:10;2862:19;;;;;;;;;;;;;;;:29;2882:8;2862:29;;;;;;;;;;;;;;;:78;;;;2967:8;2946:61;;2955:10;2946:61;;;2977:7;:19;2985:10;2977:19;;;;;;;;;;;;;;;:29;2997:8;2977:29;;;;;;;;;;;;;;;;2946:61;;;;;;;;;;;;;;;;;;3020:4;3013:11;;2766:263;;;;:::o;2386:140::-;2464:17;2496:7;:15;2504:6;2496:15;;;;;;;;;;;;;;;:25;2512:8;2496:25;;;;;;;;;;;;;;;;2489:32;;2386:140;;;;:::o;562:114:8:-;624:7;651:1;646;:6;;639:14;;;;;;670:1;666;:5;659:12;;562:114;;;;:::o;680:133::-;742:7;757:9;773:1;769;:5;757:17;;792:1;787;:6;;780:14;;;;;;807:1;800:8;;680:133;;;;;:::o", + "source": "pragma solidity ^0.4.11;\n\n\nimport './BasicToken.sol';\nimport './ERC20.sol';\n\n\n/**\n * @title Standard ERC20 token\n *\n * @dev Implementation of the basic standard token.\n * @dev https://github.com/ethereum/EIPs/issues/20\n * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol\n */\ncontract StandardToken is ERC20, BasicToken {\n\n mapping (address => mapping (address => uint256)) allowed;\n\n\n /**\n * @dev Transfer tokens from one address to another\n * @param _from address The address which you want to send tokens from\n * @param _to address The address which you want to transfer to\n * @param _value uint256 the amount of tokens to be transferred\n */\n function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {\n require(_to != address(0));\n\n uint256 _allowance = allowed[_from][msg.sender];\n\n // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met\n // require (_value <= _allowance);\n\n balances[_from] = balances[_from].sub(_value);\n balances[_to] = balances[_to].add(_value);\n allowed[_from][msg.sender] = _allowance.sub(_value);\n Transfer(_from, _to, _value);\n return true;\n }\n\n /**\n * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\n *\n * Beware that changing an allowance with this method brings the risk that someone may use both the old\n * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this\n * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n * @param _spender The address which will spend the funds.\n * @param _value The amount of tokens to be spent.\n */\n function approve(address _spender, uint256 _value) public returns (bool) {\n allowed[msg.sender][_spender] = _value;\n Approval(msg.sender, _spender, _value);\n return true;\n }\n\n /**\n * @dev Function to check the amount of tokens that an owner allowed to a spender.\n * @param _owner address The address which owns the funds.\n * @param _spender address The address which will spend the funds.\n * @return A uint256 specifying the amount of tokens still available for the spender.\n */\n function allowance(address _owner, address _spender) public constant returns (uint256 remaining) {\n return allowed[_owner][_spender];\n }\n\n /**\n * approve should be called when allowed[_spender] == 0. To increment\n * allowed value is better to use this function to avoid 2 calls (and wait until\n * the first transaction is mined)\n * From MonolithDAO Token.sol\n */\n function increaseApproval (address _spender, uint _addedValue)\n returns (bool success) {\n allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);\n Approval(msg.sender, _spender, allowed[msg.sender][_spender]);\n return true;\n }\n\n function decreaseApproval (address _spender, uint _subtractedValue)\n returns (bool success) {\n uint oldValue = allowed[msg.sender][_spender];\n if (_subtractedValue > oldValue) {\n allowed[msg.sender][_spender] = 0;\n } else {\n allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);\n }\n Approval(msg.sender, _spender, allowed[msg.sender][_spender]);\n return true;\n }\n\n}\n", + "sourcePath": "zeppelin-solidity/contracts/token/StandardToken.sol", + "ast": { + "absolutePath": "zeppelin-solidity/contracts/token/StandardToken.sol", + "exportedSymbols": { + "StandardToken": [ + 1734 + ] + }, + "id": 1735, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1505, + "literals": [ + "solidity", + "^", + "0.4", + ".11" + ], + "nodeType": "PragmaDirective", + "src": "0:24:13" + }, + { + "absolutePath": "zeppelin-solidity/contracts/token/BasicToken.sol", + "file": "./BasicToken.sol", + "id": 1506, + "nodeType": "ImportDirective", + "scope": 1735, + "sourceUnit": 1432, + "src": "27:26:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "zeppelin-solidity/contracts/token/ERC20.sol", + "file": "./ERC20.sol", + "id": 1507, + "nodeType": "ImportDirective", + "scope": 1735, + "sourceUnit": 1475, + "src": "54:21:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1508, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1474, + "src": "371:5:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$1474", + "typeString": "contract ERC20" + } + }, + "id": 1509, + "nodeType": "InheritanceSpecifier", + "src": "371:5:13" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1510, + "name": "BasicToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1431, + "src": "378:10:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BasicToken_$1431", + "typeString": "contract BasicToken" + } + }, + "id": 1511, + "nodeType": "InheritanceSpecifier", + "src": "378:10:13" + } + ], + "contractDependencies": [ + 1431, + 1474, + 1503 + ], + "contractKind": "contract", + "documentation": "@title Standard ERC20 token\n * @dev Implementation of the basic standard token.\n@dev https://github.com/ethereum/EIPs/issues/20\n@dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol", + "fullyImplemented": true, + "id": 1734, + "linearizedBaseContracts": [ + 1734, + 1431, + 1474, + 1503 + ], + "name": "StandardToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 1517, + "name": "allowed", + "nodeType": "VariableDeclaration", + "scope": 1734, + "src": "394:57:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "typeName": { + "id": 1516, + "keyType": { + "id": 1512, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "403:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "394:49:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "valueType": { + "id": 1515, + "keyType": { + "id": 1513, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "423:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "414:28:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 1514, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "434:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 1587, + "nodeType": "Block", + "src": "816:445:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1529, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1521, + "src": "830:3:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "845:1:13", + "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": 1530, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "837:7:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1532, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "837:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "830:17:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1528, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1752, + 1753 + ], + "referencedDeclaration": 1752, + "src": "822:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "822:26:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1535, + "nodeType": "ExpressionStatement", + "src": "822:26:13" + }, + { + "assignments": [ + 1537 + ], + "declarations": [ + { + "constant": false, + "id": 1537, + "name": "_allowance", + "nodeType": "VariableDeclaration", + "scope": 1588, + "src": "855:18:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1536, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "855:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1544, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1538, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "876:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 1540, + "indexExpression": { + "argumentTypes": null, + "id": 1539, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "884:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "876:14:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1543, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1541, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "891:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "891:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "876:26:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "855:47:13" + }, + { + "expression": { + "argumentTypes": null, + "id": 1554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1545, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "1056:8:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1547, + "indexExpression": { + "argumentTypes": null, + "id": 1546, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "1065:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1056:15:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1552, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1523, + "src": "1094:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1548, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "1074:8:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1550, + "indexExpression": { + "argumentTypes": null, + "id": 1549, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "1083:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1074:15:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 1273, + "src": "1074:19:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) view returns (uint256)" + } + }, + "id": 1553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1074:27:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1056:45:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1555, + "nodeType": "ExpressionStatement", + "src": "1056:45:13" + }, + { + "expression": { + "argumentTypes": null, + "id": 1565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1556, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "1107:8:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1558, + "indexExpression": { + "argumentTypes": null, + "id": 1557, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1521, + "src": "1116:3:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1107:13:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1563, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1523, + "src": "1141:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1559, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "1123:8:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1561, + "indexExpression": { + "argumentTypes": null, + "id": 1560, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1521, + "src": "1132:3:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1123:13:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 1297, + "src": "1123:17:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) view returns (uint256)" + } + }, + "id": 1564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1123:25:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1107:41:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1566, + "nodeType": "ExpressionStatement", + "src": "1107:41:13" + }, + { + "expression": { + "argumentTypes": null, + "id": 1577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1567, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "1154:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 1571, + "indexExpression": { + "argumentTypes": null, + "id": 1568, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "1162:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1154:14:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1572, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1569, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "1169:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1169:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1154:26:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1575, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1523, + "src": "1198:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1573, + "name": "_allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1537, + "src": "1183:10:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 1273, + "src": "1183:14:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) view returns (uint256)" + } + }, + "id": 1576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1183:22:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1154:51:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1578, + "nodeType": "ExpressionStatement", + "src": "1154:51:13" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1580, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "1220:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1581, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1521, + "src": "1227:3:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1582, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1523, + "src": "1232:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1579, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1502, + "src": "1211:8:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1211:28:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1584, + "nodeType": "ExpressionStatement", + "src": "1211:28:13" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1585, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1252:4:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1527, + "id": 1586, + "nodeType": "Return", + "src": "1245:11:13" + } + ] + }, + "documentation": "@dev Transfer tokens from one address to another\n@param _from address The address which you want to send tokens from\n@param _to address The address which you want to transfer to\n@param _value uint256 the amount of tokens to be transferred", + "id": 1588, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1524, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1519, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 1588, + "src": "750:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1518, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "750:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1521, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 1588, + "src": "765:11:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1520, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "765:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1523, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 1588, + "src": "778:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1522, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "778:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "749:44:13" + }, + "payable": false, + "returnParameters": { + "id": 1527, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1526, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1588, + "src": "810:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1525, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "810:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "809:6:13" + }, + "scope": 1734, + "src": "728:533:13", + "stateMutability": "nonpayable", + "superFunction": 1456, + "visibility": "public" + }, + { + "body": { + "id": 1615, + "nodeType": "Block", + "src": "1957:110:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1597, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "1963:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 1601, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1598, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "1971:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1971:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1963:19:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1602, + "indexExpression": { + "argumentTypes": null, + "id": 1600, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1590, + "src": "1983:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1963:29:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1603, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1592, + "src": "1995:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1963:38:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1605, + "nodeType": "ExpressionStatement", + "src": "1963:38:13" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1607, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "2016:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2016:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1609, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1590, + "src": "2028:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1610, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1592, + "src": "2038:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1606, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1473, + "src": "2007:8:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2007:38:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1612, + "nodeType": "ExpressionStatement", + "src": "2007:38:13" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1613, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2058:4:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1596, + "id": 1614, + "nodeType": "Return", + "src": "2051:11:13" + } + ] + }, + "documentation": "@dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\n * Beware that changing an allowance with this method brings the risk that someone may use both the old\nand the new allowance by unfortunate transaction ordering. One possible solution to mitigate this\nrace condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n@param _spender The address which will spend the funds.\n@param _value The amount of tokens to be spent.", + "id": 1616, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1593, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1590, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 1616, + "src": "1901:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1589, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1901:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1592, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 1616, + "src": "1919:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1591, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1919:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1900:34:13" + }, + "payable": false, + "returnParameters": { + "id": 1596, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1595, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1616, + "src": "1951:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1594, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1951:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1950:6:13" + }, + "scope": 1734, + "src": "1884:183:13", + "stateMutability": "nonpayable", + "superFunction": 1465, + "visibility": "public" + }, + { + "body": { + "id": 1631, + "nodeType": "Block", + "src": "2483:43:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1625, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "2496:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 1627, + "indexExpression": { + "argumentTypes": null, + "id": 1626, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1618, + "src": "2504:6:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2496:15:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1629, + "indexExpression": { + "argumentTypes": null, + "id": 1628, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1620, + "src": "2512:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2496:25:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1624, + "id": 1630, + "nodeType": "Return", + "src": "2489:32:13" + } + ] + }, + "documentation": "@dev Function to check the amount of tokens that an owner allowed to a spender.\n@param _owner address The address which owns the funds.\n@param _spender address The address which will spend the funds.\n@return A uint256 specifying the amount of tokens still available for the spender.", + "id": 1632, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1621, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1618, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 1632, + "src": "2405:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1617, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2405:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1620, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 1632, + "src": "2421:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1619, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2421:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2404:34:13" + }, + "payable": false, + "returnParameters": { + "id": 1624, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1623, + "name": "remaining", + "nodeType": "VariableDeclaration", + "scope": 1632, + "src": "2464:17:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1622, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2464:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2463:19:13" + }, + "scope": 1734, + "src": "2386:140:13", + "stateMutability": "view", + "superFunction": 1445, + "visibility": "public" + }, + { + "body": { + "id": 1672, + "nodeType": "Block", + "src": "2856:173:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1641, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "2862:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 1645, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1642, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "2870:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2870:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2862:19:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1646, + "indexExpression": { + "argumentTypes": null, + "id": 1644, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1634, + "src": "2882:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2862:29:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1654, + "name": "_addedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1636, + "src": "2928:11:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1647, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "2894:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 1650, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1648, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "2902:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2902:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2894:19:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1652, + "indexExpression": { + "argumentTypes": null, + "id": 1651, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1634, + "src": "2914:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2894:29:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 1297, + "src": "2894:33:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) view returns (uint256)" + } + }, + "id": 1655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2894:46:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2862:78:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1657, + "nodeType": "ExpressionStatement", + "src": "2862:78:13" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1659, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "2955:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2955:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1661, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1634, + "src": "2967:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1662, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "2977:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 1665, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1663, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "2985:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2985:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2977:19:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1667, + "indexExpression": { + "argumentTypes": null, + "id": 1666, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1634, + "src": "2997:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2977:29:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1658, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1473, + "src": "2946:8:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2946:61:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1669, + "nodeType": "ExpressionStatement", + "src": "2946:61:13" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1670, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3020:4:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1640, + "id": 1671, + "nodeType": "Return", + "src": "3013:11:13" + } + ] + }, + "documentation": "approve should be called when allowed[_spender] == 0. To increment\nallowed value is better to use this function to avoid 2 calls (and wait until\nthe first transaction is mined)\nFrom MonolithDAO Token.sol", + "id": 1673, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "increaseApproval", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1637, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1634, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 1673, + "src": "2793:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1633, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2793:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1636, + "name": "_addedValue", + "nodeType": "VariableDeclaration", + "scope": 1673, + "src": "2811:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1635, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2811:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2792:36:13" + }, + "payable": false, + "returnParameters": { + "id": 1640, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1639, + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 1673, + "src": "2842:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1638, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2842:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2841:14:13" + }, + "scope": 1734, + "src": "2766:263:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1732, + "nodeType": "Block", + "src": "3128:309:13", + "statements": [ + { + "assignments": [ + 1683 + ], + "declarations": [ + { + "constant": false, + "id": 1683, + "name": "oldValue", + "nodeType": "VariableDeclaration", + "scope": 1733, + "src": "3134:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1682, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3134:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1690, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1684, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "3150:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 1687, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1685, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "3158:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3158:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3150:19:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1689, + "indexExpression": { + "argumentTypes": null, + "id": 1688, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1675, + "src": "3170:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3150:29:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3134:45:13" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1691, + "name": "_subtractedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1677, + "src": "3189:16:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 1692, + "name": "oldValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1683, + "src": "3208:8:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3189:27:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1716, + "nodeType": "Block", + "src": "3272:77:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1704, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "3280:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 1708, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1705, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "3288:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3288:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3280:19:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1709, + "indexExpression": { + "argumentTypes": null, + "id": 1707, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1675, + "src": "3300:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3280:29:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1712, + "name": "_subtractedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1677, + "src": "3325:16:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1710, + "name": "oldValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1683, + "src": "3312:8:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 1273, + "src": "3312:12:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) view returns (uint256)" + } + }, + "id": 1713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3312:30:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3280:62:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1715, + "nodeType": "ExpressionStatement", + "src": "3280:62:13" + } + ] + }, + "id": 1717, + "nodeType": "IfStatement", + "src": "3185:164:13", + "trueBody": { + "id": 1703, + "nodeType": "Block", + "src": "3218:48:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1694, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "3226:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 1698, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1695, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "3234:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3234:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3226:19:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1699, + "indexExpression": { + "argumentTypes": null, + "id": 1697, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1675, + "src": "3246:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3226:29:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 1700, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3258:1:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3226:33:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1702, + "nodeType": "ExpressionStatement", + "src": "3226:33:13" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1719, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "3363:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3363:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1721, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1675, + "src": "3375:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1722, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "3385:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 1725, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1723, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "3393:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3393:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3385:19:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1727, + "indexExpression": { + "argumentTypes": null, + "id": 1726, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1675, + "src": "3405:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3385:29:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1718, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1473, + "src": "3354:8:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3354:61:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1729, + "nodeType": "ExpressionStatement", + "src": "3354:61:13" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1730, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3428:4:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1681, + "id": 1731, + "nodeType": "Return", + "src": "3421:11:13" + } + ] + }, + "documentation": null, + "id": 1733, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "decreaseApproval", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1678, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1675, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 1733, + "src": "3060:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1674, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3060:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1677, + "name": "_subtractedValue", + "nodeType": "VariableDeclaration", + "scope": 1733, + "src": "3078:21:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1676, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3078:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3059:41:13" + }, + "payable": false, + "returnParameters": { + "id": 1681, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1680, + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 1733, + "src": "3114:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1679, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3114:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3113:14:13" + }, + "scope": 1734, + "src": "3033:404:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1735, + "src": "345:3095:13" + } + ], + "src": "0:3441:13" + }, + "legacyAST": { + "absolutePath": "zeppelin-solidity/contracts/token/StandardToken.sol", + "exportedSymbols": { + "StandardToken": [ + 1734 + ] + }, + "id": 1735, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1505, + "literals": [ + "solidity", + "^", + "0.4", + ".11" + ], + "nodeType": "PragmaDirective", + "src": "0:24:13" + }, + { + "absolutePath": "zeppelin-solidity/contracts/token/BasicToken.sol", + "file": "./BasicToken.sol", + "id": 1506, + "nodeType": "ImportDirective", + "scope": 1735, + "sourceUnit": 1432, + "src": "27:26:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "zeppelin-solidity/contracts/token/ERC20.sol", + "file": "./ERC20.sol", + "id": 1507, + "nodeType": "ImportDirective", + "scope": 1735, + "sourceUnit": 1475, + "src": "54:21:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1508, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1474, + "src": "371:5:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$1474", + "typeString": "contract ERC20" + } + }, + "id": 1509, + "nodeType": "InheritanceSpecifier", + "src": "371:5:13" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1510, + "name": "BasicToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1431, + "src": "378:10:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BasicToken_$1431", + "typeString": "contract BasicToken" + } + }, + "id": 1511, + "nodeType": "InheritanceSpecifier", + "src": "378:10:13" + } + ], + "contractDependencies": [ + 1431, + 1474, + 1503 + ], + "contractKind": "contract", + "documentation": "@title Standard ERC20 token\n * @dev Implementation of the basic standard token.\n@dev https://github.com/ethereum/EIPs/issues/20\n@dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol", + "fullyImplemented": true, + "id": 1734, + "linearizedBaseContracts": [ + 1734, + 1431, + 1474, + 1503 + ], + "name": "StandardToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 1517, + "name": "allowed", + "nodeType": "VariableDeclaration", + "scope": 1734, + "src": "394:57:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "typeName": { + "id": 1516, + "keyType": { + "id": 1512, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "403:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "394:49:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "valueType": { + "id": 1515, + "keyType": { + "id": 1513, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "423:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "414:28:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 1514, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "434:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 1587, + "nodeType": "Block", + "src": "816:445:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1529, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1521, + "src": "830:3:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "845:1:13", + "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": 1530, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "837:7:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1532, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "837:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "830:17:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1528, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1752, + 1753 + ], + "referencedDeclaration": 1752, + "src": "822:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "822:26:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1535, + "nodeType": "ExpressionStatement", + "src": "822:26:13" + }, + { + "assignments": [ + 1537 + ], + "declarations": [ + { + "constant": false, + "id": 1537, + "name": "_allowance", + "nodeType": "VariableDeclaration", + "scope": 1588, + "src": "855:18:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1536, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "855:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1544, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1538, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "876:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 1540, + "indexExpression": { + "argumentTypes": null, + "id": 1539, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "884:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "876:14:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1543, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1541, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "891:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "891:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "876:26:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "855:47:13" + }, + { + "expression": { + "argumentTypes": null, + "id": 1554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1545, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "1056:8:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1547, + "indexExpression": { + "argumentTypes": null, + "id": 1546, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "1065:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1056:15:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1552, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1523, + "src": "1094:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1548, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "1074:8:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1550, + "indexExpression": { + "argumentTypes": null, + "id": 1549, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "1083:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1074:15:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 1273, + "src": "1074:19:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) view returns (uint256)" + } + }, + "id": 1553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1074:27:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1056:45:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1555, + "nodeType": "ExpressionStatement", + "src": "1056:45:13" + }, + { + "expression": { + "argumentTypes": null, + "id": 1565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1556, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "1107:8:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1558, + "indexExpression": { + "argumentTypes": null, + "id": 1557, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1521, + "src": "1116:3:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1107:13:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1563, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1523, + "src": "1141:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1559, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "1123:8:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1561, + "indexExpression": { + "argumentTypes": null, + "id": 1560, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1521, + "src": "1132:3:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1123:13:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 1297, + "src": "1123:17:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) view returns (uint256)" + } + }, + "id": 1564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1123:25:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1107:41:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1566, + "nodeType": "ExpressionStatement", + "src": "1107:41:13" + }, + { + "expression": { + "argumentTypes": null, + "id": 1577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1567, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "1154:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 1571, + "indexExpression": { + "argumentTypes": null, + "id": 1568, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "1162:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1154:14:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1572, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1569, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "1169:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1169:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1154:26:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1575, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1523, + "src": "1198:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1573, + "name": "_allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1537, + "src": "1183:10:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 1273, + "src": "1183:14:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) view returns (uint256)" + } + }, + "id": 1576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1183:22:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1154:51:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1578, + "nodeType": "ExpressionStatement", + "src": "1154:51:13" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1580, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "1220:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1581, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1521, + "src": "1227:3:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1582, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1523, + "src": "1232:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1579, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1502, + "src": "1211:8:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1211:28:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1584, + "nodeType": "ExpressionStatement", + "src": "1211:28:13" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1585, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1252:4:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1527, + "id": 1586, + "nodeType": "Return", + "src": "1245:11:13" + } + ] + }, + "documentation": "@dev Transfer tokens from one address to another\n@param _from address The address which you want to send tokens from\n@param _to address The address which you want to transfer to\n@param _value uint256 the amount of tokens to be transferred", + "id": 1588, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1524, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1519, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 1588, + "src": "750:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1518, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "750:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1521, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 1588, + "src": "765:11:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1520, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "765:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1523, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 1588, + "src": "778:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1522, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "778:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "749:44:13" + }, + "payable": false, + "returnParameters": { + "id": 1527, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1526, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1588, + "src": "810:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1525, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "810:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "809:6:13" + }, + "scope": 1734, + "src": "728:533:13", + "stateMutability": "nonpayable", + "superFunction": 1456, + "visibility": "public" + }, + { + "body": { + "id": 1615, + "nodeType": "Block", + "src": "1957:110:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1597, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "1963:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 1601, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1598, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "1971:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1971:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1963:19:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1602, + "indexExpression": { + "argumentTypes": null, + "id": 1600, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1590, + "src": "1983:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1963:29:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1603, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1592, + "src": "1995:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1963:38:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1605, + "nodeType": "ExpressionStatement", + "src": "1963:38:13" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1607, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "2016:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2016:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1609, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1590, + "src": "2028:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1610, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1592, + "src": "2038:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1606, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1473, + "src": "2007:8:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2007:38:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1612, + "nodeType": "ExpressionStatement", + "src": "2007:38:13" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1613, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2058:4:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1596, + "id": 1614, + "nodeType": "Return", + "src": "2051:11:13" + } + ] + }, + "documentation": "@dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\n * Beware that changing an allowance with this method brings the risk that someone may use both the old\nand the new allowance by unfortunate transaction ordering. One possible solution to mitigate this\nrace condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n@param _spender The address which will spend the funds.\n@param _value The amount of tokens to be spent.", + "id": 1616, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1593, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1590, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 1616, + "src": "1901:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1589, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1901:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1592, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 1616, + "src": "1919:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1591, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1919:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1900:34:13" + }, + "payable": false, + "returnParameters": { + "id": 1596, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1595, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1616, + "src": "1951:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1594, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1951:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1950:6:13" + }, + "scope": 1734, + "src": "1884:183:13", + "stateMutability": "nonpayable", + "superFunction": 1465, + "visibility": "public" + }, + { + "body": { + "id": 1631, + "nodeType": "Block", + "src": "2483:43:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1625, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "2496:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 1627, + "indexExpression": { + "argumentTypes": null, + "id": 1626, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1618, + "src": "2504:6:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2496:15:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1629, + "indexExpression": { + "argumentTypes": null, + "id": 1628, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1620, + "src": "2512:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2496:25:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1624, + "id": 1630, + "nodeType": "Return", + "src": "2489:32:13" + } + ] + }, + "documentation": "@dev Function to check the amount of tokens that an owner allowed to a spender.\n@param _owner address The address which owns the funds.\n@param _spender address The address which will spend the funds.\n@return A uint256 specifying the amount of tokens still available for the spender.", + "id": 1632, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1621, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1618, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 1632, + "src": "2405:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1617, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2405:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1620, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 1632, + "src": "2421:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1619, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2421:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2404:34:13" + }, + "payable": false, + "returnParameters": { + "id": 1624, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1623, + "name": "remaining", + "nodeType": "VariableDeclaration", + "scope": 1632, + "src": "2464:17:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1622, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2464:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2463:19:13" + }, + "scope": 1734, + "src": "2386:140:13", + "stateMutability": "view", + "superFunction": 1445, + "visibility": "public" + }, + { + "body": { + "id": 1672, + "nodeType": "Block", + "src": "2856:173:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1641, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "2862:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 1645, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1642, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "2870:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2870:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2862:19:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1646, + "indexExpression": { + "argumentTypes": null, + "id": 1644, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1634, + "src": "2882:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2862:29:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1654, + "name": "_addedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1636, + "src": "2928:11:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1647, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "2894:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 1650, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1648, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "2902:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2902:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2894:19:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1652, + "indexExpression": { + "argumentTypes": null, + "id": 1651, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1634, + "src": "2914:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2894:29:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 1297, + "src": "2894:33:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) view returns (uint256)" + } + }, + "id": 1655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2894:46:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2862:78:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1657, + "nodeType": "ExpressionStatement", + "src": "2862:78:13" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1659, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "2955:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2955:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1661, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1634, + "src": "2967:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1662, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "2977:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 1665, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1663, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "2985:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2985:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2977:19:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1667, + "indexExpression": { + "argumentTypes": null, + "id": 1666, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1634, + "src": "2997:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2977:29:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1658, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1473, + "src": "2946:8:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2946:61:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1669, + "nodeType": "ExpressionStatement", + "src": "2946:61:13" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1670, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3020:4:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1640, + "id": 1671, + "nodeType": "Return", + "src": "3013:11:13" + } + ] + }, + "documentation": "approve should be called when allowed[_spender] == 0. To increment\nallowed value is better to use this function to avoid 2 calls (and wait until\nthe first transaction is mined)\nFrom MonolithDAO Token.sol", + "id": 1673, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "increaseApproval", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1637, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1634, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 1673, + "src": "2793:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1633, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2793:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1636, + "name": "_addedValue", + "nodeType": "VariableDeclaration", + "scope": 1673, + "src": "2811:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1635, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2811:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2792:36:13" + }, + "payable": false, + "returnParameters": { + "id": 1640, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1639, + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 1673, + "src": "2842:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1638, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2842:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2841:14:13" + }, + "scope": 1734, + "src": "2766:263:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1732, + "nodeType": "Block", + "src": "3128:309:13", + "statements": [ + { + "assignments": [ + 1683 + ], + "declarations": [ + { + "constant": false, + "id": 1683, + "name": "oldValue", + "nodeType": "VariableDeclaration", + "scope": 1733, + "src": "3134:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1682, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3134:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1690, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1684, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "3150:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 1687, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1685, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "3158:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3158:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3150:19:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1689, + "indexExpression": { + "argumentTypes": null, + "id": 1688, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1675, + "src": "3170:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3150:29:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3134:45:13" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1691, + "name": "_subtractedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1677, + "src": "3189:16:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 1692, + "name": "oldValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1683, + "src": "3208:8:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3189:27:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1716, + "nodeType": "Block", + "src": "3272:77:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1704, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "3280:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 1708, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1705, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "3288:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3288:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3280:19:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1709, + "indexExpression": { + "argumentTypes": null, + "id": 1707, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1675, + "src": "3300:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3280:29:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1712, + "name": "_subtractedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1677, + "src": "3325:16:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1710, + "name": "oldValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1683, + "src": "3312:8:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 1273, + "src": "3312:12:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) view returns (uint256)" + } + }, + "id": 1713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3312:30:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3280:62:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1715, + "nodeType": "ExpressionStatement", + "src": "3280:62:13" + } + ] + }, + "id": 1717, + "nodeType": "IfStatement", + "src": "3185:164:13", + "trueBody": { + "id": 1703, + "nodeType": "Block", + "src": "3218:48:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1694, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "3226:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 1698, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1695, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "3234:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3234:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3226:19:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1699, + "indexExpression": { + "argumentTypes": null, + "id": 1697, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1675, + "src": "3246:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3226:29:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 1700, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3258:1:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3226:33:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1702, + "nodeType": "ExpressionStatement", + "src": "3226:33:13" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1719, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "3363:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3363:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1721, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1675, + "src": "3375:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1722, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "3385:7:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 1725, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1723, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "3393:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3393:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3385:19:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1727, + "indexExpression": { + "argumentTypes": null, + "id": 1726, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1675, + "src": "3405:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3385:29:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1718, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1473, + "src": "3354:8:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3354:61:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1729, + "nodeType": "ExpressionStatement", + "src": "3354:61:13" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1730, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3428:4:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1681, + "id": 1731, + "nodeType": "Return", + "src": "3421:11:13" + } + ] + }, + "documentation": null, + "id": 1733, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "decreaseApproval", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1678, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1675, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 1733, + "src": "3060:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1674, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3060:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1677, + "name": "_subtractedValue", + "nodeType": "VariableDeclaration", + "scope": 1733, + "src": "3078:21:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1676, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3078:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3059:41:13" + }, + "payable": false, + "returnParameters": { + "id": 1681, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1680, + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 1733, + "src": "3114:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1679, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3114:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3113:14:13" + }, + "scope": 1734, + "src": "3033:404:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1735, + "src": "345:3095:13" + } + ], + "src": "0:3441:13" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-29T16:30:42.909Z" +} \ No newline at end of file diff --git a/build/contracts/Store.json b/build/contracts/Store.json index 2f52936..4368f64 100644 --- a/build/contracts/Store.json +++ b/build/contracts/Store.json @@ -1 +1,4544 @@ -{"contractName":"Store","abi":[{"constant":true,"inputs":[],"name":"registry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sales","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":[{"name":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_videoId","type":"string"},{"indexed":false,"name":"_buyer","type":"address"},{"indexed":false,"name":"_price","type":"uint256"}],"name":"LogBuyVideo","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_msg","type":"address"}],"name":"LogAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_msg","type":"int256"}],"name":"LogInt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_msg","type":"string"}],"name":"LogString","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_msg","type":"uint256"}],"name":"LogUint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_msg","type":"bytes"}],"name":"LogBytes","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_msg","type":"bytes32"}],"name":"LogBytes32","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_msg","type":"bool"}],"name":"LogBool","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"videoId","type":"string"},{"name":"ipfsData","type":"string"}],"name":"buyVideo","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b604051602080610eaa83398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610dee806100bc6000396000f30060606040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633560d4c51461007d5780637b103999146101355780638da5cb5b1461018a578063aace52fe146101df578063f2fde38b14610234575b341561007857600080fd5b600080fd5b341561008857600080fd5b61011b600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061026d565b604051808215151515815260200191505060405180910390f35b341561014057600080fd5b610148610ab6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561019557600080fd5b61019d610adc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101ea57600080fd5b6101f2610b01565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561023f57600080fd5b61026b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b27565b005b600080600080600080600080600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561033d57600080fd5b5af1151561034a57600080fd5b505050604051805190509850600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f566964656f730000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561041757600080fd5b5af1151561042457600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663693ec85e8d6040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156104b557808201518184015260208101905061049a565b50505050905090810190601f1680156104e25780820380516001836020036101000a031916815260200191505b509250505060c060405180830381600087803b151561050057600080fd5b5af1151561050d57600080fd5b50505060405180519060200180519060200180519060200180519060200180519060200180519050975097509750975097509750610575670de0b6b3a7640000610567610558610c7c565b8a610d5b90919063ffffffff16565b610d8e90919063ffffffff16565b91508873ffffffffffffffffffffffffffffffffffffffff166323b872dd338b856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561064d57600080fd5b5af1151561065a57600080fd5b50505060405180519050506106788288610da990919063ffffffff16565b90508873ffffffffffffffffffffffffffffffffffffffff166323b872dd338a846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561075057600080fd5b5af1151561075d57600080fd5b5050506040518051905050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260058152602001807f53616c6573000000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561082957600080fd5b5af1151561083657600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663e8e459e0338e8a8f6040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200184815260200180602001838103835286818151815260200191508051906020019080838360005b838110156109065780820151818401526020810190506108eb565b50505050905090810190601f1680156109335780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561096c578082015181840152602081019050610951565b50505050905090810190601f1680156109995780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b15156109bb57600080fd5b5af115156109c857600080fd5b5050507ffb16a0cb01447521c51cd70864c5a9fa252ff62fcff41f679b24426dc4793e278c338960405180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015610a67578082015181840152602081019050610a4c565b50505050905090810190601f168015610a945780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a16001995050505050505050505092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b8257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610bbe57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663498bff006040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252601c8152602001807f566964656f5265646973747269627574696f6e506f6f6c536861726500000000815250602001915050602060405180830381600087803b1515610d3f57600080fd5b5af11515610d4c57600080fd5b50505060405180519050905090565b60008082840290506000841480610d7c5750828482811515610d7957fe5b04145b1515610d8457fe5b8091505092915050565b6000808284811515610d9c57fe5b0490508091505092915050565b6000828211151515610db757fe5b8183039050929150505600a165627a7a72305820f0d27203cac43724dda4d9e8776f7a678ea4e5cf91ee43ab42084bf0542a9f780029","deployedBytecode":"0x60606040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633560d4c51461007d5780637b103999146101355780638da5cb5b1461018a578063aace52fe146101df578063f2fde38b14610234575b341561007857600080fd5b600080fd5b341561008857600080fd5b61011b600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061026d565b604051808215151515815260200191505060405180910390f35b341561014057600080fd5b610148610ab6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561019557600080fd5b61019d610adc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101ea57600080fd5b6101f2610b01565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561023f57600080fd5b61026b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b27565b005b600080600080600080600080600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561033d57600080fd5b5af1151561034a57600080fd5b505050604051805190509850600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f566964656f730000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561041757600080fd5b5af1151561042457600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663693ec85e8d6040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156104b557808201518184015260208101905061049a565b50505050905090810190601f1680156104e25780820380516001836020036101000a031916815260200191505b509250505060c060405180830381600087803b151561050057600080fd5b5af1151561050d57600080fd5b50505060405180519060200180519060200180519060200180519060200180519060200180519050975097509750975097509750610575670de0b6b3a7640000610567610558610c7c565b8a610d5b90919063ffffffff16565b610d8e90919063ffffffff16565b91508873ffffffffffffffffffffffffffffffffffffffff166323b872dd338b856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561064d57600080fd5b5af1151561065a57600080fd5b50505060405180519050506106788288610da990919063ffffffff16565b90508873ffffffffffffffffffffffffffffffffffffffff166323b872dd338a846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561075057600080fd5b5af1151561075d57600080fd5b5050506040518051905050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260058152602001807f53616c6573000000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561082957600080fd5b5af1151561083657600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663e8e459e0338e8a8f6040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200184815260200180602001838103835286818151815260200191508051906020019080838360005b838110156109065780820151818401526020810190506108eb565b50505050905090810190601f1680156109335780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561096c578082015181840152602081019050610951565b50505050905090810190601f1680156109995780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b15156109bb57600080fd5b5af115156109c857600080fd5b5050507ffb16a0cb01447521c51cd70864c5a9fa252ff62fcff41f679b24426dc4793e278c338960405180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015610a67578082015181840152602081019050610a4c565b50505050905090810190601f168015610a945780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a16001995050505050505050505092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b8257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610bbe57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663498bff006040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252601c8152602001807f566964656f5265646973747269627574696f6e506f6f6c536861726500000000815250602001915050602060405180830381600087803b1515610d3f57600080fd5b5af11515610d4c57600080fd5b50505060405180519050905090565b60008082840290506000841480610d7c5750828482811515610d7957fe5b04145b1515610d8457fe5b8091505092915050565b6000808284811515610d9c57fe5b0490508091505092915050565b6000828211151515610db757fe5b8183039050929150505600a165627a7a72305820f0d27203cac43724dda4d9e8776f7a678ea4e5cf91ee43ab42084bf0542a9f780029"} \ No newline at end of file +{ + "contractName": "Store", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "registry", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "sales", + "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": [ + { + "name": "_registry", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "payable": false, + "stateMutability": "nonpayable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_videoId", + "type": "string" + }, + { + "indexed": false, + "name": "_buyer", + "type": "address" + }, + { + "indexed": false, + "name": "_price", + "type": "uint256" + } + ], + "name": "LogBuyVideo", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "address" + } + ], + "name": "LogAddress", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "int256" + } + ], + "name": "LogInt", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "string" + } + ], + "name": "LogString", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "uint256" + } + ], + "name": "LogUint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "bytes" + } + ], + "name": "LogBytes", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "bytes32" + } + ], + "name": "LogBytes32", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "bool" + } + ], + "name": "LogBool", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "videoId", + "type": "string" + }, + { + "name": "ipfsData", + "type": "string" + } + ], + "name": "buyVideo", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506040516020806110d783398101806040528101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050611013806100c46000396000f30060806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633560d4c51461007f5780637b103999146101465780638da5cb5b1461019d578063aace52fe146101f4578063f2fde38b1461024b575b34801561007957600080fd5b50600080fd5b34801561008b57600080fd5b5061012c600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061028e565b604051808215151515815260200191505060405180910390f35b34801561015257600080fd5b5061015b610cb6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101a957600080fd5b506101b2610cdc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020057600080fd5b50610209610d01565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561025757600080fd5b5061028c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d27565b005b60008060008060608060606000806000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561036057600080fd5b505af1158015610374573d6000803e3d6000fd5b505050506040513d602081101561038a57600080fd5b81019080805190602001909291905050509850600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f566964656f730000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561045f57600080fd5b505af1158015610473573d6000803e3d6000fd5b505050506040513d602081101561048957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663693ec85e8d6040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610521578082015181840152602081019050610506565b50505050905090810190601f16801561054e5780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b15801561056d57600080fd5b505af1158015610581573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060c08110156105ab57600080fd5b81019080805190602001909291908051906020019092919080516401000000008111156105d757600080fd5b828101905060208101848111156105ed57600080fd5b815185600182028301116401000000008211171561060a57600080fd5b5050929190602001805164010000000081111561062657600080fd5b8281019050602081018481111561063c57600080fd5b815185600182028301116401000000008211171561065957600080fd5b5050929190602001805164010000000081111561067557600080fd5b8281019050602081018481111561068b57600080fd5b81518560018202830111640100000000821117156106a857600080fd5b5050929190602001805190602001909291905050509750975097509750975097506106fd670de0b6b3a76400006106ef6106e0610e7c565b8a610f8090919063ffffffff16565b610fb390919063ffffffff16565b91508873ffffffffffffffffffffffffffffffffffffffff166323b872dd338b856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156107d657600080fd5b505af11580156107ea573d6000803e3d6000fd5b505050506040513d602081101561080057600080fd5b8101908080519060200190929190505050506108258288610fce90919063ffffffff16565b90508873ffffffffffffffffffffffffffffffffffffffff166323b872dd338a846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b810190808051906020019092919050505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260058152602001807f53616c6573000000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1580156109fc57600080fd5b505af1158015610a10573d6000803e3d6000fd5b505050506040513d6020811015610a2657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663e8e459e0338e8a8f6040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200184815260200180602001838103835286818151815260200191508051906020019080838360005b83811015610afd578082015181840152602081019050610ae2565b50505050905090810190601f168015610b2a5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610b63578082015181840152602081019050610b48565b50505050905090810190601f168015610b905780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b158015610bb357600080fd5b505af1158015610bc7573d6000803e3d6000fd5b505050507ffb16a0cb01447521c51cd70864c5a9fa252ff62fcff41f679b24426dc4793e278c338960405180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015610c67578082015181840152602081019050610c4c565b50505050905090810190601f168015610c945780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a16001995050505050505050505092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d8257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610dbe57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663498bff006040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252601c8152602001807f566964656f5265646973747269627574696f6e506f6f6c536861726500000000815250602001915050602060405180830381600087803b158015610f4057600080fd5b505af1158015610f54573d6000803e3d6000fd5b505050506040513d6020811015610f6a57600080fd5b8101908080519060200190929190505050905090565b60008082840290506000841480610fa15750828482811515610f9e57fe5b04145b1515610fa957fe5b8091505092915050565b6000808284811515610fc157fe5b0490508091505092915050565b6000828211151515610fdc57fe5b8183039050929150505600a165627a7a72305820994cadeab28ed89b8edcdcc02faf34422be3baf8f9fbf2956f7f047119d50ab40029", + "deployedBytecode": "0x60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633560d4c51461007f5780637b103999146101465780638da5cb5b1461019d578063aace52fe146101f4578063f2fde38b1461024b575b34801561007957600080fd5b50600080fd5b34801561008b57600080fd5b5061012c600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061028e565b604051808215151515815260200191505060405180910390f35b34801561015257600080fd5b5061015b610cb6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101a957600080fd5b506101b2610cdc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020057600080fd5b50610209610d01565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561025757600080fd5b5061028c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d27565b005b60008060008060608060606000806000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561036057600080fd5b505af1158015610374573d6000803e3d6000fd5b505050506040513d602081101561038a57600080fd5b81019080805190602001909291905050509850600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f566964656f730000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561045f57600080fd5b505af1158015610473573d6000803e3d6000fd5b505050506040513d602081101561048957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663693ec85e8d6040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610521578082015181840152602081019050610506565b50505050905090810190601f16801561054e5780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b15801561056d57600080fd5b505af1158015610581573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060c08110156105ab57600080fd5b81019080805190602001909291908051906020019092919080516401000000008111156105d757600080fd5b828101905060208101848111156105ed57600080fd5b815185600182028301116401000000008211171561060a57600080fd5b5050929190602001805164010000000081111561062657600080fd5b8281019050602081018481111561063c57600080fd5b815185600182028301116401000000008211171561065957600080fd5b5050929190602001805164010000000081111561067557600080fd5b8281019050602081018481111561068b57600080fd5b81518560018202830111640100000000821117156106a857600080fd5b5050929190602001805190602001909291905050509750975097509750975097506106fd670de0b6b3a76400006106ef6106e0610e7c565b8a610f8090919063ffffffff16565b610fb390919063ffffffff16565b91508873ffffffffffffffffffffffffffffffffffffffff166323b872dd338b856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156107d657600080fd5b505af11580156107ea573d6000803e3d6000fd5b505050506040513d602081101561080057600080fd5b8101908080519060200190929190505050506108258288610fce90919063ffffffff16565b90508873ffffffffffffffffffffffffffffffffffffffff166323b872dd338a846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b810190808051906020019092919050505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260058152602001807f53616c6573000000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1580156109fc57600080fd5b505af1158015610a10573d6000803e3d6000fd5b505050506040513d6020811015610a2657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663e8e459e0338e8a8f6040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200184815260200180602001838103835286818151815260200191508051906020019080838360005b83811015610afd578082015181840152602081019050610ae2565b50505050905090810190601f168015610b2a5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610b63578082015181840152602081019050610b48565b50505050905090810190601f168015610b905780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b158015610bb357600080fd5b505af1158015610bc7573d6000803e3d6000fd5b505050507ffb16a0cb01447521c51cd70864c5a9fa252ff62fcff41f679b24426dc4793e278c338960405180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015610c67578082015181840152602081019050610c4c565b50505050905090810190601f168015610c945780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a16001995050505050505050505092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d8257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610dbe57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663498bff006040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252601c8152602001807f566964656f5265646973747269627574696f6e506f6f6c536861726500000000815250602001915050602060405180830381600087803b158015610f4057600080fd5b505af1158015610f54573d6000803e3d6000fd5b505050506040513d6020811015610f6a57600080fd5b8101908080519060200190929190505050905090565b60008082840290506000841480610fa15750828482811515610f9e57fe5b04145b1515610fa957fe5b8091505092915050565b6000808284811515610fc157fe5b0490508091505092915050565b6000828211151515610fdc57fe5b8183039050929150505600a165627a7a72305820994cadeab28ed89b8edcdcc02faf34422be3baf8f9fbf2956f7f047119d50ab40029", + "sourceMap": "360:1633:5:-;;;558:76;8:9:-1;5:2;;;30:1;27;20:12;5:2;558:76:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;502:10:9;494:5;;:18;;;;;;;;;;;;;;;;;;618:9:5;607:8;;:20;;;;;;;;;;;;;;;;;;558:76;360:1633;;;;;;", + "deployedSourceMap": "360:1633:5:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;360:1633:5;738:8;;;1014:781;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1014:781:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;457:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;457:24:5;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:9;;;;;;;;;;;;;;;;;;;;;;;;;;;433:18:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;433:18:5;;;;;;;;;;;;;;;;;;;;;;;;;;;827:169:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;827:169:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;1014:781:5;1080:4;1137:13;1274:5;1281;1288:2;1292:3;1297:2;1301;1368:19;1521:17;1160:8;;;;;;;;;;;:20;;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1160:30:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1160:30:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1160:30:5;;;;;;;;;;;;;;;;1137:54;;1314:8;;;;;;;;;;;:20;;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1314:30:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1314:30:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1314:30:5;;;;;;;;;;;;;;;;1307:42;;;1350:7;1307:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1307:51:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1307:51:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1307:51:5;;;;;;39:16:-1;36:1;17:17;2:54;1307:51:5;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:3;8;5:12;2:2;;;30:1;27;20:12;2:2;1307:51:5;;;;;;;;;;;;;;;;;;;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;338:9;333:1;319:12;315:20;297:16;293:43;290:58;268:11;254:12;251:29;239:118;236:2;;;370:1;367;360:12;236:2;0:382;;1307:51:5;;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;338:9;333:1;319:12;315:20;297:16;293:43;290:58;268:11;254:12;251:29;239:118;236:2;;;370:1;367;360:12;236:2;0:382;;1307:51:5;;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;338:9;333:1;319:12;315:20;297:16;293:43;290:58;268:11;254:12;251:29;239:118;236:2;;;370:1;367;360:12;236:2;0:382;;1307:51:5;;;;;;;;;;;;;;;;;1269:89;;;;;;;;;;;;1390:50;1431:8;1390:36;1400:25;:23;:25::i;:::-;1390:5;:9;;:36;;;;:::i;:::-;:40;;:50;;;;:::i;:::-;1368:72;;1450:6;:19;;;1470:10;1490:6;1499:11;1450:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1450:61:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1450:61:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1450:61:5;;;;;;;;;;;;;;;;;1541:22;1551:11;1541:5;:9;;:22;;;;:::i;:::-;1521:42;;1573:6;:19;;;1593:10;1605:5;1612:9;1573:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1573:49:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1573:49:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1573:49:5;;;;;;;;;;;;;;;;;1638:8;;;;;;;;;;;:20;;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1638:29:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1638:29:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1638:29:5;;;;;;;;;;;;;;;;1632:43;;;1676:10;1688:7;1697:5;1704:8;1632:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1632:81:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1632:81:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1632:81:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1632:81:5;;;;1728:39;1740:7;1749:10;1761:5;1728:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1728:39:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1784:4;1777:11;;1014:781;;;;;;;;;;;;;:::o;457:24::-;;;;;;;;;;;;;:::o;238:20:9:-;;;;;;;;;;;;;:::o;433:18:5:-;;;;;;;;;;;;;:::o;827:169:9:-;647:5;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;923:1;903:22;;:8;:22;;;;895:31;;;;;;;;960:8;932:37;;953:5;;;;;;;;;;;932:37;;;;;;;;;;;;983:8;975:5;;:16;;;;;;;;;;;;;;;;;;827:169;:::o;1801:190:5:-;1862:7;1936:8;;;;;;;;;;;:16;;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1936:48:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1936:48:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1936:48:5;;;;;;;;;;;;;;;;1929:55;;1801:190;:::o;138:147:8:-;200:7;215:9;231:1;227;:5;215:17;;250:1;245;:6;:20;;;;264:1;259;255;:5;;;;;;;;:10;245:20;238:28;;;;;;279:1;272:8;;138:147;;;;;:::o;289:269::-;351:7;440:9;456:1;452;:5;;;;;;;;440:17;;552:1;545:8;;289:269;;;;;:::o;562:114::-;624:7;651:1;646;:6;;639:14;;;;;;670:1;666;:5;659:12;;562:114;;;;:::o", + "source": "pragma solidity ^0.4.18;\n\nimport \"zeppelin-solidity/contracts/math/SafeMath.sol\";\nimport \"./Avatar.sol\";\nimport \"./ParatiiToken.sol\";\nimport \"./Registry.sol\";\nimport \"./Sales.sol\";\nimport \"./Users.sol\";\nimport \"./Videos.sol\";\nimport \"../debug/Debug.sol\";\n\n\n/**\n * @title Store\n * @dev A Contract that wraps the native transfer function and logs an event.\n */\n\ncontract Store is Ownable, Debug {\n\n using SafeMath for uint256;\n\n Sales public sales;\n Registry public registry;\n\n event LogBuyVideo(string _videoId, address _buyer, uint _price);\n\n constructor(Registry _registry) public {\n registry = _registry;\n }\n\n // If someone accidentally sends ether to this contract, revert;\n function () public {\n revert();\n }\n\n /**\n * @dev buyVideo msg.sender buys a video\n * @param videoId the id of the video\n * For the transaction to succeed, the buyer must have approved for the Avatar to transfer\n * the sum to the owner and the redistribution pool.\n */\n function buyVideo(string videoId, string ipfsData) public returns(bool) {\n // get the info about the video\n Avatar avatar = Avatar(registry.getContract(\"Avatar\"));\n /*Videos videos = Videos(registry.getContract(\"Videos\"));*/\n var (owner, price, _3, _4_, _5, _6) = Videos(registry.getContract(\"Videos\")).get(videoId);\n uint256 paratiiPart = price.mul(redistributionPoolShare()).div(10 ** 18);\n avatar.transferFrom(msg.sender, address(avatar), paratiiPart);\n uint256 ownerPart = price.sub(paratiiPart);\n avatar.transferFrom(msg.sender, owner, ownerPart);\n Sales(registry.getContract(\"Sales\")).create(msg.sender, videoId, price, ipfsData);\n emit LogBuyVideo(videoId, msg.sender, price);\n return true;\n }\n\n function redistributionPoolShare() internal constant returns(uint256) {\n // the \"percentage\" in precision 10**18\n return registry.getUint(\"VideoRedistributionPoolShare\");\n }\n}\n", + "sourcePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Store.sol", + "ast": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Store.sol", + "exportedSymbols": { + "Store": [ + 830 + ] + }, + "id": 831, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 676, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:5" + }, + { + "absolutePath": "zeppelin-solidity/contracts/math/SafeMath.sol", + "file": "zeppelin-solidity/contracts/math/SafeMath.sol", + "id": 677, + "nodeType": "ImportDirective", + "scope": 831, + "sourceUnit": 1299, + "src": "26:55:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Avatar.sol", + "file": "./Avatar.sol", + "id": 678, + "nodeType": "ImportDirective", + "scope": 831, + "sourceUnit": 231, + "src": "82:22:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/ParatiiToken.sol", + "file": "./ParatiiToken.sol", + "id": 679, + "nodeType": "ImportDirective", + "scope": 831, + "sourceUnit": 269, + "src": "105:28:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Registry.sol", + "file": "./Registry.sol", + "id": 680, + "nodeType": "ImportDirective", + "scope": 831, + "sourceUnit": 494, + "src": "134:24:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Sales.sol", + "file": "./Sales.sol", + "id": 681, + "nodeType": "ImportDirective", + "scope": 831, + "sourceUnit": 675, + "src": "159:21:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Users.sol", + "file": "./Users.sol", + "id": 682, + "nodeType": "ImportDirective", + "scope": 831, + "sourceUnit": 974, + "src": "181:21:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Videos.sol", + "file": "./Videos.sol", + "id": 683, + "nodeType": "ImportDirective", + "scope": 831, + "sourceUnit": 1204, + "src": "203:22:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/debug/Debug.sol", + "file": "../debug/Debug.sol", + "id": 684, + "nodeType": "ImportDirective", + "scope": 831, + "sourceUnit": 31, + "src": "226:28:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 685, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1354, + "src": "378:7:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$1354", + "typeString": "contract Ownable" + } + }, + "id": 686, + "nodeType": "InheritanceSpecifier", + "src": "378:7:5" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 687, + "name": "Debug", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 30, + "src": "387:5:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Debug_$30", + "typeString": "contract Debug" + } + }, + "id": 688, + "nodeType": "InheritanceSpecifier", + "src": "387:5:5" + } + ], + "contractDependencies": [ + 30, + 1354 + ], + "contractKind": "contract", + "documentation": "@title Store\n@dev A Contract that wraps the native transfer function and logs an event.", + "fullyImplemented": true, + "id": 830, + "linearizedBaseContracts": [ + 830, + 30, + 1354 + ], + "name": "Store", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 691, + "libraryName": { + "contractScope": null, + "id": 689, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1298, + "src": "406:8:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$1298", + "typeString": "library SafeMath" + } + }, + "nodeType": "UsingForDirective", + "src": "400:27:5", + "typeName": { + "id": 690, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "419:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 693, + "name": "sales", + "nodeType": "VariableDeclaration", + "scope": 830, + "src": "433:18:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Sales_$674", + "typeString": "contract Sales" + }, + "typeName": { + "contractScope": null, + "id": 692, + "name": "Sales", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 674, + "src": "433:5:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Sales_$674", + "typeString": "contract Sales" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 695, + "name": "registry", + "nodeType": "VariableDeclaration", + "scope": 830, + "src": "457:24:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 694, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 493, + "src": "457:8:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 703, + "name": "LogBuyVideo", + "nodeType": "EventDefinition", + "parameters": { + "id": 702, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 697, + "indexed": false, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 703, + "src": "506:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 696, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "506:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 699, + "indexed": false, + "name": "_buyer", + "nodeType": "VariableDeclaration", + "scope": 703, + "src": "523:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 698, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "523:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 701, + "indexed": false, + "name": "_price", + "nodeType": "VariableDeclaration", + "scope": 703, + "src": "539:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 700, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "539:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "505:46:5" + }, + "src": "488:64:5" + }, + { + "body": { + "id": 712, + "nodeType": "Block", + "src": "597:37:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 708, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 695, + "src": "607:8:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 709, + "name": "_registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 705, + "src": "618:9:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "src": "607:20:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "id": 711, + "nodeType": "ExpressionStatement", + "src": "607:20:5" + } + ] + }, + "documentation": null, + "id": 713, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 706, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 705, + "name": "_registry", + "nodeType": "VariableDeclaration", + "scope": 713, + "src": "570:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 704, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 493, + "src": "570:8:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "569:20:5" + }, + "payable": false, + "returnParameters": { + "id": 707, + "nodeType": "ParameterList", + "parameters": [], + "src": "597:0:5" + }, + "scope": 830, + "src": "558:76:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 719, + "nodeType": "Block", + "src": "728:25:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 716, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1754, + 1755 + ], + "referencedDeclaration": 1754, + "src": "738:6:5", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "738:8:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 718, + "nodeType": "ExpressionStatement", + "src": "738:8:5" + } + ] + }, + "documentation": null, + "id": 720, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 714, + "nodeType": "ParameterList", + "parameters": [], + "src": "718:2:5" + }, + "payable": false, + "returnParameters": { + "id": 715, + "nodeType": "ParameterList", + "parameters": [], + "src": "728:0:5" + }, + "scope": 830, + "src": "709:44:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 817, + "nodeType": "Block", + "src": "1087:708:5", + "statements": [ + { + "assignments": [ + 730 + ], + "declarations": [ + { + "constant": false, + "id": 730, + "name": "avatar", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "1137:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Avatar_$230", + "typeString": "contract Avatar" + }, + "typeName": { + "contractScope": null, + "id": 729, + "name": "Avatar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 230, + "src": "1137:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Avatar_$230", + "typeString": "contract Avatar" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 737, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "417661746172", + "id": 734, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1181:8:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_29a36bb22f3c260ddca59a40dffde48863da1d6fba3d1f55dedde5c8e1942577", + "typeString": "literal_string \"Avatar\"" + }, + "value": "Avatar" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_29a36bb22f3c260ddca59a40dffde48863da1d6fba3d1f55dedde5c8e1942577", + "typeString": "literal_string \"Avatar\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 732, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 695, + "src": "1160:8:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "id": 733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 380, + "src": "1160:20:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory) view external returns (address)" + } + }, + "id": 735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1160:30:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 731, + "name": "Avatar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 230, + "src": "1153:6:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Avatar_$230_$", + "typeString": "type(contract Avatar)" + } + }, + "id": 736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1153:38:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Avatar_$230", + "typeString": "contract Avatar" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1137:54:5" + }, + { + "assignments": [ + 738, + 739, + 740, + 741, + 742, + 743 + ], + "declarations": [ + { + "constant": false, + "id": 738, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "1274:5:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": null, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 739, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "1281:5:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": null, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 740, + "name": "_3", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "1288:2:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": null, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 741, + "name": "_4_", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "1292:3:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": null, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 742, + "name": "_5", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "1297:2:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": null, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 743, + "name": "_6", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "1301:2:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": null, + "value": null, + "visibility": "internal" + } + ], + "id": 753, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 751, + "name": "videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 722, + "src": "1350:7:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "566964656f73", + "id": 747, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1335:8:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ed4194c3d3576d84bc54d69a2c6f144769eb2c84e2a06099db4e77e6baf2b598", + "typeString": "literal_string \"Videos\"" + }, + "value": "Videos" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ed4194c3d3576d84bc54d69a2c6f144769eb2c84e2a06099db4e77e6baf2b598", + "typeString": "literal_string \"Videos\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 745, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 695, + "src": "1314:8:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "id": 746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 380, + "src": "1314:20:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory) view external returns (address)" + } + }, + "id": 748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1314:30:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 744, + "name": "Videos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1203, + "src": "1307:6:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Videos_$1203_$", + "typeString": "type(contract Videos)" + } + }, + "id": 749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1307:38:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Videos_$1203", + "typeString": "contract Videos" + } + }, + "id": 750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "get", + "nodeType": "MemberAccess", + "referencedDeclaration": 1202, + "src": "1307:42:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$", + "typeString": "function (string memory) view external returns (address,uint256,string memory,string memory,string memory,address)" + } + }, + "id": 752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1307:51:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$", + "typeString": "tuple(address,uint256,string memory,string memory,string memory,address)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1269:89:5" + }, + { + "assignments": [ + 755 + ], + "declarations": [ + { + "constant": false, + "id": 755, + "name": "paratiiPart", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "1368:19:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 754, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1368:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 766, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_1000000000000000000_by_1", + "typeString": "int_const 1000000000000000000" + }, + "id": 764, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3130", + "id": 762, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1431:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3138", + "id": 763, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1437:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + }, + "src": "1431:8:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000000000000_by_1", + "typeString": "int_const 1000000000000000000" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1000000000000000000_by_1", + "typeString": "int_const 1000000000000000000" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 758, + "name": "redistributionPoolShare", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 829, + "src": "1400:23:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1400:25:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 756, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 739, + "src": "1390:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 1235, + "src": "1390:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) view returns (uint256)" + } + }, + "id": 760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1390:36:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 1253, + "src": "1390:40:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) view returns (uint256)" + } + }, + "id": 765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1390:50:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1368:72:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 770, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "1470:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1470:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 773, + "name": "avatar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 730, + "src": "1490:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Avatar_$230", + "typeString": "contract Avatar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$230", + "typeString": "contract Avatar" + } + ], + "id": 772, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1482:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1482:15:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 775, + "name": "paratiiPart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 755, + "src": "1499:11:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 767, + "name": "avatar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 730, + "src": "1450:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Avatar_$230", + "typeString": "contract Avatar" + } + }, + "id": 769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 229, + "src": "1450:19:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1450:61:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 777, + "nodeType": "ExpressionStatement", + "src": "1450:61:5" + }, + { + "assignments": [ + 779 + ], + "declarations": [ + { + "constant": false, + "id": 779, + "name": "ownerPart", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "1521:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 778, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1521:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 784, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 782, + "name": "paratiiPart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 755, + "src": "1551:11:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 780, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 739, + "src": "1541:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 1273, + "src": "1541:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) view returns (uint256)" + } + }, + "id": 783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1541:22:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1521:42:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 788, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "1593:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 789, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1593:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 790, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 738, + "src": "1605:5:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 791, + "name": "ownerPart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 779, + "src": "1612:9:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 785, + "name": "avatar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 730, + "src": "1573:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Avatar_$230", + "typeString": "contract Avatar" + } + }, + "id": 787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 229, + "src": "1573:19:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1573:49:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 793, + "nodeType": "ExpressionStatement", + "src": "1573:49:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 801, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "1676:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1676:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 803, + "name": "videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 722, + "src": "1688:7:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 804, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 739, + "src": "1697:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 805, + "name": "ipfsData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 724, + "src": "1704:8:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "53616c6573", + "id": 797, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1659:7:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9fb5e9aeb2c8d6aa28d534c68969570c65173eca6ace3f0748a830d3b58d1253", + "typeString": "literal_string \"Sales\"" + }, + "value": "Sales" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9fb5e9aeb2c8d6aa28d534c68969570c65173eca6ace3f0748a830d3b58d1253", + "typeString": "literal_string \"Sales\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 795, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 695, + "src": "1638:8:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "id": 796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 380, + "src": "1638:20:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory) view external returns (address)" + } + }, + "id": 798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1638:29:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 794, + "name": "Sales", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "1632:5:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Sales_$674_$", + "typeString": "type(contract Sales)" + } + }, + "id": 799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1632:36:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Sales_$674", + "typeString": "contract Sales" + } + }, + "id": 800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "create", + "nodeType": "MemberAccess", + "referencedDeclaration": 602, + "src": "1632:43:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,string memory,uint256,string memory) external" + } + }, + "id": 806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1632:81:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 807, + "nodeType": "ExpressionStatement", + "src": "1632:81:5" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 809, + "name": "videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 722, + "src": "1740:7:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 810, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "1749:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1749:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 812, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 739, + "src": "1761:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 808, + "name": "LogBuyVideo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 703, + "src": "1728:11:5", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (string memory,address,uint256)" + } + }, + "id": 813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1728:39:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 814, + "nodeType": "EmitStatement", + "src": "1723:44:5" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 815, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1784:4:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 728, + "id": 816, + "nodeType": "Return", + "src": "1777:11:5" + } + ] + }, + "documentation": "@dev buyVideo msg.sender buys a video\n@param videoId the id of the video\nFor the transaction to succeed, the buyer must have approved for the Avatar to transfer\nthe sum to the owner and the redistribution pool.", + "id": 818, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "buyVideo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 725, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 722, + "name": "videoId", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "1032:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 721, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1032:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 724, + "name": "ipfsData", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "1048:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 723, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1048:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1031:33:5" + }, + "payable": false, + "returnParameters": { + "id": 728, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 727, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "1080:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 726, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1080:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1079:6:5" + }, + "scope": 830, + "src": "1014:781:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 828, + "nodeType": "Block", + "src": "1871:120:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "566964656f5265646973747269627574696f6e506f6f6c5368617265", + "id": 825, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1953:30:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3c910653081477075993249719a0455a01128c4f6e3381bd692d78afd4bbdac3", + "typeString": "literal_string \"VideoRedistributionPoolShare\"" + }, + "value": "VideoRedistributionPoolShare" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3c910653081477075993249719a0455a01128c4f6e3381bd692d78afd4bbdac3", + "typeString": "literal_string \"VideoRedistributionPoolShare\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 823, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 695, + "src": "1936:8:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "id": 824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 436, + "src": "1936:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view external returns (uint256)" + } + }, + "id": 826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1936:48:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 822, + "id": 827, + "nodeType": "Return", + "src": "1929:55:5" + } + ] + }, + "documentation": null, + "id": 829, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "redistributionPoolShare", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 819, + "nodeType": "ParameterList", + "parameters": [], + "src": "1833:2:5" + }, + "payable": false, + "returnParameters": { + "id": 822, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 821, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 829, + "src": "1862:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 820, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1862:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1861:9:5" + }, + "scope": 830, + "src": "1801:190:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 831, + "src": "360:1633:5" + } + ], + "src": "0:1994:5" + }, + "legacyAST": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Store.sol", + "exportedSymbols": { + "Store": [ + 830 + ] + }, + "id": 831, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 676, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:5" + }, + { + "absolutePath": "zeppelin-solidity/contracts/math/SafeMath.sol", + "file": "zeppelin-solidity/contracts/math/SafeMath.sol", + "id": 677, + "nodeType": "ImportDirective", + "scope": 831, + "sourceUnit": 1299, + "src": "26:55:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Avatar.sol", + "file": "./Avatar.sol", + "id": 678, + "nodeType": "ImportDirective", + "scope": 831, + "sourceUnit": 231, + "src": "82:22:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/ParatiiToken.sol", + "file": "./ParatiiToken.sol", + "id": 679, + "nodeType": "ImportDirective", + "scope": 831, + "sourceUnit": 269, + "src": "105:28:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Registry.sol", + "file": "./Registry.sol", + "id": 680, + "nodeType": "ImportDirective", + "scope": 831, + "sourceUnit": 494, + "src": "134:24:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Sales.sol", + "file": "./Sales.sol", + "id": 681, + "nodeType": "ImportDirective", + "scope": 831, + "sourceUnit": 675, + "src": "159:21:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Users.sol", + "file": "./Users.sol", + "id": 682, + "nodeType": "ImportDirective", + "scope": 831, + "sourceUnit": 974, + "src": "181:21:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Videos.sol", + "file": "./Videos.sol", + "id": 683, + "nodeType": "ImportDirective", + "scope": 831, + "sourceUnit": 1204, + "src": "203:22:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/debug/Debug.sol", + "file": "../debug/Debug.sol", + "id": 684, + "nodeType": "ImportDirective", + "scope": 831, + "sourceUnit": 31, + "src": "226:28:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 685, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1354, + "src": "378:7:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$1354", + "typeString": "contract Ownable" + } + }, + "id": 686, + "nodeType": "InheritanceSpecifier", + "src": "378:7:5" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 687, + "name": "Debug", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 30, + "src": "387:5:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Debug_$30", + "typeString": "contract Debug" + } + }, + "id": 688, + "nodeType": "InheritanceSpecifier", + "src": "387:5:5" + } + ], + "contractDependencies": [ + 30, + 1354 + ], + "contractKind": "contract", + "documentation": "@title Store\n@dev A Contract that wraps the native transfer function and logs an event.", + "fullyImplemented": true, + "id": 830, + "linearizedBaseContracts": [ + 830, + 30, + 1354 + ], + "name": "Store", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 691, + "libraryName": { + "contractScope": null, + "id": 689, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1298, + "src": "406:8:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$1298", + "typeString": "library SafeMath" + } + }, + "nodeType": "UsingForDirective", + "src": "400:27:5", + "typeName": { + "id": 690, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "419:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 693, + "name": "sales", + "nodeType": "VariableDeclaration", + "scope": 830, + "src": "433:18:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Sales_$674", + "typeString": "contract Sales" + }, + "typeName": { + "contractScope": null, + "id": 692, + "name": "Sales", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 674, + "src": "433:5:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Sales_$674", + "typeString": "contract Sales" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 695, + "name": "registry", + "nodeType": "VariableDeclaration", + "scope": 830, + "src": "457:24:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 694, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 493, + "src": "457:8:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 703, + "name": "LogBuyVideo", + "nodeType": "EventDefinition", + "parameters": { + "id": 702, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 697, + "indexed": false, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 703, + "src": "506:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 696, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "506:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 699, + "indexed": false, + "name": "_buyer", + "nodeType": "VariableDeclaration", + "scope": 703, + "src": "523:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 698, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "523:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 701, + "indexed": false, + "name": "_price", + "nodeType": "VariableDeclaration", + "scope": 703, + "src": "539:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 700, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "539:4:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "505:46:5" + }, + "src": "488:64:5" + }, + { + "body": { + "id": 712, + "nodeType": "Block", + "src": "597:37:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 708, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 695, + "src": "607:8:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 709, + "name": "_registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 705, + "src": "618:9:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "src": "607:20:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "id": 711, + "nodeType": "ExpressionStatement", + "src": "607:20:5" + } + ] + }, + "documentation": null, + "id": 713, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 706, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 705, + "name": "_registry", + "nodeType": "VariableDeclaration", + "scope": 713, + "src": "570:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 704, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 493, + "src": "570:8:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "569:20:5" + }, + "payable": false, + "returnParameters": { + "id": 707, + "nodeType": "ParameterList", + "parameters": [], + "src": "597:0:5" + }, + "scope": 830, + "src": "558:76:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 719, + "nodeType": "Block", + "src": "728:25:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 716, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1754, + 1755 + ], + "referencedDeclaration": 1754, + "src": "738:6:5", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "738:8:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 718, + "nodeType": "ExpressionStatement", + "src": "738:8:5" + } + ] + }, + "documentation": null, + "id": 720, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 714, + "nodeType": "ParameterList", + "parameters": [], + "src": "718:2:5" + }, + "payable": false, + "returnParameters": { + "id": 715, + "nodeType": "ParameterList", + "parameters": [], + "src": "728:0:5" + }, + "scope": 830, + "src": "709:44:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 817, + "nodeType": "Block", + "src": "1087:708:5", + "statements": [ + { + "assignments": [ + 730 + ], + "declarations": [ + { + "constant": false, + "id": 730, + "name": "avatar", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "1137:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Avatar_$230", + "typeString": "contract Avatar" + }, + "typeName": { + "contractScope": null, + "id": 729, + "name": "Avatar", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 230, + "src": "1137:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Avatar_$230", + "typeString": "contract Avatar" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 737, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "417661746172", + "id": 734, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1181:8:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_29a36bb22f3c260ddca59a40dffde48863da1d6fba3d1f55dedde5c8e1942577", + "typeString": "literal_string \"Avatar\"" + }, + "value": "Avatar" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_29a36bb22f3c260ddca59a40dffde48863da1d6fba3d1f55dedde5c8e1942577", + "typeString": "literal_string \"Avatar\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 732, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 695, + "src": "1160:8:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "id": 733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 380, + "src": "1160:20:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory) view external returns (address)" + } + }, + "id": 735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1160:30:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 731, + "name": "Avatar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 230, + "src": "1153:6:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Avatar_$230_$", + "typeString": "type(contract Avatar)" + } + }, + "id": 736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1153:38:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Avatar_$230", + "typeString": "contract Avatar" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1137:54:5" + }, + { + "assignments": [ + 738, + 739, + 740, + 741, + 742, + 743 + ], + "declarations": [ + { + "constant": false, + "id": 738, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "1274:5:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": null, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 739, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "1281:5:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": null, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 740, + "name": "_3", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "1288:2:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": null, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 741, + "name": "_4_", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "1292:3:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": null, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 742, + "name": "_5", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "1297:2:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": null, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 743, + "name": "_6", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "1301:2:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": null, + "value": null, + "visibility": "internal" + } + ], + "id": 753, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 751, + "name": "videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 722, + "src": "1350:7:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "566964656f73", + "id": 747, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1335:8:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ed4194c3d3576d84bc54d69a2c6f144769eb2c84e2a06099db4e77e6baf2b598", + "typeString": "literal_string \"Videos\"" + }, + "value": "Videos" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ed4194c3d3576d84bc54d69a2c6f144769eb2c84e2a06099db4e77e6baf2b598", + "typeString": "literal_string \"Videos\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 745, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 695, + "src": "1314:8:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "id": 746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 380, + "src": "1314:20:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory) view external returns (address)" + } + }, + "id": 748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1314:30:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 744, + "name": "Videos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1203, + "src": "1307:6:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Videos_$1203_$", + "typeString": "type(contract Videos)" + } + }, + "id": 749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1307:38:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Videos_$1203", + "typeString": "contract Videos" + } + }, + "id": 750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "get", + "nodeType": "MemberAccess", + "referencedDeclaration": 1202, + "src": "1307:42:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$", + "typeString": "function (string memory) view external returns (address,uint256,string memory,string memory,string memory,address)" + } + }, + "id": 752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1307:51:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$", + "typeString": "tuple(address,uint256,string memory,string memory,string memory,address)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1269:89:5" + }, + { + "assignments": [ + 755 + ], + "declarations": [ + { + "constant": false, + "id": 755, + "name": "paratiiPart", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "1368:19:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 754, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1368:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 766, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_1000000000000000000_by_1", + "typeString": "int_const 1000000000000000000" + }, + "id": 764, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3130", + "id": 762, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1431:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3138", + "id": 763, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1437:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + }, + "src": "1431:8:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000000000000_by_1", + "typeString": "int_const 1000000000000000000" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1000000000000000000_by_1", + "typeString": "int_const 1000000000000000000" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 758, + "name": "redistributionPoolShare", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 829, + "src": "1400:23:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1400:25:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 756, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 739, + "src": "1390:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 1235, + "src": "1390:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) view returns (uint256)" + } + }, + "id": 760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1390:36:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 1253, + "src": "1390:40:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) view returns (uint256)" + } + }, + "id": 765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1390:50:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1368:72:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 770, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "1470:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1470:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 773, + "name": "avatar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 730, + "src": "1490:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Avatar_$230", + "typeString": "contract Avatar" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$230", + "typeString": "contract Avatar" + } + ], + "id": 772, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1482:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1482:15:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 775, + "name": "paratiiPart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 755, + "src": "1499:11:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 767, + "name": "avatar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 730, + "src": "1450:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Avatar_$230", + "typeString": "contract Avatar" + } + }, + "id": 769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 229, + "src": "1450:19:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1450:61:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 777, + "nodeType": "ExpressionStatement", + "src": "1450:61:5" + }, + { + "assignments": [ + 779 + ], + "declarations": [ + { + "constant": false, + "id": 779, + "name": "ownerPart", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "1521:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 778, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1521:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 784, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 782, + "name": "paratiiPart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 755, + "src": "1551:11:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 780, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 739, + "src": "1541:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 1273, + "src": "1541:9:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) view returns (uint256)" + } + }, + "id": 783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1541:22:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1521:42:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 788, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "1593:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 789, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1593:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 790, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 738, + "src": "1605:5:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 791, + "name": "ownerPart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 779, + "src": "1612:9:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 785, + "name": "avatar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 730, + "src": "1573:6:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Avatar_$230", + "typeString": "contract Avatar" + } + }, + "id": 787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 229, + "src": "1573:19:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1573:49:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 793, + "nodeType": "ExpressionStatement", + "src": "1573:49:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 801, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "1676:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1676:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 803, + "name": "videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 722, + "src": "1688:7:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 804, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 739, + "src": "1697:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 805, + "name": "ipfsData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 724, + "src": "1704:8:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "53616c6573", + "id": 797, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1659:7:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9fb5e9aeb2c8d6aa28d534c68969570c65173eca6ace3f0748a830d3b58d1253", + "typeString": "literal_string \"Sales\"" + }, + "value": "Sales" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9fb5e9aeb2c8d6aa28d534c68969570c65173eca6ace3f0748a830d3b58d1253", + "typeString": "literal_string \"Sales\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 795, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 695, + "src": "1638:8:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "id": 796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 380, + "src": "1638:20:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory) view external returns (address)" + } + }, + "id": 798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1638:29:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 794, + "name": "Sales", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "1632:5:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Sales_$674_$", + "typeString": "type(contract Sales)" + } + }, + "id": 799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1632:36:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Sales_$674", + "typeString": "contract Sales" + } + }, + "id": 800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "create", + "nodeType": "MemberAccess", + "referencedDeclaration": 602, + "src": "1632:43:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,string memory,uint256,string memory) external" + } + }, + "id": 806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1632:81:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 807, + "nodeType": "ExpressionStatement", + "src": "1632:81:5" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 809, + "name": "videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 722, + "src": "1740:7:5", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 810, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "1749:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1749:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 812, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 739, + "src": "1761:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 808, + "name": "LogBuyVideo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 703, + "src": "1728:11:5", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (string memory,address,uint256)" + } + }, + "id": 813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1728:39:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 814, + "nodeType": "EmitStatement", + "src": "1723:44:5" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 815, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1784:4:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 728, + "id": 816, + "nodeType": "Return", + "src": "1777:11:5" + } + ] + }, + "documentation": "@dev buyVideo msg.sender buys a video\n@param videoId the id of the video\nFor the transaction to succeed, the buyer must have approved for the Avatar to transfer\nthe sum to the owner and the redistribution pool.", + "id": 818, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "buyVideo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 725, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 722, + "name": "videoId", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "1032:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 721, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1032:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 724, + "name": "ipfsData", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "1048:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 723, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1048:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1031:33:5" + }, + "payable": false, + "returnParameters": { + "id": 728, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 727, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "1080:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 726, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1080:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1079:6:5" + }, + "scope": 830, + "src": "1014:781:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 828, + "nodeType": "Block", + "src": "1871:120:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "566964656f5265646973747269627574696f6e506f6f6c5368617265", + "id": 825, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1953:30:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3c910653081477075993249719a0455a01128c4f6e3381bd692d78afd4bbdac3", + "typeString": "literal_string \"VideoRedistributionPoolShare\"" + }, + "value": "VideoRedistributionPoolShare" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3c910653081477075993249719a0455a01128c4f6e3381bd692d78afd4bbdac3", + "typeString": "literal_string \"VideoRedistributionPoolShare\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 823, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 695, + "src": "1936:8:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "id": 824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getUint", + "nodeType": "MemberAccess", + "referencedDeclaration": 436, + "src": "1936:16:5", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory) view external returns (uint256)" + } + }, + "id": 826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1936:48:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 822, + "id": 827, + "nodeType": "Return", + "src": "1929:55:5" + } + ] + }, + "documentation": null, + "id": 829, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "redistributionPoolShare", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 819, + "nodeType": "ParameterList", + "parameters": [], + "src": "1833:2:5" + }, + "payable": false, + "returnParameters": { + "id": 822, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 821, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 829, + "src": "1862:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 820, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1862:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1861:9:5" + }, + "scope": 830, + "src": "1801:190:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 831, + "src": "360:1633:5" + } + ], + "src": "0:1994:5" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-29T16:30:42.893Z" +} \ No newline at end of file diff --git a/build/contracts/TcrPlaceholder.json b/build/contracts/TcrPlaceholder.json index dce528e..642b6d5 100644 --- a/build/contracts/TcrPlaceholder.json +++ b/build/contracts/TcrPlaceholder.json @@ -1 +1,9940 @@ -{"contractName":"TcrPlaceholder","abi":[{"constant":true,"inputs":[],"name":"minDeposit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"registry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"applyStageLen","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"listings","outputs":[{"name":"applicationExpiry","type":"uint256"},{"name":"whitelisted","type":"bool"},{"name":"owner","type":"address"},{"name":"unstakedDeposit","type":"uint256"},{"name":"challengeID","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_registry","type":"address"},{"name":"_tokenAddr","type":"address"},{"name":"_minDeposit","type":"uint256"},{"name":"_applyStageLen","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"videoId","type":"string"},{"indexed":false,"name":"deposit","type":"uint256"}],"name":"_Application","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"videoId","type":"string"}],"name":"_NewVideoWhitelisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_videoId","type":"string"},{"name":"_amount","type":"uint256"}],"name":"apply","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"deposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_videoId","type":"string"}],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_videoId","type":"string"}],"name":"removeListing","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_videoId","type":"string"}],"name":"updateStatus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_videoId","type":"string"}],"name":"isWhitelisted","outputs":[{"name":"whitelisted","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_videoId","type":"string"}],"name":"appWasMade","outputs":[{"name":"exists","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_termDate","type":"uint256"}],"name":"isExpired","outputs":[{"name":"expired","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getMinDeposit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_videoId","type":"string"}],"name":"canBeWhitelisted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b6040516080806113dc83398101604052808051906020019091908051906020019091908051906020019091908051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816003819055508060048190555050505050611273806101696000396000f3006060604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630eaad3f1146101015780630f53ba511461012a5780632c2159981461019f5780632e1a7d4d146101fc57806341b3d1851461021f5780635149606e146102485780637b103999146102a55780637f073360146102fa5780638da5cb5b14610323578063b48eea4414610378578063b6b55f25146103ed578063bfa535c714610410578063c18b8db414610447578063c53c614d146104ce578063d9548e5314610543578063e7fb53881461057e578063f2fde38b146105ac578063fc0c546a146105e5575b600080fd5b341561010c57600080fd5b61011461063a565b6040518082815260200191505060405180910390f35b341561013557600080fd5b610185600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610644565b604051808215151515815260200191505060405180910390f35b34156101aa57600080fd5b6101fa600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506106d0565b005b341561020757600080fd5b61021d6004808035906020019091905050610790565b005b341561022a57600080fd5b610232610793565b6040518082815260200191505060405180910390f35b341561025357600080fd5b6102a3600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610799565b005b34156102b057600080fd5b6102b8610800565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561030557600080fd5b61030d610826565b6040518082815260200191505060405180910390f35b341561032e57600080fd5b61033661082c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561038357600080fd5b6103d3600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610851565b604051808215151515815260200191505060405180910390f35b34156103f857600080fd5b61040e60048080359060200190919050506108e8565b005b341561041b57600080fd5b610445600480803590602001908201803590602001919091929080359060200190919050506108eb565b005b341561045257600080fd5b61046c600480803560001916906020019091905050610bbb565b60405180868152602001851515151581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019550505050505060405180910390f35b34156104d957600080fd5b610529600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610c1e565b604051808215151515815260200191505060405180910390f35b341561054e57600080fd5b6105646004808035906020019091905050610ce9565b604051808215151515815260200191505060405180910390f35b341561058957600080fd5b6105aa60048080359060200190820180359060200191909192905050610cf5565b005b34156105b757600080fd5b6105e3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e14565b005b34156105f057600080fd5b6105f8610f69565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000600354905090565b60008060016000846040518082805190602001908083835b602083101515610681578051825260208201915060208101905060208303925061065c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060000154119050919050565b6106d981610c1e565b15610788576106e781610f8f565b7fc92324d3d33d8a562daa770a1055b75689efa4374d7c65f0a9b2f6b9f090d796816040518080602001828103825283818151815260200191508051906020019080838360005b8381101561074957808201518184015260208101905061072e565b50505050905090810190601f1680156107765780820380516001836020036101000a031916815260200191505b509250505060405180910390a161078d565b600080fd5b50565b50565b60035481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156107f457600080fd5b6107fd81611030565b50565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060016000836040518082805190602001908083835b60208310151561088d5780518252602082019150602081019050602083039250610868565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060010160009054906101000a900460ff169050919050565b50565b600061092884848080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050610851565b15151561093457600080fd5b61096f84848080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050610644565b15151561097b57600080fd5b600354821015151561098c57600080fd5b600160008585604051808383808284378201915050925050506040518091039020600019166000191681526020019081526020016000209050338160010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1515610b2457600080fd5b5af11515610b3157600080fd5b505050604051805190501515610b4657600080fd5b600454430181600001819055508181600201819055507f8679b3793e06c33189be2319d77a55df6769e3b9061611d27f1809b3d56d2e6884848460405180806020018381526020018281038252858582818152602001925080828437820191505094505050505060405180910390a150505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154905085565b600080826040518082805190602001908083835b602083101515610c575780518252602082019150602081019050602083039250610c32565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050610c8f83610644565b8015610cbe5750610cbd60016000836000191660001916815260200190815260200160002060000154610ce9565b5b8015610cd05750610cce83610851565b155b15610cde5760019150610ce3565b600091505b50919050565b60004382109050919050565b60006001600084846040518083838082843782019150509250505060405180910390206000191660001916815260200190815260200160002090508060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d8e57600080fd5b610dc983838080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050610851565b1515610dd457600080fd5b610e0f83838080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050611030565b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e6f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610eab57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000816040518082805190602001908083835b602083101515610fc75780518252602082019150602081019050602083039250610fa2565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506001806000836000191660001916815260200190815260200160002060010160006101000a81548160ff0219169083151502179055505050565b600080826040518082805190602001908083835b6020831015156110695780518252602082019150602081019050602083039250611044565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090506000816002015411156111d157600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600201546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156111ae57600080fd5b5af115156111bb57600080fd5b5050506040518051905015156111d057600080fd5b5b6001600083600019166000191681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690556001820160016101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160009055600382016000905550505050505600a165627a7a72305820bfdef24f80cdcb4a7ba847a6ec3136d88712531e8c0f63d9af7b904a6aacc5a90029","deployedBytecode":"0x6060604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630eaad3f1146101015780630f53ba511461012a5780632c2159981461019f5780632e1a7d4d146101fc57806341b3d1851461021f5780635149606e146102485780637b103999146102a55780637f073360146102fa5780638da5cb5b14610323578063b48eea4414610378578063b6b55f25146103ed578063bfa535c714610410578063c18b8db414610447578063c53c614d146104ce578063d9548e5314610543578063e7fb53881461057e578063f2fde38b146105ac578063fc0c546a146105e5575b600080fd5b341561010c57600080fd5b61011461063a565b6040518082815260200191505060405180910390f35b341561013557600080fd5b610185600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610644565b604051808215151515815260200191505060405180910390f35b34156101aa57600080fd5b6101fa600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506106d0565b005b341561020757600080fd5b61021d6004808035906020019091905050610790565b005b341561022a57600080fd5b610232610793565b6040518082815260200191505060405180910390f35b341561025357600080fd5b6102a3600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610799565b005b34156102b057600080fd5b6102b8610800565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561030557600080fd5b61030d610826565b6040518082815260200191505060405180910390f35b341561032e57600080fd5b61033661082c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561038357600080fd5b6103d3600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610851565b604051808215151515815260200191505060405180910390f35b34156103f857600080fd5b61040e60048080359060200190919050506108e8565b005b341561041b57600080fd5b610445600480803590602001908201803590602001919091929080359060200190919050506108eb565b005b341561045257600080fd5b61046c600480803560001916906020019091905050610bbb565b60405180868152602001851515151581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019550505050505060405180910390f35b34156104d957600080fd5b610529600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610c1e565b604051808215151515815260200191505060405180910390f35b341561054e57600080fd5b6105646004808035906020019091905050610ce9565b604051808215151515815260200191505060405180910390f35b341561058957600080fd5b6105aa60048080359060200190820180359060200191909192905050610cf5565b005b34156105b757600080fd5b6105e3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e14565b005b34156105f057600080fd5b6105f8610f69565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000600354905090565b60008060016000846040518082805190602001908083835b602083101515610681578051825260208201915060208101905060208303925061065c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060000154119050919050565b6106d981610c1e565b15610788576106e781610f8f565b7fc92324d3d33d8a562daa770a1055b75689efa4374d7c65f0a9b2f6b9f090d796816040518080602001828103825283818151815260200191508051906020019080838360005b8381101561074957808201518184015260208101905061072e565b50505050905090810190601f1680156107765780820380516001836020036101000a031916815260200191505b509250505060405180910390a161078d565b600080fd5b50565b50565b60035481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156107f457600080fd5b6107fd81611030565b50565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060016000836040518082805190602001908083835b60208310151561088d5780518252602082019150602081019050602083039250610868565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060010160009054906101000a900460ff169050919050565b50565b600061092884848080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050610851565b15151561093457600080fd5b61096f84848080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050610644565b15151561097b57600080fd5b600354821015151561098c57600080fd5b600160008585604051808383808284378201915050925050506040518091039020600019166000191681526020019081526020016000209050338160010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1515610b2457600080fd5b5af11515610b3157600080fd5b505050604051805190501515610b4657600080fd5b600454430181600001819055508181600201819055507f8679b3793e06c33189be2319d77a55df6769e3b9061611d27f1809b3d56d2e6884848460405180806020018381526020018281038252858582818152602001925080828437820191505094505050505060405180910390a150505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154905085565b600080826040518082805190602001908083835b602083101515610c575780518252602082019150602081019050602083039250610c32565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050610c8f83610644565b8015610cbe5750610cbd60016000836000191660001916815260200190815260200160002060000154610ce9565b5b8015610cd05750610cce83610851565b155b15610cde5760019150610ce3565b600091505b50919050565b60004382109050919050565b60006001600084846040518083838082843782019150509250505060405180910390206000191660001916815260200190815260200160002090508060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d8e57600080fd5b610dc983838080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050610851565b1515610dd457600080fd5b610e0f83838080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050611030565b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e6f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610eab57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000816040518082805190602001908083835b602083101515610fc75780518252602082019150602081019050602083039250610fa2565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506001806000836000191660001916815260200190815260200160002060010160006101000a81548160ff0219169083151502179055505050565b600080826040518082805190602001908083835b6020831015156110695780518252602082019150602081019050602083039250611044565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090506000816002015411156111d157600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600201546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156111ae57600080fd5b5af115156111bb57600080fd5b5050506040518051905015156111d057600080fd5b5b6001600083600019166000191681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690556001820160016101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160009055600382016000905550505050505600a165627a7a72305820bfdef24f80cdcb4a7ba847a6ec3136d88712531e8c0f63d9af7b904a6aacc5a90029"} \ No newline at end of file +{ + "contractName": "TcrPlaceholder", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "minDeposit", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "registry", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "applyStageLen", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "listings", + "outputs": [ + { + "name": "applicationExpiry", + "type": "uint256" + }, + { + "name": "whitelisted", + "type": "bool" + }, + { + "name": "owner", + "type": "address" + }, + { + "name": "unstakedDeposit", + "type": "uint256" + }, + { + "name": "challengeID", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "token", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_registry", + "type": "address" + }, + { + "name": "_tokenAddr", + "type": "address" + }, + { + "name": "_minDeposit", + "type": "uint256" + }, + { + "name": "_applyStageLen", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "videoId", + "type": "string" + }, + { + "indexed": false, + "name": "deposit", + "type": "uint256" + } + ], + "name": "_Application", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "videoId", + "type": "string" + } + ], + "name": "_NewVideoWhitelisted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_videoId", + "type": "string" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "apply", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_videoId", + "type": "string" + } + ], + "name": "exit", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_videoId", + "type": "string" + } + ], + "name": "removeListing", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_videoId", + "type": "string" + } + ], + "name": "updateStatus", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_videoId", + "type": "string" + } + ], + "name": "isWhitelisted", + "outputs": [ + { + "name": "whitelisted", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_videoId", + "type": "string" + } + ], + "name": "appWasMade", + "outputs": [ + { + "name": "exists", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_termDate", + "type": "uint256" + } + ], + "name": "isExpired", + "outputs": [ + { + "name": "expired", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getMinDeposit", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_videoId", + "type": "string" + } + ], + "name": "canBeWhitelisted", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506040516080806114c683398101806040528101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816003819055508060048190555050505050611352806101746000396000f3006080604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630eaad3f1146101015780630f53ba511461012c5780632c215998146101ad5780632e1a7d4d1461021657806341b3d185146102435780635149606e1461026e5780637b103999146102d75780637f0733601461032e5780638da5cb5b14610359578063b48eea44146103b0578063b6b55f2514610431578063bfa535c71461045e578063c18b8db4146104a3578063c53c614d14610534578063d9548e53146105b5578063e7fb5388146105fa578063f2fde38b14610635578063fc0c546a14610678575b600080fd5b34801561010d57600080fd5b506101166106cf565b6040518082815260200191505060405180910390f35b34801561013857600080fd5b50610193600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506106d9565b604051808215151515815260200191505060405180910390f35b3480156101b957600080fd5b50610214600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610765565b005b34801561022257600080fd5b5061024160048036038101908080359060200190929190505050610825565b005b34801561024f57600080fd5b50610258610828565b6040518082815260200191505060405180910390f35b34801561027a57600080fd5b506102d5600480360381019080803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061082e565b005b3480156102e357600080fd5b506102ec610895565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561033a57600080fd5b506103436108bb565b6040518082815260200191505060405180910390f35b34801561036557600080fd5b5061036e6108c1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103bc57600080fd5b50610417600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506108e6565b604051808215151515815260200191505060405180910390f35b34801561043d57600080fd5b5061045c6004803603810190808035906020019092919050505061097d565b005b34801561046a57600080fd5b506104a160048036038101908080359060200190820180359060200191909192939192939080359060200190929190505050610980565b005b3480156104af57600080fd5b506104d26004803603810190808035600019169060200190929190505050610c75565b60405180868152602001851515151581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019550505050505060405180910390f35b34801561054057600080fd5b5061059b600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610cd8565b604051808215151515815260200191505060405180910390f35b3480156105c157600080fd5b506105e060048036038101908080359060200190929190505050610da3565b604051808215151515815260200191505060405180910390f35b34801561060657600080fd5b50610633600480360381019080803590602001908201803590602001919091929391929390505050610daf565b005b34801561064157600080fd5b50610676600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ece565b005b34801561068457600080fd5b5061068d611023565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000600354905090565b60008060016000846040518082805190602001908083835b60208310151561071657805182526020820191506020810190506020830392506106f1565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060000154119050919050565b61076e81610cd8565b1561081d5761077c81611049565b7fc92324d3d33d8a562daa770a1055b75689efa4374d7c65f0a9b2f6b9f090d796816040518080602001828103825283818151815260200191508051906020019080838360005b838110156107de5780820151818401526020810190506107c3565b50505050905090810190601f16801561080b5780820380516001836020036101000a031916815260200191505b509250505060405180910390a1610822565b600080fd5b50565b50565b60035481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561088957600080fd5b610892816110ea565b50565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060016000836040518082805190602001908083835b60208310151561092257805182526020820191506020810190506020830392506108fd565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060010160009054906101000a900460ff169050919050565b50565b60006109bd84848080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050506108e6565b1515156109c957600080fd5b610a0484848080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050506106d9565b151515610a1057600080fd5b6003548210151515610a2157600080fd5b600160008585604051808383808284378201915050925050506040518091039020600019166000191681526020019081526020016000209050338160010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610bba57600080fd5b505af1158015610bce573d6000803e3d6000fd5b505050506040513d6020811015610be457600080fd5b81019080805190602001909291905050501515610c0057600080fd5b600454430181600001819055508181600201819055507f8679b3793e06c33189be2319d77a55df6769e3b9061611d27f1809b3d56d2e6884848460405180806020018381526020018281038252858582818152602001925080828437820191505094505050505060405180910390a150505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154905085565b600080826040518082805190602001908083835b602083101515610d115780518252602082019150602081019050602083039250610cec565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050610d49836106d9565b8015610d785750610d7760016000836000191660001916815260200190815260200160002060000154610da3565b5b8015610d8a5750610d88836108e6565b155b15610d985760019150610d9d565b600091505b50919050565b60004382109050919050565b60006001600084846040518083838082843782019150509250505060405180910390206000191660001916815260200190815260200160002090508060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e4857600080fd5b610e8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050506108e6565b1515610e8e57600080fd5b610ec983838080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050506110ea565b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f2957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610f6557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000816040518082805190602001908083835b602083101515611081578051825260208201915060208101905060208303925061105c565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506001806000836000191660001916815260200190815260200160002060010160006101000a81548160ff0219169083151502179055505050565b600080826040518082805190602001908083835b60208310151561112357805182526020820191506020810190506020830392506110fe565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090506000816002015411156112b057600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600201546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561126957600080fd5b505af115801561127d573d6000803e3d6000fd5b505050506040513d602081101561129357600080fd5b810190808051906020019092919050505015156112af57600080fd5b5b6001600083600019166000191681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690556001820160016101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160009055600382016000905550505050505600a165627a7a723058202246bedb2c2cb2ba7f860a1b3cee8868bc51462717b16e157cfced07ec2d109a0029", + "deployedBytecode": "0x6080604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630eaad3f1146101015780630f53ba511461012c5780632c215998146101ad5780632e1a7d4d1461021657806341b3d185146102435780635149606e1461026e5780637b103999146102d75780637f0733601461032e5780638da5cb5b14610359578063b48eea44146103b0578063b6b55f2514610431578063bfa535c71461045e578063c18b8db4146104a3578063c53c614d14610534578063d9548e53146105b5578063e7fb5388146105fa578063f2fde38b14610635578063fc0c546a14610678575b600080fd5b34801561010d57600080fd5b506101166106cf565b6040518082815260200191505060405180910390f35b34801561013857600080fd5b50610193600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506106d9565b604051808215151515815260200191505060405180910390f35b3480156101b957600080fd5b50610214600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610765565b005b34801561022257600080fd5b5061024160048036038101908080359060200190929190505050610825565b005b34801561024f57600080fd5b50610258610828565b6040518082815260200191505060405180910390f35b34801561027a57600080fd5b506102d5600480360381019080803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061082e565b005b3480156102e357600080fd5b506102ec610895565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561033a57600080fd5b506103436108bb565b6040518082815260200191505060405180910390f35b34801561036557600080fd5b5061036e6108c1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103bc57600080fd5b50610417600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506108e6565b604051808215151515815260200191505060405180910390f35b34801561043d57600080fd5b5061045c6004803603810190808035906020019092919050505061097d565b005b34801561046a57600080fd5b506104a160048036038101908080359060200190820180359060200191909192939192939080359060200190929190505050610980565b005b3480156104af57600080fd5b506104d26004803603810190808035600019169060200190929190505050610c75565b60405180868152602001851515151581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019550505050505060405180910390f35b34801561054057600080fd5b5061059b600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610cd8565b604051808215151515815260200191505060405180910390f35b3480156105c157600080fd5b506105e060048036038101908080359060200190929190505050610da3565b604051808215151515815260200191505060405180910390f35b34801561060657600080fd5b50610633600480360381019080803590602001908201803590602001919091929391929390505050610daf565b005b34801561064157600080fd5b50610676600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ece565b005b34801561068457600080fd5b5061068d611023565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000600354905090565b60008060016000846040518082805190602001908083835b60208310151561071657805182526020820191506020810190506020830392506106f1565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060000154119050919050565b61076e81610cd8565b1561081d5761077c81611049565b7fc92324d3d33d8a562daa770a1055b75689efa4374d7c65f0a9b2f6b9f090d796816040518080602001828103825283818151815260200191508051906020019080838360005b838110156107de5780820151818401526020810190506107c3565b50505050905090810190601f16801561080b5780820380516001836020036101000a031916815260200191505b509250505060405180910390a1610822565b600080fd5b50565b50565b60035481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561088957600080fd5b610892816110ea565b50565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060016000836040518082805190602001908083835b60208310151561092257805182526020820191506020810190506020830392506108fd565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060010160009054906101000a900460ff169050919050565b50565b60006109bd84848080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050506108e6565b1515156109c957600080fd5b610a0484848080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050506106d9565b151515610a1057600080fd5b6003548210151515610a2157600080fd5b600160008585604051808383808284378201915050925050506040518091039020600019166000191681526020019081526020016000209050338160010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610bba57600080fd5b505af1158015610bce573d6000803e3d6000fd5b505050506040513d6020811015610be457600080fd5b81019080805190602001909291905050501515610c0057600080fd5b600454430181600001819055508181600201819055507f8679b3793e06c33189be2319d77a55df6769e3b9061611d27f1809b3d56d2e6884848460405180806020018381526020018281038252858582818152602001925080828437820191505094505050505060405180910390a150505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154905085565b600080826040518082805190602001908083835b602083101515610d115780518252602082019150602081019050602083039250610cec565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050610d49836106d9565b8015610d785750610d7760016000836000191660001916815260200190815260200160002060000154610da3565b5b8015610d8a5750610d88836108e6565b155b15610d985760019150610d9d565b600091505b50919050565b60004382109050919050565b60006001600084846040518083838082843782019150509250505060405180910390206000191660001916815260200190815260200160002090508060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e4857600080fd5b610e8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050506108e6565b1515610e8e57600080fd5b610ec983838080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050506110ea565b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f2957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610f6557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000816040518082805190602001908083835b602083101515611081578051825260208201915060208101905060208303925061105c565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506001806000836000191660001916815260200190815260200160002060010160006101000a81548160ff0219169083151502179055505050565b600080826040518082805190602001908083835b60208310151561112357805182526020820191506020810190506020830392506110fe565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090506000816002015411156112b057600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600201546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561126957600080fd5b505af115801561127d573d6000803e3d6000fd5b505050506040513d602081101561129357600080fd5b810190808051906020019092919050505015156112af57600080fd5b5b6001600083600019166000191681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690556001820160016101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160009055600382016000905550505050505600a165627a7a723058202246bedb2c2cb2ba7f860a1b3cee8868bc51462717b16e157cfced07ec2d109a0029", + "sourceMap": "237:6440:10:-;;;1119:332;8:9:-1;5:2;;;30:1;27;20:12;5:2;1119:332:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;502:10:16;494:5;;:18;;;;;;;;;;;;;;;;;;1273:10:10;1265:5;;:18;;;;;;;;;;;;;;;;;;1304:9;1293:8;;:20;;;;;;;;;;;;;;;;;;1344:10;1323:5;;:32;;;;;;;;;;;;;;;;;;1378:11;1365:10;:24;;;;1415:14;1399:13;:30;;;;1119:332;;;;237:6440;;;;;;", + "deployedSourceMap": "237:6440:10:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5421:86;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5421:86:10;;;;;;;;;;;;;;;;;;;;;;;5083:146;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5083:146:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3854:237;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3854:237:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2748:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2748:48:10;;;;;;;;;;;;;;;;;;;;;;;;;;900:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;900:22:10;;;;;;;;;;;;;;;;;;;;;;;3525:96;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3525:96:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;959:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;959:24:10;;;;;;;;;;;;;;;;;;;;;;;;;;;928:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;928:25:10;;;;;;;;;;;;;;;;;;;;;;;238:20:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:16;;;;;;;;;;;;;;;;;;;;;;;;;;;4873:144:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4873:144:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2575:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2575:47:10;;;;;;;;;;;;;;;;;;;;;;;;;;1763:639;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1763:639:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;819:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;819:43:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5688:463;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5688:463:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5297:118;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5297:118:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2938:461;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2938:461:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;827:169:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;827:169:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;869:25:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;869:25:10;;;;;;;;;;;;;;;;;;;;;;;;;;;5421:86;5467:4;5490:10;;5483:17;;5421:86;:::o;5083:146::-;5141:11;5221:1;5171:8;:29;5190:8;5180:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5180:19:10;;;;;;;;;;;;;;;;5171:29;;;;;;;;;;;;;;;;;:47;;;:51;5164:58;;5083:146;;;:::o;3854:237::-;3914:26;3931:8;3914:16;:26::i;:::-;3910:175;;;3956:30;3977:8;3956:20;:30::i;:::-;4005;4026:8;4005:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;4005:30:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3910:175;;;4066:8;;;3910:175;3854:237;:::o;2748:48::-;;:::o;900:22::-;;;;:::o;3525:96::-;647:5:16;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;3592:22:10;3605:8;3592:12;:22::i;:::-;3525:96;:::o;959:24::-;;;;;;;;;;;;;:::o;928:25::-;;;;:::o;238:20:16:-;;;;;;;;;;;;;:::o;4873:144:10:-;4934:16;4969:8;:29;4988:8;4978:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4978:19:10;;;;;;;;;;;;;;;;4969:29;;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;4962:48;;4873:144;;;:::o;2575:47::-;;:::o;1763:639::-;1973:23;1837;1851:8;;1837:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:23::i;:::-;1836:24;1828:33;;;;;;;;1880:20;1891:8;;1880:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:10;:20::i;:::-;1879:21;1871:30;;;;;;;;1930:10;;1919:7;:21;;1911:30;;;;;;;;1999:8;:29;2018:8;;2008:19;;;;;;;;;;;;;;;;;;;;;;;;;1999:29;;;;;;;;;;;;;;;;;1973:55;;2054:10;2038:7;:13;;;:26;;;;;;;;;;;;;;;;;;2147:5;;;;;;;;;;;:18;;;2166:7;:13;;;;;;;;;;;;2181:4;2187:7;2147:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2147:48:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2147:48:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2147:48:10;;;;;;;;;;;;;;;;2139:57;;;;;;;;2292:13;;2277:12;:28;2249:7;:25;;:56;;;;2341:7;2315;:23;;:33;;;;2364:31;2377:8;;2387:7;2364:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:639;;;;:::o;819:43::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5688:463::-;5752:4;5768:17;5798:8;5788:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5788:19:10;;;;;;;;;;;;;;;;5768:39;;5971:20;5982:8;5971:10;:20::i;:::-;:84;;;;;6007:48;6017:8;:19;6026:9;6017:19;;;;;;;;;;;;;;;;;:37;;;6007:9;:48::i;:::-;5971:84;:124;;;;;6072:23;6086:8;6072:13;:23::i;:::-;6071:24;5971:124;5954:168;;;6115:4;6108:11;;;;5954:168;6139:5;6132:12;;5688:463;;;;;:::o;5297:118::-;5353:12;5396;5384:9;:24;5377:31;;5297:118;;;:::o;2938:461::-;2988:23;3014:8;:29;3033:8;;3023:19;;;;;;;;;;;;;;;;;;;;;;;;;3014:29;;;;;;;;;;;;;;;;;2988:55;;3076:7;:13;;;;;;;;;;;;3062:27;;:10;:27;;;3054:36;;;;;;;;3108:23;3122:8;;3108:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:23::i;:::-;3100:32;;;;;;;;3370:22;3383:8;;3370:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:12;:22::i;:::-;2938:461;;;:::o;827:169:16:-;647:5;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;923:1;903:22;;:8;:22;;;;895:31;;;;;;;;960:8;932:37;;953:5;;;;;;;;;;;932:37;;;;;;;;;;;;983:8;975:5;;:16;;;;;;;;;;;;;;;;;;827:169;:::o;869:25:10:-;;;;;;;;;;;;;:::o;4377:160::-;4442:17;4472:8;4462:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4462:19:10;;;;;;;;;;;;;;;;4442:39;;4526:4;4492:8;:19;4501:9;4492:19;;;;;;;;;;;;;;;;;:31;;;:38;;;;;;;;;;;;;;;;;;4377:160;;:::o;6299:375::-;6356:17;6405:23;6386:8;6376:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;6376:19:10;;;;;;;;;;;;;;;;6356:39;;6431:8;:19;6440:9;6431:19;;;;;;;;;;;;;;;;;6405:45;;6552:1;6526:7;:23;;;:27;6522:108;;;6575:5;;;;;;;;;;;:14;;;6590:7;:13;;;;;;;;;;;;6605:7;:23;;;6575:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6575:54:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6575:54:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6575:54:10;;;;;;;;;;;;;;;;6567:63;;;;;;;;6522:108;6648:8;:19;6657:9;6648:19;;;;;;;;;;;;;;;;;;6641:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6299:375;;;:::o", + "source": "pragma solidity ^0.4.18;\n\nimport \"zeppelin-solidity/contracts/ownership/Ownable.sol\";\nimport \"./ParatiiToken.sol\";\nimport \"./Registry.sol\";\n\n/// WARNING , NOT PRODUCTION READY, based on ADCHAIN Registry.\n/// THIS IS JUST A PLACEHOLDER..\ncontract TcrPlaceholder is Ownable {\n\n // Events\n // ---------\n\n event _Application(string videoId, uint deposit);\n event _NewVideoWhitelisted(string videoId);\n\n struct Listing {\n uint applicationExpiry; // Expiration date of apply stage\n bool whitelisted; // registration status\n address owner; // Owner of the video.\n uint unstakedDeposit; // Number of tokens in the listing not locked in a challenge\n uint challengeID; // ID of canonical challenge\n }\n\n // Maps of videoId Hashes to listing data.\n mapping(bytes32 => Listing) public listings;\n\n ParatiiToken public token;\n uint public minDeposit;\n uint public applyStageLen;\n Registry public registry;\n\n // ---------------------------------------------------------------------------\n // CONSTRUCTOR\n // ------------------\n\n constructor(\n Registry _registry,\n address _tokenAddr,\n uint _minDeposit,\n uint _applyStageLen\n ) public {\n owner = msg.sender;\n registry = _registry;\n token = ParatiiToken(_tokenAddr);\n minDeposit = _minDeposit;\n applyStageLen = _applyStageLen; // 100 blocks.\n }\n\n // ---------------------------------------------------------------------------\n // Video creator functions\n //------------------------\n\n /**\n * allow video creator to apply for whitelisting for a video.\n * @param _videoId the videoId\n * @param _amount the amount to Stake\n */\n function apply(string _videoId, uint _amount) external {\n require(!isWhitelisted(_videoId));\n require(!appWasMade(_videoId));\n require(_amount >= minDeposit);\n\n // set owner\n Listing storage listing = listings[keccak256(_videoId)];\n listing.owner = msg.sender;\n\n // transfer tokens from user to TcrPlaceholder contract\n require(token.transferFrom(listing.owner, this, _amount));\n\n // sets apply stage and end time.\n listing.applicationExpiry = block.number + applyStageLen;\n listing.unstakedDeposit = _amount;\n\n emit _Application(_videoId, _amount);\n }\n\n /**\n * deposit an amount of tokens. (unstaked)\n * @param amount the amount to deposit\n * @return {EVENT} returns event log of deposit event.\n */\n function deposit(uint amount) external {\n\n }\n\n /**\n * take out an amount of tokens from the unstaked tokens.\n * @param amount the amount to take out\n */\n function withdraw(uint amount) external {\n\n }\n\n /**\n * allow video creator to remove a video from the listing and return tokens.\n * @param _videoId videoId to remove\n */\n function exit(string _videoId) external {\n Listing storage listing = listings[keccak256(_videoId)];\n\n require(msg.sender == listing.owner);\n require(isWhitelisted(_videoId));\n\n // Cannot exit during ongoing challenge\n /* require(!challenges[listing.challengeID].isInitialized() ||\n challenges[listing.challengeID].isResolved()); */\n\n // Remove domain & return tokens\n resetListing(_videoId);\n }\n\n /**\n * remove a video , Only the TCR owner can do this.\n * @param _videoId id of the video to remove.\n */\n function removeListing(string _videoId) public onlyOwner {\n resetListing(_videoId);\n }\n\n /**\n @notice Updates a videos's status from 'application' to 'listing'\n @notice or resolves a challenge if one exists.\n @param _videoId The videoId whose status is being updated\n */\n function updateStatus(string _videoId) public {\n if (canBeWhitelisted(_videoId)) {\n whitelistApplication(_videoId);\n emit _NewVideoWhitelisted(_videoId);\n } else {\n revert();\n }\n }\n\n /**\n @dev Called by updateStatus() if the applicationExpiry date passed without a\n challenge being made\n @dev Called by resolveChallenge() if an application/listing beat a challenge.\n @param _videoId The _videoId of an application/listing to be whitelisted\n */\n function whitelistApplication(string _videoId) private {\n bytes32 videoHash = keccak256(_videoId);\n\n listings[videoHash].whitelisted = true;\n }\n\n //----------------------------------------------------------------------------\n // Token HODLers functions\n //--------------------------\n\n // ---------------------------------------------------------------------------\n // Utilities\n //------------------------\n /// @dev returns true if video is whitelisted\n function isWhitelisted(string _videoId) view public returns (bool whitelisted) {\n return listings[keccak256(_videoId)].whitelisted;\n }\n\n // @dev returns true if apply was called for this video\n function appWasMade(string _videoId) view public returns (bool exists) {\n return listings[keccak256(_videoId)].applicationExpiry > 0;\n }\n\n /// @dev returns true if the provided termDate has passed\n function isExpired(uint _termDate) view public returns (bool expired) {\n return _termDate < block.number;\n }\n\n function getMinDeposit() view public returns (uint) {\n return minDeposit;\n }\n\n /**\n @dev Determines whether the video of an application can be whitelisted.\n @param _videoId The videoId whose status should be examined\n */\n function canBeWhitelisted(string _videoId) view public returns (bool) {\n bytes32 videoHash = keccak256(_videoId);\n\n // Ensures that the application was made,\n // the application period has ended,\n // the video can be whitelisted,\n if (\n appWasMade(_videoId) &&\n isExpired(listings[videoHash].applicationExpiry) &&\n !isWhitelisted(_videoId)\n ) { return true; }\n\n return false;\n }\n\n /**\n @dev deletes a listing from the whitelist and transfers tokens back to owner\n @param _videoId the videoId to be removed\n */\n function resetListing(string _videoId) private {\n bytes32 videoHash = keccak256(_videoId);\n Listing storage listing = listings[videoHash];\n\n // Transfers any remaining balance back to the owner\n if (listing.unstakedDeposit > 0)\n require(token.transfer(listing.owner, listing.unstakedDeposit));\n\n delete listings[videoHash];\n }\n\n}\n", + "sourcePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/TcrPlaceholder.sol", + "ast": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/TcrPlaceholder.sol", + "exportedSymbols": { + "TcrPlaceholder": [ + 1854 + ] + }, + "id": 1855, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1483, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:10" + }, + { + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 1484, + "nodeType": "ImportDirective", + "scope": 1855, + "sourceUnit": 2764, + "src": "26:59:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/ParatiiToken.sol", + "file": "./ParatiiToken.sol", + "id": 1485, + "nodeType": "ImportDirective", + "scope": 1855, + "sourceUnit": 872, + "src": "86:28:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Registry.sol", + "file": "./Registry.sol", + "id": 1486, + "nodeType": "ImportDirective", + "scope": 1855, + "sourceUnit": 1097, + "src": "115:24:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1487, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2763, + "src": "264:7:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$2763", + "typeString": "contract Ownable" + } + }, + "id": 1488, + "nodeType": "InheritanceSpecifier", + "src": "264:7:10" + } + ], + "contractDependencies": [ + 2763 + ], + "contractKind": "contract", + "documentation": "WARNING , NOT PRODUCTION READY, based on ADCHAIN Registry.\n THIS IS JUST A PLACEHOLDER..", + "fullyImplemented": true, + "id": 1854, + "linearizedBaseContracts": [ + 1854, + 2763 + ], + "name": "TcrPlaceholder", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 1494, + "name": "_Application", + "nodeType": "EventDefinition", + "parameters": { + "id": 1493, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1490, + "indexed": false, + "name": "videoId", + "nodeType": "VariableDeclaration", + "scope": 1494, + "src": "330:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1489, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "330:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1492, + "indexed": false, + "name": "deposit", + "nodeType": "VariableDeclaration", + "scope": 1494, + "src": "346:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1491, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "346:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "329:30:10" + }, + "src": "311:49:10" + }, + { + "anonymous": false, + "documentation": null, + "id": 1498, + "name": "_NewVideoWhitelisted", + "nodeType": "EventDefinition", + "parameters": { + "id": 1497, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1496, + "indexed": false, + "name": "videoId", + "nodeType": "VariableDeclaration", + "scope": 1498, + "src": "392:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1495, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "392:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "391:16:10" + }, + "src": "365:43:10" + }, + { + "canonicalName": "TcrPlaceholder.Listing", + "id": 1509, + "members": [ + { + "constant": false, + "id": 1500, + "name": "applicationExpiry", + "nodeType": "VariableDeclaration", + "scope": 1509, + "src": "439:22:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1499, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "439:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1502, + "name": "whitelisted", + "nodeType": "VariableDeclaration", + "scope": 1509, + "src": "505:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1501, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "505:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1504, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1509, + "src": "560:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1503, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "560:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1506, + "name": "unstakedDeposit", + "nodeType": "VariableDeclaration", + "scope": 1509, + "src": "615:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1505, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "615:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1508, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 1509, + "src": "708:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1507, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "708:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Listing", + "nodeType": "StructDefinition", + "scope": 1854, + "src": "414:352:10", + "visibility": "public" + }, + { + "constant": false, + "id": 1513, + "name": "listings", + "nodeType": "VariableDeclaration", + "scope": 1854, + "src": "819:43:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1509_storage_$", + "typeString": "mapping(bytes32 => struct TcrPlaceholder.Listing)" + }, + "typeName": { + "id": 1512, + "keyType": { + "id": 1510, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "827:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "819:27:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1509_storage_$", + "typeString": "mapping(bytes32 => struct TcrPlaceholder.Listing)" + }, + "valueType": { + "contractScope": null, + "id": 1511, + "name": "Listing", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1509, + "src": "838:7:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1515, + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 1854, + "src": "869:25:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + }, + "typeName": { + "contractScope": null, + "id": 1514, + "name": "ParatiiToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 871, + "src": "869:12:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1517, + "name": "minDeposit", + "nodeType": "VariableDeclaration", + "scope": 1854, + "src": "900:22:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1516, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "900:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1519, + "name": "applyStageLen", + "nodeType": "VariableDeclaration", + "scope": 1854, + "src": "928:25:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1518, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "928:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1521, + "name": "registry", + "nodeType": "VariableDeclaration", + "scope": 1854, + "src": "959:24:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 1520, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1096, + "src": "959:8:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 1555, + "nodeType": "Block", + "src": "1255:196:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1532, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2711, + "src": "1265:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1533, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "1273:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1273:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1265:18:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1536, + "nodeType": "ExpressionStatement", + "src": "1265:18:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 1539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1537, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1521, + "src": "1293:8:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1538, + "name": "_registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1523, + "src": "1304:9:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "src": "1293:20:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "id": 1540, + "nodeType": "ExpressionStatement", + "src": "1293:20:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 1545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1541, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1515, + "src": "1323:5:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1543, + "name": "_tokenAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1525, + "src": "1344:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1542, + "name": "ParatiiToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 871, + "src": "1331:12:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ParatiiToken_$871_$", + "typeString": "type(contract ParatiiToken)" + } + }, + "id": 1544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1331:24:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + } + }, + "src": "1323:32:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + } + }, + "id": 1546, + "nodeType": "ExpressionStatement", + "src": "1323:32:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 1549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1547, + "name": "minDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "1365:10:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1548, + "name": "_minDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1527, + "src": "1378:11:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1365:24:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1550, + "nodeType": "ExpressionStatement", + "src": "1365:24:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 1553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1551, + "name": "applyStageLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "1399:13:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1552, + "name": "_applyStageLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1529, + "src": "1415:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1399:30:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1554, + "nodeType": "ExpressionStatement", + "src": "1399:30:10" + } + ] + }, + "documentation": null, + "id": 1556, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1530, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1523, + "name": "_registry", + "nodeType": "VariableDeclaration", + "scope": 1556, + "src": "1140:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 1522, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1096, + "src": "1140:8:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1525, + "name": "_tokenAddr", + "nodeType": "VariableDeclaration", + "scope": 1556, + "src": "1168:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1524, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1168:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1527, + "name": "_minDeposit", + "nodeType": "VariableDeclaration", + "scope": 1556, + "src": "1196:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1526, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1196:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1529, + "name": "_applyStageLen", + "nodeType": "VariableDeclaration", + "scope": 1556, + "src": "1222:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1528, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1222:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1130:117:10" + }, + "payable": false, + "returnParameters": { + "id": 1531, + "nodeType": "ParameterList", + "parameters": [], + "src": "1255:0:10" + }, + "scope": 1854, + "src": "1119:332:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1628, + "nodeType": "Block", + "src": "1818:584:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1836:24:10", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1565, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1558, + "src": "1851:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 1564, + "name": "isWhitelisted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1742, + "src": "1837:13:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (string memory) view returns (bool)" + } + }, + "id": 1566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1837:23:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1563, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "1828:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1828:33:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1569, + "nodeType": "ExpressionStatement", + "src": "1828:33:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1879:21:10", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1572, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1558, + "src": "1891:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 1571, + "name": "appWasMade", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1759, + "src": "1880:10:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (string memory) view returns (bool)" + } + }, + "id": 1573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1880:20:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1570, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "1871:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1871:30:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1576, + "nodeType": "ExpressionStatement", + "src": "1871:30:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1578, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1560, + "src": "1919:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 1579, + "name": "minDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "1930:10:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1919:21:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1577, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "1911:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1911:30:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1582, + "nodeType": "ExpressionStatement", + "src": "1911:30:10" + }, + { + "assignments": [ + 1584 + ], + "declarations": [ + { + "constant": false, + "id": 1584, + "name": "listing", + "nodeType": "VariableDeclaration", + "scope": 1629, + "src": "1973:23:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing" + }, + "typeName": { + "contractScope": null, + "id": 1583, + "name": "Listing", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1509, + "src": "1973:7:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1590, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1585, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "1999:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1509_storage_$", + "typeString": "mapping(bytes32 => struct TcrPlaceholder.Listing storage ref)" + } + }, + "id": 1589, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1587, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1558, + "src": "2018:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 1586, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "2008:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2008:19:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1999:29:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage", + "typeString": "struct TcrPlaceholder.Listing storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1973:55:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 1596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1591, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1584, + "src": "2038:7:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing storage pointer" + } + }, + "id": 1593, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1504, + "src": "2038:13:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1594, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "2054:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1595, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2054:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2038:26:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1597, + "nodeType": "ExpressionStatement", + "src": "2038:26:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1601, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1584, + "src": "2166:7:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing storage pointer" + } + }, + "id": 1602, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1504, + "src": "2166:13:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1603, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3207, + "src": "2181:4:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TcrPlaceholder_$1854", + "typeString": "contract TcrPlaceholder" + } + }, + { + "argumentTypes": null, + "id": 1604, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1560, + "src": "2187:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_TcrPlaceholder_$1854", + "typeString": "contract TcrPlaceholder" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1599, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1515, + "src": "2147:5:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + } + }, + "id": 1600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 2997, + "src": "2147:18:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 1605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2147:48:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1598, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "2139:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2139:57:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1607, + "nodeType": "ExpressionStatement", + "src": "2139:57:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 1615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1608, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1584, + "src": "2249:7:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing storage pointer" + } + }, + "id": 1610, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "applicationExpiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 1500, + "src": "2249:25:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1611, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3148, + "src": "2277:5:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 1612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "number", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2277:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 1613, + "name": "applyStageLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "2292:13:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2277:28:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2249:56:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1616, + "nodeType": "ExpressionStatement", + "src": "2249:56:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 1621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1617, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1584, + "src": "2315:7:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing storage pointer" + } + }, + "id": 1619, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 1506, + "src": "2315:23:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1620, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1560, + "src": "2341:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2315:33:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1622, + "nodeType": "ExpressionStatement", + "src": "2315:33:10" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1624, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1558, + "src": "2377:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1625, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1560, + "src": "2387:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1623, + "name": "_Application", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1494, + "src": "2364:12:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2364:31:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1627, + "nodeType": "EmitStatement", + "src": "2359:36:10" + } + ] + }, + "documentation": "allow video creator to apply for whitelisting for a video.\n@param _videoId the videoId\n@param _amount the amount to Stake", + "id": 1629, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "apply", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1561, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1558, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1629, + "src": "1778:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1557, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1778:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1560, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 1629, + "src": "1795:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1559, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1795:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1777:31:10" + }, + "payable": false, + "returnParameters": { + "id": 1562, + "nodeType": "ParameterList", + "parameters": [], + "src": "1818:0:10" + }, + "scope": 1854, + "src": "1763:639:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1634, + "nodeType": "Block", + "src": "2614:8:10", + "statements": [] + }, + "documentation": "deposit an amount of tokens. (unstaked)\n@param amount the amount to deposit\n@return {EVENT} returns event log of deposit event.", + "id": 1635, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "deposit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1632, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1631, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 1635, + "src": "2592:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1630, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2592:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2591:13:10" + }, + "payable": false, + "returnParameters": { + "id": 1633, + "nodeType": "ParameterList", + "parameters": [], + "src": "2614:0:10" + }, + "scope": 1854, + "src": "2575:47:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1640, + "nodeType": "Block", + "src": "2788:8:10", + "statements": [] + }, + "documentation": "take out an amount of tokens from the unstaked tokens.\n@param amount the amount to take out", + "id": 1641, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "withdraw", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1638, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1637, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 1641, + "src": "2766:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1636, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2766:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2765:13:10" + }, + "payable": false, + "returnParameters": { + "id": 1639, + "nodeType": "ParameterList", + "parameters": [], + "src": "2788:0:10" + }, + "scope": 1854, + "src": "2748:48:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1672, + "nodeType": "Block", + "src": "2978:421:10", + "statements": [ + { + "assignments": [ + 1647 + ], + "declarations": [ + { + "constant": false, + "id": 1647, + "name": "listing", + "nodeType": "VariableDeclaration", + "scope": 1673, + "src": "2988:23:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing" + }, + "typeName": { + "contractScope": null, + "id": 1646, + "name": "Listing", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1509, + "src": "2988:7:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1653, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1648, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "3014:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1509_storage_$", + "typeString": "mapping(bytes32 => struct TcrPlaceholder.Listing storage ref)" + } + }, + "id": 1652, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1650, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1643, + "src": "3033:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 1649, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "3023:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3023:19:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3014:29:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage", + "typeString": "struct TcrPlaceholder.Listing storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2988:55:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1659, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1655, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "3062:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3062:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1657, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1647, + "src": "3076:7:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing storage pointer" + } + }, + "id": 1658, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1504, + "src": "3076:13:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3062:27:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1654, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "3054:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3054:36:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1661, + "nodeType": "ExpressionStatement", + "src": "3054:36:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1664, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1643, + "src": "3122:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 1663, + "name": "isWhitelisted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1742, + "src": "3108:13:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (string memory) view returns (bool)" + } + }, + "id": 1665, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3108:23:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1662, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "3100:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3100:32:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1667, + "nodeType": "ExpressionStatement", + "src": "3100:32:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1669, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1643, + "src": "3383:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 1668, + "name": "resetListing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1853, + "src": "3370:12:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 1670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3370:22:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1671, + "nodeType": "ExpressionStatement", + "src": "3370:22:10" + } + ] + }, + "documentation": "allow video creator to remove a video from the listing and return tokens.\n@param _videoId videoId to remove", + "id": 1673, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "exit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1644, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1643, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1673, + "src": "2952:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1642, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2952:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2951:17:10" + }, + "payable": false, + "returnParameters": { + "id": 1645, + "nodeType": "ParameterList", + "parameters": [], + "src": "2978:0:10" + }, + "scope": 1854, + "src": "2938:461:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1684, + "nodeType": "Block", + "src": "3582:39:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1681, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1675, + "src": "3605:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1680, + "name": "resetListing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1853, + "src": "3592:12:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 1682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3592:22:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1683, + "nodeType": "ExpressionStatement", + "src": "3592:22:10" + } + ] + }, + "documentation": "remove a video , Only the TCR owner can do this.\n@param _videoId id of the video to remove.", + "id": 1685, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 1678, + "modifierName": { + "argumentTypes": null, + "id": 1677, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2737, + "src": "3572:9:10", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3572:9:10" + } + ], + "name": "removeListing", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1676, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1675, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1685, + "src": "3548:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1674, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3548:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3547:17:10" + }, + "payable": false, + "returnParameters": { + "id": 1679, + "nodeType": "ParameterList", + "parameters": [], + "src": "3582:0:10" + }, + "scope": 1854, + "src": "3525:96:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1707, + "nodeType": "Block", + "src": "3900:191:10", + "statements": [ + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1691, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1687, + "src": "3931:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1690, + "name": "canBeWhitelisted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1815, + "src": "3914:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (string memory) view returns (bool)" + } + }, + "id": 1692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3914:26:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1705, + "nodeType": "Block", + "src": "4052:33:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1702, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3163, + 3164 + ], + "referencedDeclaration": 3163, + "src": "4066:6:10", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1703, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4066:8:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1704, + "nodeType": "ExpressionStatement", + "src": "4066:8:10" + } + ] + }, + "id": 1706, + "nodeType": "IfStatement", + "src": "3910:175:10", + "trueBody": { + "id": 1701, + "nodeType": "Block", + "src": "3942:104:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1694, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1687, + "src": "3977:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1693, + "name": "whitelistApplication", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1727, + "src": "3956:20:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 1695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3956:30:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1696, + "nodeType": "ExpressionStatement", + "src": "3956:30:10" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1698, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1687, + "src": "4026:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1697, + "name": "_NewVideoWhitelisted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1498, + "src": "4005:20:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 1699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4005:30:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1700, + "nodeType": "EmitStatement", + "src": "4000:35:10" + } + ] + } + } + ] + }, + "documentation": "@notice Updates a videos's status from 'application' to 'listing'\n@notice or resolves a challenge if one exists.\n@param _videoId The videoId whose status is being updated", + "id": 1708, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateStatus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1688, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1687, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1708, + "src": "3876:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1686, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3876:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3875:17:10" + }, + "payable": false, + "returnParameters": { + "id": 1689, + "nodeType": "ParameterList", + "parameters": [], + "src": "3900:0:10" + }, + "scope": 1854, + "src": "3854:237:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1726, + "nodeType": "Block", + "src": "4432:105:10", + "statements": [ + { + "assignments": [ + 1714 + ], + "declarations": [ + { + "constant": false, + "id": 1714, + "name": "videoHash", + "nodeType": "VariableDeclaration", + "scope": 1727, + "src": "4442:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1713, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4442:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1718, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1716, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1710, + "src": "4472:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1715, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "4462:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4462:19:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4442:39:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 1724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1719, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "4492:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1509_storage_$", + "typeString": "mapping(bytes32 => struct TcrPlaceholder.Listing storage ref)" + } + }, + "id": 1721, + "indexExpression": { + "argumentTypes": null, + "id": 1720, + "name": "videoHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1714, + "src": "4501:9:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4492:19:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage", + "typeString": "struct TcrPlaceholder.Listing storage ref" + } + }, + "id": 1722, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "whitelisted", + "nodeType": "MemberAccess", + "referencedDeclaration": 1502, + "src": "4492:31:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1723, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4526:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4492:38:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1725, + "nodeType": "ExpressionStatement", + "src": "4492:38:10" + } + ] + }, + "documentation": "@dev Called by updateStatus() if the applicationExpiry date passed without a\nchallenge being made\n@dev Called by resolveChallenge() if an application/listing beat a challenge.\n@param _videoId The _videoId of an application/listing to be whitelisted", + "id": 1727, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "whitelistApplication", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1711, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1710, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1727, + "src": "4407:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1709, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4407:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4406:17:10" + }, + "payable": false, + "returnParameters": { + "id": 1712, + "nodeType": "ParameterList", + "parameters": [], + "src": "4432:0:10" + }, + "scope": 1854, + "src": "4377:160:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 1741, + "nodeType": "Block", + "src": "4952:65:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1734, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "4969:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1509_storage_$", + "typeString": "mapping(bytes32 => struct TcrPlaceholder.Listing storage ref)" + } + }, + "id": 1738, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1736, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1729, + "src": "4988:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1735, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "4978:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4978:19:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4969:29:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage", + "typeString": "struct TcrPlaceholder.Listing storage ref" + } + }, + "id": 1739, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "whitelisted", + "nodeType": "MemberAccess", + "referencedDeclaration": 1502, + "src": "4969:41:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1733, + "id": 1740, + "nodeType": "Return", + "src": "4962:48:10" + } + ] + }, + "documentation": "@dev returns true if video is whitelisted", + "id": 1742, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isWhitelisted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1730, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1729, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1742, + "src": "4896:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1728, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4896:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4895:17:10" + }, + "payable": false, + "returnParameters": { + "id": 1733, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1732, + "name": "whitelisted", + "nodeType": "VariableDeclaration", + "scope": 1742, + "src": "4934:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1731, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4934:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4933:18:10" + }, + "scope": 1854, + "src": "4873:144:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1758, + "nodeType": "Block", + "src": "5154:75:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1749, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "5171:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1509_storage_$", + "typeString": "mapping(bytes32 => struct TcrPlaceholder.Listing storage ref)" + } + }, + "id": 1753, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1751, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1744, + "src": "5190:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1750, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "5180:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5180:19:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5171:29:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage", + "typeString": "struct TcrPlaceholder.Listing storage ref" + } + }, + "id": 1754, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "applicationExpiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 1500, + "src": "5171:47:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1755, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5221:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5171:51:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1748, + "id": 1757, + "nodeType": "Return", + "src": "5164:58:10" + } + ] + }, + "documentation": null, + "id": 1759, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "appWasMade", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1745, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1744, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1759, + "src": "5103:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1743, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5103:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5102:17:10" + }, + "payable": false, + "returnParameters": { + "id": 1748, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1747, + "name": "exists", + "nodeType": "VariableDeclaration", + "scope": 1759, + "src": "5141:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1746, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5141:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5140:13:10" + }, + "scope": 1854, + "src": "5083:146:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1771, + "nodeType": "Block", + "src": "5367:48:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1766, + "name": "_termDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1761, + "src": "5384:9:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1767, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3148, + "src": "5396:5:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 1768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "number", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5396:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5384:24:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1765, + "id": 1770, + "nodeType": "Return", + "src": "5377:31:10" + } + ] + }, + "documentation": "@dev returns true if the provided termDate has passed", + "id": 1772, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isExpired", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1762, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1761, + "name": "_termDate", + "nodeType": "VariableDeclaration", + "scope": 1772, + "src": "5316:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1760, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5316:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5315:16:10" + }, + "payable": false, + "returnParameters": { + "id": 1765, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1764, + "name": "expired", + "nodeType": "VariableDeclaration", + "scope": 1772, + "src": "5353:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1763, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5353:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5352:14:10" + }, + "scope": 1854, + "src": "5297:118:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1779, + "nodeType": "Block", + "src": "5473:34:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1777, + "name": "minDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "5490:10:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1776, + "id": 1778, + "nodeType": "Return", + "src": "5483:17:10" + } + ] + }, + "documentation": null, + "id": 1780, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMinDeposit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1773, + "nodeType": "ParameterList", + "parameters": [], + "src": "5443:2:10" + }, + "payable": false, + "returnParameters": { + "id": 1776, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1775, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1780, + "src": "5467:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1774, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5467:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5466:6:10" + }, + "scope": 1854, + "src": "5421:86:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1814, + "nodeType": "Block", + "src": "5758:393:10", + "statements": [ + { + "assignments": [ + 1788 + ], + "declarations": [ + { + "constant": false, + "id": 1788, + "name": "videoHash", + "nodeType": "VariableDeclaration", + "scope": 1815, + "src": "5768:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1787, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5768:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1792, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1790, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1782, + "src": "5798:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1789, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "5788:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5788:19:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5768:39:10" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1794, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1782, + "src": "5982:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1793, + "name": "appWasMade", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1759, + "src": "5971:10:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (string memory) view returns (bool)" + } + }, + "id": 1795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5971:20:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1797, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "6017:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1509_storage_$", + "typeString": "mapping(bytes32 => struct TcrPlaceholder.Listing storage ref)" + } + }, + "id": 1799, + "indexExpression": { + "argumentTypes": null, + "id": 1798, + "name": "videoHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1788, + "src": "6026:9:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6017:19:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage", + "typeString": "struct TcrPlaceholder.Listing storage ref" + } + }, + "id": 1800, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "applicationExpiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 1500, + "src": "6017:37:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1796, + "name": "isExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1772, + "src": "6007:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1801, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6007:48:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5971:84:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 1806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "6071:24:10", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1804, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1782, + "src": "6086:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1803, + "name": "isWhitelisted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1742, + "src": "6072:13:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (string memory) view returns (bool)" + } + }, + "id": 1805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6072:23:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5971:124:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1811, + "nodeType": "IfStatement", + "src": "5954:168:10", + "trueBody": { + "id": 1810, + "nodeType": "Block", + "src": "6106:16:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1808, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6115:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1786, + "id": 1809, + "nodeType": "Return", + "src": "6108:11:10" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 1812, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6139:5:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 1786, + "id": 1813, + "nodeType": "Return", + "src": "6132:12:10" + } + ] + }, + "documentation": "@dev Determines whether the video of an application can be whitelisted.\n@param _videoId The videoId whose status should be examined", + "id": 1815, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "canBeWhitelisted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1783, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1782, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1815, + "src": "5714:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1781, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5714:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5713:17:10" + }, + "payable": false, + "returnParameters": { + "id": 1786, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1785, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1815, + "src": "5752:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1784, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5752:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5751:6:10" + }, + "scope": 1854, + "src": "5688:463:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1852, + "nodeType": "Block", + "src": "6346:328:10", + "statements": [ + { + "assignments": [ + 1821 + ], + "declarations": [ + { + "constant": false, + "id": 1821, + "name": "videoHash", + "nodeType": "VariableDeclaration", + "scope": 1853, + "src": "6356:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1820, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6356:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1825, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1823, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1817, + "src": "6386:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1822, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "6376:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6376:19:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6356:39:10" + }, + { + "assignments": [ + 1827 + ], + "declarations": [ + { + "constant": false, + "id": 1827, + "name": "listing", + "nodeType": "VariableDeclaration", + "scope": 1853, + "src": "6405:23:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing" + }, + "typeName": { + "contractScope": null, + "id": 1826, + "name": "Listing", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1509, + "src": "6405:7:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1831, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1828, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "6431:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1509_storage_$", + "typeString": "mapping(bytes32 => struct TcrPlaceholder.Listing storage ref)" + } + }, + "id": 1830, + "indexExpression": { + "argumentTypes": null, + "id": 1829, + "name": "videoHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1821, + "src": "6440:9:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6431:19:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage", + "typeString": "struct TcrPlaceholder.Listing storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6405:45:10" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1832, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1827, + "src": "6526:7:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing storage pointer" + } + }, + "id": 1833, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 1506, + "src": "6526:23:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1834, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6552:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6526:27:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1846, + "nodeType": "IfStatement", + "src": "6522:108:10", + "trueBody": { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1839, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1827, + "src": "6590:7:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing storage pointer" + } + }, + "id": 1840, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1504, + "src": "6590:13:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1841, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1827, + "src": "6605:7:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing storage pointer" + } + }, + "id": 1842, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 1506, + "src": "6605:23:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1837, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1515, + "src": "6575:5:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + } + }, + "id": 1838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 2827, + "src": "6575:14:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 1843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6575:54:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1836, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "6567:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6567:63:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1845, + "nodeType": "ExpressionStatement", + "src": "6567:63:10" + } + }, + { + "expression": { + "argumentTypes": null, + "id": 1850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "6641:26:10", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1847, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "6648:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1509_storage_$", + "typeString": "mapping(bytes32 => struct TcrPlaceholder.Listing storage ref)" + } + }, + "id": 1849, + "indexExpression": { + "argumentTypes": null, + "id": 1848, + "name": "videoHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1821, + "src": "6657:9:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6648:19:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage", + "typeString": "struct TcrPlaceholder.Listing storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1851, + "nodeType": "ExpressionStatement", + "src": "6641:26:10" + } + ] + }, + "documentation": "@dev deletes a listing from the whitelist and transfers tokens back to owner\n@param _videoId the videoId to be removed", + "id": 1853, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "resetListing", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1818, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1817, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1853, + "src": "6321:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1816, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6321:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6320:17:10" + }, + "payable": false, + "returnParameters": { + "id": 1819, + "nodeType": "ParameterList", + "parameters": [], + "src": "6346:0:10" + }, + "scope": 1854, + "src": "6299:375:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + } + ], + "scope": 1855, + "src": "237:6440:10" + } + ], + "src": "0:6678:10" + }, + "legacyAST": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/TcrPlaceholder.sol", + "exportedSymbols": { + "TcrPlaceholder": [ + 1854 + ] + }, + "id": 1855, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1483, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:10" + }, + { + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 1484, + "nodeType": "ImportDirective", + "scope": 1855, + "sourceUnit": 2764, + "src": "26:59:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/ParatiiToken.sol", + "file": "./ParatiiToken.sol", + "id": 1485, + "nodeType": "ImportDirective", + "scope": 1855, + "sourceUnit": 872, + "src": "86:28:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Registry.sol", + "file": "./Registry.sol", + "id": 1486, + "nodeType": "ImportDirective", + "scope": 1855, + "sourceUnit": 1097, + "src": "115:24:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1487, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2763, + "src": "264:7:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$2763", + "typeString": "contract Ownable" + } + }, + "id": 1488, + "nodeType": "InheritanceSpecifier", + "src": "264:7:10" + } + ], + "contractDependencies": [ + 2763 + ], + "contractKind": "contract", + "documentation": "WARNING , NOT PRODUCTION READY, based on ADCHAIN Registry.\n THIS IS JUST A PLACEHOLDER..", + "fullyImplemented": true, + "id": 1854, + "linearizedBaseContracts": [ + 1854, + 2763 + ], + "name": "TcrPlaceholder", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 1494, + "name": "_Application", + "nodeType": "EventDefinition", + "parameters": { + "id": 1493, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1490, + "indexed": false, + "name": "videoId", + "nodeType": "VariableDeclaration", + "scope": 1494, + "src": "330:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1489, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "330:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1492, + "indexed": false, + "name": "deposit", + "nodeType": "VariableDeclaration", + "scope": 1494, + "src": "346:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1491, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "346:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "329:30:10" + }, + "src": "311:49:10" + }, + { + "anonymous": false, + "documentation": null, + "id": 1498, + "name": "_NewVideoWhitelisted", + "nodeType": "EventDefinition", + "parameters": { + "id": 1497, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1496, + "indexed": false, + "name": "videoId", + "nodeType": "VariableDeclaration", + "scope": 1498, + "src": "392:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1495, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "392:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "391:16:10" + }, + "src": "365:43:10" + }, + { + "canonicalName": "TcrPlaceholder.Listing", + "id": 1509, + "members": [ + { + "constant": false, + "id": 1500, + "name": "applicationExpiry", + "nodeType": "VariableDeclaration", + "scope": 1509, + "src": "439:22:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1499, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "439:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1502, + "name": "whitelisted", + "nodeType": "VariableDeclaration", + "scope": 1509, + "src": "505:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1501, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "505:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1504, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1509, + "src": "560:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1503, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "560:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1506, + "name": "unstakedDeposit", + "nodeType": "VariableDeclaration", + "scope": 1509, + "src": "615:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1505, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "615:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1508, + "name": "challengeID", + "nodeType": "VariableDeclaration", + "scope": 1509, + "src": "708:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1507, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "708:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Listing", + "nodeType": "StructDefinition", + "scope": 1854, + "src": "414:352:10", + "visibility": "public" + }, + { + "constant": false, + "id": 1513, + "name": "listings", + "nodeType": "VariableDeclaration", + "scope": 1854, + "src": "819:43:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1509_storage_$", + "typeString": "mapping(bytes32 => struct TcrPlaceholder.Listing)" + }, + "typeName": { + "id": 1512, + "keyType": { + "id": 1510, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "827:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "819:27:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1509_storage_$", + "typeString": "mapping(bytes32 => struct TcrPlaceholder.Listing)" + }, + "valueType": { + "contractScope": null, + "id": 1511, + "name": "Listing", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1509, + "src": "838:7:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1515, + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 1854, + "src": "869:25:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + }, + "typeName": { + "contractScope": null, + "id": 1514, + "name": "ParatiiToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 871, + "src": "869:12:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1517, + "name": "minDeposit", + "nodeType": "VariableDeclaration", + "scope": 1854, + "src": "900:22:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1516, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "900:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1519, + "name": "applyStageLen", + "nodeType": "VariableDeclaration", + "scope": 1854, + "src": "928:25:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1518, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "928:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 1521, + "name": "registry", + "nodeType": "VariableDeclaration", + "scope": 1854, + "src": "959:24:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 1520, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1096, + "src": "959:8:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 1555, + "nodeType": "Block", + "src": "1255:196:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1532, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2711, + "src": "1265:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1533, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "1273:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1273:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1265:18:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1536, + "nodeType": "ExpressionStatement", + "src": "1265:18:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 1539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1537, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1521, + "src": "1293:8:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1538, + "name": "_registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1523, + "src": "1304:9:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "src": "1293:20:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "id": 1540, + "nodeType": "ExpressionStatement", + "src": "1293:20:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 1545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1541, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1515, + "src": "1323:5:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1543, + "name": "_tokenAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1525, + "src": "1344:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1542, + "name": "ParatiiToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 871, + "src": "1331:12:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ParatiiToken_$871_$", + "typeString": "type(contract ParatiiToken)" + } + }, + "id": 1544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1331:24:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + } + }, + "src": "1323:32:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + } + }, + "id": 1546, + "nodeType": "ExpressionStatement", + "src": "1323:32:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 1549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1547, + "name": "minDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "1365:10:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1548, + "name": "_minDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1527, + "src": "1378:11:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1365:24:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1550, + "nodeType": "ExpressionStatement", + "src": "1365:24:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 1553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1551, + "name": "applyStageLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "1399:13:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1552, + "name": "_applyStageLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1529, + "src": "1415:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1399:30:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1554, + "nodeType": "ExpressionStatement", + "src": "1399:30:10" + } + ] + }, + "documentation": null, + "id": 1556, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1530, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1523, + "name": "_registry", + "nodeType": "VariableDeclaration", + "scope": 1556, + "src": "1140:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 1522, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1096, + "src": "1140:8:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1525, + "name": "_tokenAddr", + "nodeType": "VariableDeclaration", + "scope": 1556, + "src": "1168:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1524, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1168:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1527, + "name": "_minDeposit", + "nodeType": "VariableDeclaration", + "scope": 1556, + "src": "1196:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1526, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1196:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1529, + "name": "_applyStageLen", + "nodeType": "VariableDeclaration", + "scope": 1556, + "src": "1222:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1528, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1222:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1130:117:10" + }, + "payable": false, + "returnParameters": { + "id": 1531, + "nodeType": "ParameterList", + "parameters": [], + "src": "1255:0:10" + }, + "scope": 1854, + "src": "1119:332:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1628, + "nodeType": "Block", + "src": "1818:584:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1836:24:10", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1565, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1558, + "src": "1851:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 1564, + "name": "isWhitelisted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1742, + "src": "1837:13:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (string memory) view returns (bool)" + } + }, + "id": 1566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1837:23:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1563, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "1828:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1828:33:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1569, + "nodeType": "ExpressionStatement", + "src": "1828:33:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1879:21:10", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1572, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1558, + "src": "1891:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 1571, + "name": "appWasMade", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1759, + "src": "1880:10:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (string memory) view returns (bool)" + } + }, + "id": 1573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1880:20:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1570, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "1871:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1871:30:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1576, + "nodeType": "ExpressionStatement", + "src": "1871:30:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1578, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1560, + "src": "1919:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 1579, + "name": "minDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "1930:10:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1919:21:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1577, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "1911:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1911:30:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1582, + "nodeType": "ExpressionStatement", + "src": "1911:30:10" + }, + { + "assignments": [ + 1584 + ], + "declarations": [ + { + "constant": false, + "id": 1584, + "name": "listing", + "nodeType": "VariableDeclaration", + "scope": 1629, + "src": "1973:23:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing" + }, + "typeName": { + "contractScope": null, + "id": 1583, + "name": "Listing", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1509, + "src": "1973:7:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1590, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1585, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "1999:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1509_storage_$", + "typeString": "mapping(bytes32 => struct TcrPlaceholder.Listing storage ref)" + } + }, + "id": 1589, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1587, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1558, + "src": "2018:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 1586, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "2008:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2008:19:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1999:29:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage", + "typeString": "struct TcrPlaceholder.Listing storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1973:55:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 1596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1591, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1584, + "src": "2038:7:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing storage pointer" + } + }, + "id": 1593, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1504, + "src": "2038:13:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1594, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "2054:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1595, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2054:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2038:26:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1597, + "nodeType": "ExpressionStatement", + "src": "2038:26:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1601, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1584, + "src": "2166:7:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing storage pointer" + } + }, + "id": 1602, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1504, + "src": "2166:13:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1603, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3207, + "src": "2181:4:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TcrPlaceholder_$1854", + "typeString": "contract TcrPlaceholder" + } + }, + { + "argumentTypes": null, + "id": 1604, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1560, + "src": "2187:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_TcrPlaceholder_$1854", + "typeString": "contract TcrPlaceholder" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1599, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1515, + "src": "2147:5:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + } + }, + "id": 1600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 2997, + "src": "2147:18:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 1605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2147:48:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1598, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "2139:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2139:57:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1607, + "nodeType": "ExpressionStatement", + "src": "2139:57:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 1615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1608, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1584, + "src": "2249:7:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing storage pointer" + } + }, + "id": 1610, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "applicationExpiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 1500, + "src": "2249:25:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1611, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3148, + "src": "2277:5:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 1612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "number", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2277:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 1613, + "name": "applyStageLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "2292:13:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2277:28:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2249:56:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1616, + "nodeType": "ExpressionStatement", + "src": "2249:56:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 1621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1617, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1584, + "src": "2315:7:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing storage pointer" + } + }, + "id": 1619, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 1506, + "src": "2315:23:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1620, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1560, + "src": "2341:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2315:33:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1622, + "nodeType": "ExpressionStatement", + "src": "2315:33:10" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1624, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1558, + "src": "2377:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "argumentTypes": null, + "id": 1625, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1560, + "src": "2387:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1623, + "name": "_Application", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1494, + "src": "2364:12:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256)" + } + }, + "id": 1626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2364:31:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1627, + "nodeType": "EmitStatement", + "src": "2359:36:10" + } + ] + }, + "documentation": "allow video creator to apply for whitelisting for a video.\n@param _videoId the videoId\n@param _amount the amount to Stake", + "id": 1629, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "apply", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1561, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1558, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1629, + "src": "1778:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1557, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1778:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1560, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 1629, + "src": "1795:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1559, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1795:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1777:31:10" + }, + "payable": false, + "returnParameters": { + "id": 1562, + "nodeType": "ParameterList", + "parameters": [], + "src": "1818:0:10" + }, + "scope": 1854, + "src": "1763:639:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1634, + "nodeType": "Block", + "src": "2614:8:10", + "statements": [] + }, + "documentation": "deposit an amount of tokens. (unstaked)\n@param amount the amount to deposit\n@return {EVENT} returns event log of deposit event.", + "id": 1635, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "deposit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1632, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1631, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 1635, + "src": "2592:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1630, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2592:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2591:13:10" + }, + "payable": false, + "returnParameters": { + "id": 1633, + "nodeType": "ParameterList", + "parameters": [], + "src": "2614:0:10" + }, + "scope": 1854, + "src": "2575:47:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1640, + "nodeType": "Block", + "src": "2788:8:10", + "statements": [] + }, + "documentation": "take out an amount of tokens from the unstaked tokens.\n@param amount the amount to take out", + "id": 1641, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "withdraw", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1638, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1637, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 1641, + "src": "2766:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1636, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2766:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2765:13:10" + }, + "payable": false, + "returnParameters": { + "id": 1639, + "nodeType": "ParameterList", + "parameters": [], + "src": "2788:0:10" + }, + "scope": 1854, + "src": "2748:48:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1672, + "nodeType": "Block", + "src": "2978:421:10", + "statements": [ + { + "assignments": [ + 1647 + ], + "declarations": [ + { + "constant": false, + "id": 1647, + "name": "listing", + "nodeType": "VariableDeclaration", + "scope": 1673, + "src": "2988:23:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing" + }, + "typeName": { + "contractScope": null, + "id": 1646, + "name": "Listing", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1509, + "src": "2988:7:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1653, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1648, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "3014:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1509_storage_$", + "typeString": "mapping(bytes32 => struct TcrPlaceholder.Listing storage ref)" + } + }, + "id": 1652, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1650, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1643, + "src": "3033:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 1649, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "3023:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3023:19:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3014:29:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage", + "typeString": "struct TcrPlaceholder.Listing storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2988:55:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1659, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1655, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "3062:3:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3062:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1657, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1647, + "src": "3076:7:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing storage pointer" + } + }, + "id": 1658, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1504, + "src": "3076:13:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3062:27:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1654, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "3054:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3054:36:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1661, + "nodeType": "ExpressionStatement", + "src": "3054:36:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1664, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1643, + "src": "3122:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 1663, + "name": "isWhitelisted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1742, + "src": "3108:13:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (string memory) view returns (bool)" + } + }, + "id": 1665, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3108:23:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1662, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "3100:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3100:32:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1667, + "nodeType": "ExpressionStatement", + "src": "3100:32:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1669, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1643, + "src": "3383:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 1668, + "name": "resetListing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1853, + "src": "3370:12:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 1670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3370:22:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1671, + "nodeType": "ExpressionStatement", + "src": "3370:22:10" + } + ] + }, + "documentation": "allow video creator to remove a video from the listing and return tokens.\n@param _videoId videoId to remove", + "id": 1673, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "exit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1644, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1643, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1673, + "src": "2952:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1642, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2952:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2951:17:10" + }, + "payable": false, + "returnParameters": { + "id": 1645, + "nodeType": "ParameterList", + "parameters": [], + "src": "2978:0:10" + }, + "scope": 1854, + "src": "2938:461:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 1684, + "nodeType": "Block", + "src": "3582:39:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1681, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1675, + "src": "3605:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1680, + "name": "resetListing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1853, + "src": "3592:12:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 1682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3592:22:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1683, + "nodeType": "ExpressionStatement", + "src": "3592:22:10" + } + ] + }, + "documentation": "remove a video , Only the TCR owner can do this.\n@param _videoId id of the video to remove.", + "id": 1685, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 1678, + "modifierName": { + "argumentTypes": null, + "id": 1677, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2737, + "src": "3572:9:10", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3572:9:10" + } + ], + "name": "removeListing", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1676, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1675, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1685, + "src": "3548:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1674, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3548:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3547:17:10" + }, + "payable": false, + "returnParameters": { + "id": 1679, + "nodeType": "ParameterList", + "parameters": [], + "src": "3582:0:10" + }, + "scope": 1854, + "src": "3525:96:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1707, + "nodeType": "Block", + "src": "3900:191:10", + "statements": [ + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1691, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1687, + "src": "3931:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1690, + "name": "canBeWhitelisted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1815, + "src": "3914:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (string memory) view returns (bool)" + } + }, + "id": 1692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3914:26:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1705, + "nodeType": "Block", + "src": "4052:33:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1702, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3163, + 3164 + ], + "referencedDeclaration": 3163, + "src": "4066:6:10", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1703, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4066:8:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1704, + "nodeType": "ExpressionStatement", + "src": "4066:8:10" + } + ] + }, + "id": 1706, + "nodeType": "IfStatement", + "src": "3910:175:10", + "trueBody": { + "id": 1701, + "nodeType": "Block", + "src": "3942:104:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1694, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1687, + "src": "3977:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1693, + "name": "whitelistApplication", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1727, + "src": "3956:20:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 1695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3956:30:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1696, + "nodeType": "ExpressionStatement", + "src": "3956:30:10" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1698, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1687, + "src": "4026:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1697, + "name": "_NewVideoWhitelisted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1498, + "src": "4005:20:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 1699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4005:30:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1700, + "nodeType": "EmitStatement", + "src": "4000:35:10" + } + ] + } + } + ] + }, + "documentation": "@notice Updates a videos's status from 'application' to 'listing'\n@notice or resolves a challenge if one exists.\n@param _videoId The videoId whose status is being updated", + "id": 1708, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateStatus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1688, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1687, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1708, + "src": "3876:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1686, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3876:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3875:17:10" + }, + "payable": false, + "returnParameters": { + "id": 1689, + "nodeType": "ParameterList", + "parameters": [], + "src": "3900:0:10" + }, + "scope": 1854, + "src": "3854:237:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1726, + "nodeType": "Block", + "src": "4432:105:10", + "statements": [ + { + "assignments": [ + 1714 + ], + "declarations": [ + { + "constant": false, + "id": 1714, + "name": "videoHash", + "nodeType": "VariableDeclaration", + "scope": 1727, + "src": "4442:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1713, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4442:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1718, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1716, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1710, + "src": "4472:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1715, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "4462:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4462:19:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4442:39:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 1724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1719, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "4492:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1509_storage_$", + "typeString": "mapping(bytes32 => struct TcrPlaceholder.Listing storage ref)" + } + }, + "id": 1721, + "indexExpression": { + "argumentTypes": null, + "id": 1720, + "name": "videoHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1714, + "src": "4501:9:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4492:19:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage", + "typeString": "struct TcrPlaceholder.Listing storage ref" + } + }, + "id": 1722, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "whitelisted", + "nodeType": "MemberAccess", + "referencedDeclaration": 1502, + "src": "4492:31:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1723, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4526:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4492:38:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1725, + "nodeType": "ExpressionStatement", + "src": "4492:38:10" + } + ] + }, + "documentation": "@dev Called by updateStatus() if the applicationExpiry date passed without a\nchallenge being made\n@dev Called by resolveChallenge() if an application/listing beat a challenge.\n@param _videoId The _videoId of an application/listing to be whitelisted", + "id": 1727, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "whitelistApplication", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1711, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1710, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1727, + "src": "4407:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1709, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4407:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4406:17:10" + }, + "payable": false, + "returnParameters": { + "id": 1712, + "nodeType": "ParameterList", + "parameters": [], + "src": "4432:0:10" + }, + "scope": 1854, + "src": "4377:160:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 1741, + "nodeType": "Block", + "src": "4952:65:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1734, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "4969:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1509_storage_$", + "typeString": "mapping(bytes32 => struct TcrPlaceholder.Listing storage ref)" + } + }, + "id": 1738, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1736, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1729, + "src": "4988:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1735, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "4978:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4978:19:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4969:29:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage", + "typeString": "struct TcrPlaceholder.Listing storage ref" + } + }, + "id": 1739, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "whitelisted", + "nodeType": "MemberAccess", + "referencedDeclaration": 1502, + "src": "4969:41:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1733, + "id": 1740, + "nodeType": "Return", + "src": "4962:48:10" + } + ] + }, + "documentation": "@dev returns true if video is whitelisted", + "id": 1742, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isWhitelisted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1730, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1729, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1742, + "src": "4896:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1728, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4896:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4895:17:10" + }, + "payable": false, + "returnParameters": { + "id": 1733, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1732, + "name": "whitelisted", + "nodeType": "VariableDeclaration", + "scope": 1742, + "src": "4934:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1731, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4934:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4933:18:10" + }, + "scope": 1854, + "src": "4873:144:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1758, + "nodeType": "Block", + "src": "5154:75:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1749, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "5171:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1509_storage_$", + "typeString": "mapping(bytes32 => struct TcrPlaceholder.Listing storage ref)" + } + }, + "id": 1753, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1751, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1744, + "src": "5190:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1750, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "5180:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5180:19:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5171:29:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage", + "typeString": "struct TcrPlaceholder.Listing storage ref" + } + }, + "id": 1754, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "applicationExpiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 1500, + "src": "5171:47:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1755, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5221:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5171:51:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1748, + "id": 1757, + "nodeType": "Return", + "src": "5164:58:10" + } + ] + }, + "documentation": null, + "id": 1759, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "appWasMade", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1745, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1744, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1759, + "src": "5103:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1743, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5103:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5102:17:10" + }, + "payable": false, + "returnParameters": { + "id": 1748, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1747, + "name": "exists", + "nodeType": "VariableDeclaration", + "scope": 1759, + "src": "5141:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1746, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5141:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5140:13:10" + }, + "scope": 1854, + "src": "5083:146:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1771, + "nodeType": "Block", + "src": "5367:48:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1766, + "name": "_termDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1761, + "src": "5384:9:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1767, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3148, + "src": "5396:5:10", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 1768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "number", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5396:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5384:24:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1765, + "id": 1770, + "nodeType": "Return", + "src": "5377:31:10" + } + ] + }, + "documentation": "@dev returns true if the provided termDate has passed", + "id": 1772, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isExpired", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1762, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1761, + "name": "_termDate", + "nodeType": "VariableDeclaration", + "scope": 1772, + "src": "5316:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1760, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5316:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5315:16:10" + }, + "payable": false, + "returnParameters": { + "id": 1765, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1764, + "name": "expired", + "nodeType": "VariableDeclaration", + "scope": 1772, + "src": "5353:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1763, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5353:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5352:14:10" + }, + "scope": 1854, + "src": "5297:118:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1779, + "nodeType": "Block", + "src": "5473:34:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1777, + "name": "minDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "5490:10:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1776, + "id": 1778, + "nodeType": "Return", + "src": "5483:17:10" + } + ] + }, + "documentation": null, + "id": 1780, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getMinDeposit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1773, + "nodeType": "ParameterList", + "parameters": [], + "src": "5443:2:10" + }, + "payable": false, + "returnParameters": { + "id": 1776, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1775, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1780, + "src": "5467:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1774, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5467:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5466:6:10" + }, + "scope": 1854, + "src": "5421:86:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1814, + "nodeType": "Block", + "src": "5758:393:10", + "statements": [ + { + "assignments": [ + 1788 + ], + "declarations": [ + { + "constant": false, + "id": 1788, + "name": "videoHash", + "nodeType": "VariableDeclaration", + "scope": 1815, + "src": "5768:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1787, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5768:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1792, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1790, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1782, + "src": "5798:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1789, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "5788:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5788:19:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5768:39:10" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1794, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1782, + "src": "5982:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1793, + "name": "appWasMade", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1759, + "src": "5971:10:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (string memory) view returns (bool)" + } + }, + "id": 1795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5971:20:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1797, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "6017:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1509_storage_$", + "typeString": "mapping(bytes32 => struct TcrPlaceholder.Listing storage ref)" + } + }, + "id": 1799, + "indexExpression": { + "argumentTypes": null, + "id": 1798, + "name": "videoHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1788, + "src": "6026:9:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6017:19:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage", + "typeString": "struct TcrPlaceholder.Listing storage ref" + } + }, + "id": 1800, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "applicationExpiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 1500, + "src": "6017:37:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1796, + "name": "isExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1772, + "src": "6007:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1801, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6007:48:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5971:84:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 1806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "6071:24:10", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1804, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1782, + "src": "6086:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1803, + "name": "isWhitelisted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1742, + "src": "6072:13:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (string memory) view returns (bool)" + } + }, + "id": 1805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6072:23:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5971:124:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1811, + "nodeType": "IfStatement", + "src": "5954:168:10", + "trueBody": { + "id": 1810, + "nodeType": "Block", + "src": "6106:16:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1808, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6115:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1786, + "id": 1809, + "nodeType": "Return", + "src": "6108:11:10" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 1812, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6139:5:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 1786, + "id": 1813, + "nodeType": "Return", + "src": "6132:12:10" + } + ] + }, + "documentation": "@dev Determines whether the video of an application can be whitelisted.\n@param _videoId The videoId whose status should be examined", + "id": 1815, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "canBeWhitelisted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1783, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1782, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1815, + "src": "5714:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1781, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5714:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5713:17:10" + }, + "payable": false, + "returnParameters": { + "id": 1786, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1785, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1815, + "src": "5752:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1784, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5752:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5751:6:10" + }, + "scope": 1854, + "src": "5688:463:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1852, + "nodeType": "Block", + "src": "6346:328:10", + "statements": [ + { + "assignments": [ + 1821 + ], + "declarations": [ + { + "constant": false, + "id": 1821, + "name": "videoHash", + "nodeType": "VariableDeclaration", + "scope": 1853, + "src": "6356:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1820, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6356:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1825, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1823, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1817, + "src": "6386:8:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1822, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "6376:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6376:19:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6356:39:10" + }, + { + "assignments": [ + 1827 + ], + "declarations": [ + { + "constant": false, + "id": 1827, + "name": "listing", + "nodeType": "VariableDeclaration", + "scope": 1853, + "src": "6405:23:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing" + }, + "typeName": { + "contractScope": null, + "id": 1826, + "name": "Listing", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1509, + "src": "6405:7:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1831, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1828, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "6431:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1509_storage_$", + "typeString": "mapping(bytes32 => struct TcrPlaceholder.Listing storage ref)" + } + }, + "id": 1830, + "indexExpression": { + "argumentTypes": null, + "id": 1829, + "name": "videoHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1821, + "src": "6440:9:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6431:19:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage", + "typeString": "struct TcrPlaceholder.Listing storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6405:45:10" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1832, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1827, + "src": "6526:7:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing storage pointer" + } + }, + "id": 1833, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 1506, + "src": "6526:23:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1834, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6552:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6526:27:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1846, + "nodeType": "IfStatement", + "src": "6522:108:10", + "trueBody": { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1839, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1827, + "src": "6590:7:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing storage pointer" + } + }, + "id": 1840, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1504, + "src": "6590:13:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1841, + "name": "listing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1827, + "src": "6605:7:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage_ptr", + "typeString": "struct TcrPlaceholder.Listing storage pointer" + } + }, + "id": 1842, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "unstakedDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 1506, + "src": "6605:23:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1837, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1515, + "src": "6575:5:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + } + }, + "id": 1838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 2827, + "src": "6575:14:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 1843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6575:54:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1836, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "6567:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6567:63:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1845, + "nodeType": "ExpressionStatement", + "src": "6567:63:10" + } + }, + { + "expression": { + "argumentTypes": null, + "id": 1850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "6641:26:10", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1847, + "name": "listings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "6648:8:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Listing_$1509_storage_$", + "typeString": "mapping(bytes32 => struct TcrPlaceholder.Listing storage ref)" + } + }, + "id": 1849, + "indexExpression": { + "argumentTypes": null, + "id": 1848, + "name": "videoHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1821, + "src": "6657:9:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6648:19:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Listing_$1509_storage", + "typeString": "struct TcrPlaceholder.Listing storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1851, + "nodeType": "ExpressionStatement", + "src": "6641:26:10" + } + ] + }, + "documentation": "@dev deletes a listing from the whitelist and transfers tokens back to owner\n@param _videoId the videoId to be removed", + "id": 1853, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "resetListing", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1818, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1817, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1853, + "src": "6321:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1816, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6321:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6320:17:10" + }, + "payable": false, + "returnParameters": { + "id": 1819, + "nodeType": "ParameterList", + "parameters": [], + "src": "6346:0:10" + }, + "scope": 1854, + "src": "6299:375:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + } + ], + "scope": 1855, + "src": "237:6440:10" + } + ], + "src": "0:6678:10" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-29T16:29:38.964Z" +} \ No newline at end of file diff --git a/build/contracts/Users.json b/build/contracts/Users.json index 9c01ab6..5ed3199 100644 --- a/build/contracts/Users.json +++ b/build/contracts/Users.json @@ -1 +1,3761 @@ -{"contractName":"Users","abi":[{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"users","outputs":[{"name":"name","type":"string"},{"name":"email","type":"string"},{"name":"ipfsData","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"},{"indexed":false,"name":"_name","type":"string"},{"indexed":false,"name":"_email","type":"string"},{"indexed":false,"name":"_ipfsData","type":"string"}],"name":"LogCreateUser","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"}],"name":"LogRemoveUser","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_name","type":"string"},{"name":"_email","type":"string"},{"name":"_ipfsData","type":"string"}],"name":"create","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"remove","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"get","outputs":[{"name":"","type":"string"},{"name":"","type":"string"},{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b60405160208061115e83398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050611062806100fc6000396000f300606060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806329092d0e1461007d57806358192547146100b65780638da5cb5b146101b8578063a87430ba1461020d578063c2bc2efc14610397578063f2fde38b14610521575b600080fd5b341561008857600080fd5b6100b4600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061055a565b005b34156100c157600080fd5b6101b6600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506106a5565b005b34156101c357600080fd5b6101cb610980565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561021857600080fd5b610244600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506109a5565b60405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561028c578082015181840152602081019050610271565b50505050905090810190601f1680156102b95780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156102f25780820151818401526020810190506102d7565b50505050905090810190601f16801561031f5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561035857808201518184015260208101905061033d565b50505050905090810190601f1680156103855780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b34156103a257600080fd5b6103ce600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b97565b60405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b838110156104165780820151818401526020810190506103fb565b50505050905090810190601f1680156104435780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b8381101561047c578082015181840152602081019050610461565b50505050905090810190601f1680156104a95780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b838110156104e25780820151818401526020810190506104c7565b50505050905090810190601f16801561050f5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b341561052c57600080fd5b610558600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610de0565b005b806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806105e157508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156105ec57600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808201600061063c9190610f35565b60018201600061064c9190610f35565b60028201600061065c9190610f35565b50508173ffffffffffffffffffffffffffffffffffffffff167f55851df80c45c1f97f20eea833f78ef3d130c5a10c8fc9c7ee1c7f1612b5c5b160405160405180910390a25050565b836000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061072c57508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561073757600080fd5b60606040519081016040528085815260200184815260200183815250600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000190805190602001906107ae929190610f7d565b5060208201518160010190805190602001906107cb929190610f7d565b5060408201518160020190805190602001906107e8929190610f7d565b509050508473ffffffffffffffffffffffffffffffffffffffff167fba99562563f525f7262c85e26d4cc59ed7bc12b61f8c070b57cb400fa8e6a9b885858560405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561086f578082015181840152602081019050610854565b50505050905090810190601f16801561089c5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156108d55780820151818401526020810190506108ba565b50505050905090810190601f1680156109025780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561093b578082015181840152602081019050610920565b50505050905090810190601f1680156109685780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a25050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6002602052806000526040600020600091509050806000018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a515780601f10610a2657610100808354040283529160200191610a51565b820191906000526020600020905b815481529060010190602001808311610a3457829003601f168201915b505050505090806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610aef5780601f10610ac457610100808354040283529160200191610aef565b820191906000526020600020905b815481529060010190602001808311610ad257829003601f168201915b505050505090806002018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b8d5780601f10610b6257610100808354040283529160200191610b8d565b820191906000526020600020905b815481529060010190602001808311610b7057829003601f168201915b5050505050905083565b610b9f610ffd565b610ba7610ffd565b610baf610ffd565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050806000018160010182600201828054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c935780601f10610c6857610100808354040283529160200191610c93565b820191906000526020600020905b815481529060010190602001808311610c7657829003601f168201915b50505050509250818054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d2f5780601f10610d0457610100808354040283529160200191610d2f565b820191906000526020600020905b815481529060010190602001808311610d1257829003601f168201915b50505050509150808054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610dcb5780601f10610da057610100808354040283529160200191610dcb565b820191906000526020600020905b815481529060010190602001808311610dae57829003601f168201915b50505050509050935093509350509193909250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e3b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610e7757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b50805460018160011615610100020316600290046000825580601f10610f5b5750610f7a565b601f016020900490600052602060002090810190610f799190611011565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610fbe57805160ff1916838001178555610fec565b82800160010185558215610fec579182015b82811115610feb578251825591602001919060010190610fd0565b5b509050610ff99190611011565b5090565b602060405190810160405280600081525090565b61103391905b8082111561102f576000816000905550600101611017565b5090565b905600a165627a7a72305820c9399b1ff0f8cb831ad4f0d78a00ca56e8c540e031f43b964c727d540c4bafbf0029","deployedBytecode":"0x606060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806329092d0e1461007d57806358192547146100b65780638da5cb5b146101b8578063a87430ba1461020d578063c2bc2efc14610397578063f2fde38b14610521575b600080fd5b341561008857600080fd5b6100b4600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061055a565b005b34156100c157600080fd5b6101b6600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506106a5565b005b34156101c357600080fd5b6101cb610980565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561021857600080fd5b610244600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506109a5565b60405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561028c578082015181840152602081019050610271565b50505050905090810190601f1680156102b95780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156102f25780820151818401526020810190506102d7565b50505050905090810190601f16801561031f5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561035857808201518184015260208101905061033d565b50505050905090810190601f1680156103855780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b34156103a257600080fd5b6103ce600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b97565b60405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b838110156104165780820151818401526020810190506103fb565b50505050905090810190601f1680156104435780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b8381101561047c578082015181840152602081019050610461565b50505050905090810190601f1680156104a95780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b838110156104e25780820151818401526020810190506104c7565b50505050905090810190601f16801561050f5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b341561052c57600080fd5b610558600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610de0565b005b806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806105e157508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156105ec57600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808201600061063c9190610f35565b60018201600061064c9190610f35565b60028201600061065c9190610f35565b50508173ffffffffffffffffffffffffffffffffffffffff167f55851df80c45c1f97f20eea833f78ef3d130c5a10c8fc9c7ee1c7f1612b5c5b160405160405180910390a25050565b836000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061072c57508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561073757600080fd5b60606040519081016040528085815260200184815260200183815250600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000190805190602001906107ae929190610f7d565b5060208201518160010190805190602001906107cb929190610f7d565b5060408201518160020190805190602001906107e8929190610f7d565b509050508473ffffffffffffffffffffffffffffffffffffffff167fba99562563f525f7262c85e26d4cc59ed7bc12b61f8c070b57cb400fa8e6a9b885858560405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561086f578082015181840152602081019050610854565b50505050905090810190601f16801561089c5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156108d55780820151818401526020810190506108ba565b50505050905090810190601f1680156109025780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561093b578082015181840152602081019050610920565b50505050905090810190601f1680156109685780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a25050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6002602052806000526040600020600091509050806000018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a515780601f10610a2657610100808354040283529160200191610a51565b820191906000526020600020905b815481529060010190602001808311610a3457829003601f168201915b505050505090806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610aef5780601f10610ac457610100808354040283529160200191610aef565b820191906000526020600020905b815481529060010190602001808311610ad257829003601f168201915b505050505090806002018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b8d5780601f10610b6257610100808354040283529160200191610b8d565b820191906000526020600020905b815481529060010190602001808311610b7057829003601f168201915b5050505050905083565b610b9f610ffd565b610ba7610ffd565b610baf610ffd565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050806000018160010182600201828054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c935780601f10610c6857610100808354040283529160200191610c93565b820191906000526020600020905b815481529060010190602001808311610c7657829003601f168201915b50505050509250818054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d2f5780601f10610d0457610100808354040283529160200191610d2f565b820191906000526020600020905b815481529060010190602001808311610d1257829003601f168201915b50505050509150808054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610dcb5780601f10610da057610100808354040283529160200191610dcb565b820191906000526020600020905b815481529060010190602001808311610dae57829003601f168201915b50505050509050935093509350509193909250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e3b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610e7757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b50805460018160011615610100020316600290046000825580601f10610f5b5750610f7a565b601f016020900490600052602060002090810190610f799190611011565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610fbe57805160ff1916838001178555610fec565b82800160010185558215610fec579182015b82811115610feb578251825591602001919060010190610fd0565b5b509050610ff99190611011565b5090565b602060405190810160405280600081525090565b61103391905b8082111561102f576000816000905550600101611017565b5090565b905600a165627a7a72305820c9399b1ff0f8cb831ad4f0d78a00ca56e8c540e031f43b964c727d540c4bafbf0029"} \ No newline at end of file +{ + "contractName": "Users", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "users", + "outputs": [ + { + "name": "name", + "type": "string" + }, + { + "name": "email", + "type": "string" + }, + { + "name": "ipfsData", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "name": "_registry", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_address", + "type": "address" + }, + { + "indexed": false, + "name": "_name", + "type": "string" + }, + { + "indexed": false, + "name": "_email", + "type": "string" + }, + { + "indexed": false, + "name": "_ipfsData", + "type": "string" + } + ], + "name": "LogCreateUser", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_address", + "type": "address" + } + ], + "name": "LogRemoveUser", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_address", + "type": "address" + }, + { + "name": "_name", + "type": "string" + }, + { + "name": "_email", + "type": "string" + }, + { + "name": "_ipfsData", + "type": "string" + } + ], + "name": "create", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_address", + "type": "address" + } + ], + "name": "remove", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_address", + "type": "address" + } + ], + "name": "get", + "outputs": [ + { + "name": "", + "type": "string" + }, + { + "name": "", + "type": "string" + }, + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b5060405160208061117c83398101806040528101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050611078806101046000396000f300608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806329092d0e1461007d57806358192547146100c05780638da5cb5b146101d5578063a87430ba1461022c578063c2bc2efc146103c0578063f2fde38b14610554575b600080fd5b34801561008957600080fd5b506100be600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610597565b005b3480156100cc57600080fd5b506101d3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506106e2565b005b3480156101e157600080fd5b506101ea6109bd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561023857600080fd5b5061026d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109e2565b60405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b838110156102b557808201518184015260208101905061029a565b50505050905090810190601f1680156102e25780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b8381101561031b578082015181840152602081019050610300565b50505050905090810190601f1680156103485780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610381578082015181840152602081019050610366565b50505050905090810190601f1680156103ae5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b3480156103cc57600080fd5b50610401600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bd4565b60405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561044957808201518184015260208101905061042e565b50505050905090810190601f1680156104765780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156104af578082015181840152602081019050610494565b50505050905090810190601f1680156104dc5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b838110156105155780820151818401526020810190506104fa565b50505050905090810190601f1680156105425780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b34801561056057600080fd5b50610595600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e0a565b005b806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061061e57508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561062957600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006106799190610f5f565b6001820160006106899190610f5f565b6002820160006106999190610f5f565b50508173ffffffffffffffffffffffffffffffffffffffff167f55851df80c45c1f97f20eea833f78ef3d130c5a10c8fc9c7ee1c7f1612b5c5b160405160405180910390a25050565b836000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061076957508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561077457600080fd5b60606040519081016040528085815260200184815260200183815250600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000190805190602001906107eb929190610fa7565b506020820151816001019080519060200190610808929190610fa7565b506040820151816002019080519060200190610825929190610fa7565b509050508473ffffffffffffffffffffffffffffffffffffffff167fba99562563f525f7262c85e26d4cc59ed7bc12b61f8c070b57cb400fa8e6a9b885858560405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b838110156108ac578082015181840152602081019050610891565b50505050905090810190601f1680156108d95780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156109125780820151818401526020810190506108f7565b50505050905090810190601f16801561093f5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561097857808201518184015260208101905061095d565b50505050905090810190601f1680156109a55780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a25050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6002602052806000526040600020600091509050806000018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a8e5780601f10610a6357610100808354040283529160200191610a8e565b820191906000526020600020905b815481529060010190602001808311610a7157829003601f168201915b505050505090806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b2c5780601f10610b0157610100808354040283529160200191610b2c565b820191906000526020600020905b815481529060010190602001808311610b0f57829003601f168201915b505050505090806002018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bca5780601f10610b9f57610100808354040283529160200191610bca565b820191906000526020600020905b815481529060010190602001808311610bad57829003601f168201915b5050505050905083565b60608060606000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050806000018160010182600201828054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610cbd5780601f10610c9257610100808354040283529160200191610cbd565b820191906000526020600020905b815481529060010190602001808311610ca057829003601f168201915b50505050509250818054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d595780601f10610d2e57610100808354040283529160200191610d59565b820191906000526020600020905b815481529060010190602001808311610d3c57829003601f168201915b50505050509150808054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610df55780601f10610dca57610100808354040283529160200191610df5565b820191906000526020600020905b815481529060010190602001808311610dd857829003601f168201915b50505050509050935093509350509193909250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e6557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610ea157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b50805460018160011615610100020316600290046000825580601f10610f855750610fa4565b601f016020900490600052602060002090810190610fa39190611027565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610fe857805160ff1916838001178555611016565b82800160010185558215611016579182015b82811115611015578251825591602001919060010190610ffa565b5b5090506110239190611027565b5090565b61104991905b8082111561104557600081600090555060010161102d565b5090565b905600a165627a7a72305820a1a92e395ff74d5c0e51e55af863bd81930b84c6b8840142cc842731ac65489a0029", + "deployedBytecode": "0x608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806329092d0e1461007d57806358192547146100c05780638da5cb5b146101d5578063a87430ba1461022c578063c2bc2efc146103c0578063f2fde38b14610554575b600080fd5b34801561008957600080fd5b506100be600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610597565b005b3480156100cc57600080fd5b506101d3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506106e2565b005b3480156101e157600080fd5b506101ea6109bd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561023857600080fd5b5061026d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109e2565b60405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b838110156102b557808201518184015260208101905061029a565b50505050905090810190601f1680156102e25780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b8381101561031b578082015181840152602081019050610300565b50505050905090810190601f1680156103485780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015610381578082015181840152602081019050610366565b50505050905090810190601f1680156103ae5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b3480156103cc57600080fd5b50610401600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bd4565b60405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561044957808201518184015260208101905061042e565b50505050905090810190601f1680156104765780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156104af578082015181840152602081019050610494565b50505050905090810190601f1680156104dc5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b838110156105155780820151818401526020810190506104fa565b50505050905090810190601f1680156105425780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b34801561056057600080fd5b50610595600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e0a565b005b806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061061e57508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561062957600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006106799190610f5f565b6001820160006106899190610f5f565b6002820160006106999190610f5f565b50508173ffffffffffffffffffffffffffffffffffffffff167f55851df80c45c1f97f20eea833f78ef3d130c5a10c8fc9c7ee1c7f1612b5c5b160405160405180910390a25050565b836000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061076957508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561077457600080fd5b60606040519081016040528085815260200184815260200183815250600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000190805190602001906107eb929190610fa7565b506020820151816001019080519060200190610808929190610fa7565b506040820151816002019080519060200190610825929190610fa7565b509050508473ffffffffffffffffffffffffffffffffffffffff167fba99562563f525f7262c85e26d4cc59ed7bc12b61f8c070b57cb400fa8e6a9b885858560405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b838110156108ac578082015181840152602081019050610891565b50505050905090810190601f1680156108d95780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156109125780820151818401526020810190506108f7565b50505050905090810190601f16801561093f5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561097857808201518184015260208101905061095d565b50505050905090810190601f1680156109a55780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a25050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6002602052806000526040600020600091509050806000018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a8e5780601f10610a6357610100808354040283529160200191610a8e565b820191906000526020600020905b815481529060010190602001808311610a7157829003601f168201915b505050505090806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b2c5780601f10610b0157610100808354040283529160200191610b2c565b820191906000526020600020905b815481529060010190602001808311610b0f57829003601f168201915b505050505090806002018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bca5780601f10610b9f57610100808354040283529160200191610bca565b820191906000526020600020905b815481529060010190602001808311610bad57829003601f168201915b5050505050905083565b60608060606000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050806000018160010182600201828054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610cbd5780601f10610c9257610100808354040283529160200191610cbd565b820191906000526020600020905b815481529060010190602001808311610ca057829003601f168201915b50505050509250818054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d595780601f10610d2e57610100808354040283529160200191610d59565b820191906000526020600020905b815481529060010190602001808311610d3c57829003601f168201915b50505050509150808054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610df55780601f10610dca57610100808354040283529160200191610df5565b820191906000526020600020905b815481529060010190602001808311610dd857829003601f168201915b50505050509050935093509350509193909250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e6557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610ea157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b50805460018160011615610100020316600290046000825580601f10610f855750610fa4565b601f016020900490600052602060002090810190610fa39190611027565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610fe857805160ff1916838001178555611016565b82800160010185558215611016579182015b82811115611015578251825591602001919060010190610ffa565b5b5090506110239190611027565b5090565b61104991905b8082111561104557600081600090555060010161102d565b5090565b905600a165627a7a72305820a1a92e395ff74d5c0e51e55af863bd81930b84c6b8840142cc842731ac65489a0029", + "sourceMap": "112:1951:6:-;;;633:104;8:9:-1;5:2;;;30:1;27;20:12;5:2;633:104:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;502:10:9;494:5;;:18;;;;;;;;;;;;;;;;;;690:10:6;682:5;;:18;;;;;;;;;;;;;;;;;;721:9;710:8;;:20;;;;;;;;;;;;;;;;;;633:104;112:1951;;;;;;", + "deployedSourceMap": "112:1951:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1553:144;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1553:144:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;1018:370;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1018:370:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:9;;;;;;;;;;;;;;;;;;;;;;;;;;;266:40:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;266:40:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;266:40:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;266:40:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;266:40:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1859:202;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1859:202:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1859:202:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1859:202:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1859:202:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;827:169:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;827:169:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;1553:144:6;1610:8;577:5;;;;;;;;;;;563:19;;:10;:19;;;:45;;;;600:8;586:22;;:10;:22;;;563:45;555:54;;;;;;;;1637:5;:15;1643:8;1637:15;;;;;;;;;;;;;;;;1630:22;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;1681:8;1667:23;;;;;;;;;;;;1553:144;;:::o;1018:370::-;1168:8;577:5;;;;;;;;;;;563:19;;:10;:19;;;:45;;;;600:8;586:22;;:10;:22;;;563:45;555:54;;;;;;;;1211:105;;;;;;;;;1240:5;1211:105;;;;1266:6;1211:105;;;;1296:9;1211:105;;;1193:5;:15;1199:8;1193:15;;;;;;;;;;;;;;;:123;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;1346:8;1332:49;;;1356:5;1363:6;1371:9;1332:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1332:49:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1332:49:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1332:49:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1018:370;;;;;:::o;238:20:9:-;;;;;;;;;;;;;:::o;266:40:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1859:202::-;1910:6;1918;1926;1944:25;1972:5;:15;1978:8;1972:15;;;;;;;;;;;;;;;1944:43;;2005:8;:13;;2020:8;:14;;2036:8;:17;;1997:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1859:202;;;;;;:::o;827:169:9:-;647:5;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;923:1;903:22;;:8;:22;;;;895:31;;;;;;;;960:8;932:37;;953:5;;;;;;;;;;;932:37;;;;;;;;;;;;983:8;975:5;;:16;;;;;;;;;;;;;;;;;;827:169;:::o;112:1951:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.18;\n\nimport \"zeppelin-solidity/contracts/ownership/Ownable.sol\";\nimport \"./Registry.sol\";\n\ncontract Users is Ownable {\n\n Registry registry;\n\n struct UserInfo {\n string name;\n string email;\n string ipfsData;\n }\n\n mapping (address=>UserInfo) public users;\n\n event LogCreateUser(\n address indexed _address,\n string _name,\n string _email,\n string _ipfsData\n );\n\n event LogRemoveUser(address indexed _address);\n\n modifier onlyOwnerOrUser(address _address) {\n require(msg.sender == owner || msg.sender == _address);\n _;\n }\n\n constructor(Registry _registry) public {\n owner = msg.sender;\n registry = _registry;\n }\n\n /**\n * @dev Register a new user\n * @param _address - the ethereum address of the user\n * @param _name - the name of the user\n * @param _email - the email address of the user\n * @param _ipfsData - the hash of a JSON file with data of the video\n */\n function create(\n address _address,\n string _name,\n string _email,\n string _ipfsData\n )\n public onlyOwnerOrUser(_address) \n {\n users[_address] = UserInfo({\n name: _name,\n email: _email,\n ipfsData: _ipfsData\n });\n\n emit LogCreateUser(_address, _name, _email, _ipfsData);\n }\n\n /**\n * @dev unregister a User\n * Deletes the data of the user from users\n * @param _address the address of the user to be unregistered\n */\n function remove(address _address) public onlyOwnerOrUser(_address) {\n delete users[_address];\n emit LogRemoveUser(_address);\n }\n\n /**\n * @dev return information about the user\n * @param _address the address of the user\n * @return a tuple (name, email, ipfsData)\n */\n function get(address _address) public view returns(string, string, string) {\n UserInfo storage userInfo = users[_address];\n return (userInfo.name, userInfo.email, userInfo.ipfsData);\n }\n}\n", + "sourcePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Users.sol", + "ast": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Users.sol", + "exportedSymbols": { + "Users": [ + 973 + ] + }, + "id": 974, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 832, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:6" + }, + { + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 833, + "nodeType": "ImportDirective", + "scope": 974, + "sourceUnit": 1355, + "src": "26:59:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Registry.sol", + "file": "./Registry.sol", + "id": 834, + "nodeType": "ImportDirective", + "scope": 974, + "sourceUnit": 494, + "src": "86:24:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 835, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1354, + "src": "130:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$1354", + "typeString": "contract Ownable" + } + }, + "id": 836, + "nodeType": "InheritanceSpecifier", + "src": "130:7:6" + } + ], + "contractDependencies": [ + 1354 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 973, + "linearizedBaseContracts": [ + 973, + 1354 + ], + "name": "Users", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 838, + "name": "registry", + "nodeType": "VariableDeclaration", + "scope": 973, + "src": "145:17:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 837, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 493, + "src": "145:8:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "internal" + }, + { + "canonicalName": "Users.UserInfo", + "id": 845, + "members": [ + { + "constant": false, + "id": 840, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 845, + "src": "195:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 839, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "195:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 842, + "name": "email", + "nodeType": "VariableDeclaration", + "scope": 845, + "src": "216:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 841, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "216:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 844, + "name": "ipfsData", + "nodeType": "VariableDeclaration", + "scope": 845, + "src": "238:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 843, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "238:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "UserInfo", + "nodeType": "StructDefinition", + "scope": 973, + "src": "169:91:6", + "visibility": "public" + }, + { + "constant": false, + "id": 849, + "name": "users", + "nodeType": "VariableDeclaration", + "scope": 973, + "src": "266:40:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$845_storage_$", + "typeString": "mapping(address => struct Users.UserInfo)" + }, + "typeName": { + "id": 848, + "keyType": { + "id": 846, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "275:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "266:27:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$845_storage_$", + "typeString": "mapping(address => struct Users.UserInfo)" + }, + "valueType": { + "contractScope": null, + "id": 847, + "name": "UserInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 845, + "src": "284:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserInfo_$845_storage_ptr", + "typeString": "struct Users.UserInfo" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 859, + "name": "LogCreateUser", + "nodeType": "EventDefinition", + "parameters": { + "id": 858, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 851, + "indexed": true, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 859, + "src": "342:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 850, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "342:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 853, + "indexed": false, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 859, + "src": "376:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 852, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "376:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 855, + "indexed": false, + "name": "_email", + "nodeType": "VariableDeclaration", + "scope": 859, + "src": "398:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 854, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "398:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 857, + "indexed": false, + "name": "_ipfsData", + "nodeType": "VariableDeclaration", + "scope": 859, + "src": "421:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 856, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "421:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "332:111:6" + }, + "src": "313:131:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 863, + "name": "LogRemoveUser", + "nodeType": "EventDefinition", + "parameters": { + "id": 862, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 861, + "indexed": true, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 863, + "src": "470:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 860, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "470:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "469:26:6" + }, + "src": "450:46:6" + }, + { + "body": { + "id": 880, + "nodeType": "Block", + "src": "545:82:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 868, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "563:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "563:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 870, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1302, + "src": "577:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "563:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 872, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "586:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "586:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 874, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 865, + "src": "600:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "586:22:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "563:45:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 867, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1752, + 1753 + ], + "referencedDeclaration": 1752, + "src": "555:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "555:54:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 878, + "nodeType": "ExpressionStatement", + "src": "555:54:6" + }, + { + "id": 879, + "nodeType": "PlaceholderStatement", + "src": "619:1:6" + } + ] + }, + "documentation": null, + "id": 881, + "name": "onlyOwnerOrUser", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 866, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 865, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 881, + "src": "527:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 864, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "527:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "526:18:6" + }, + "src": "502:125:6", + "visibility": "internal" + }, + { + "body": { + "id": 895, + "nodeType": "Block", + "src": "672:65:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 886, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1302, + "src": "682:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 887, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "690:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "690:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "682:18:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 890, + "nodeType": "ExpressionStatement", + "src": "682:18:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 891, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 838, + "src": "710:8:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 892, + "name": "_registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 883, + "src": "721:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "src": "710:20:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "id": 894, + "nodeType": "ExpressionStatement", + "src": "710:20:6" + } + ] + }, + "documentation": null, + "id": 896, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 884, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 883, + "name": "_registry", + "nodeType": "VariableDeclaration", + "scope": 896, + "src": "645:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 882, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 493, + "src": "645:8:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "644:20:6" + }, + "payable": false, + "returnParameters": { + "id": 885, + "nodeType": "ParameterList", + "parameters": [], + "src": "672:0:6" + }, + "scope": 973, + "src": "633:104:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 927, + "nodeType": "Block", + "src": "1183:205:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 910, + "name": "users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 849, + "src": "1193:5:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$845_storage_$", + "typeString": "mapping(address => struct Users.UserInfo storage ref)" + } + }, + "id": 912, + "indexExpression": { + "argumentTypes": null, + "id": 911, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 898, + "src": "1199:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1193:15:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserInfo_$845_storage", + "typeString": "struct Users.UserInfo storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 914, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 900, + "src": "1240:5:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 915, + "name": "_email", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 902, + "src": "1266:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 916, + "name": "_ipfsData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 904, + "src": "1296:9:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": null, + "id": 913, + "name": "UserInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 845, + "src": "1211:8:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_UserInfo_$845_storage_ptr_$", + "typeString": "type(struct Users.UserInfo storage pointer)" + } + }, + "id": 917, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "name", + "email", + "ipfsData" + ], + "nodeType": "FunctionCall", + "src": "1211:105:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserInfo_$845_memory", + "typeString": "struct Users.UserInfo memory" + } + }, + "src": "1193:123:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserInfo_$845_storage", + "typeString": "struct Users.UserInfo storage ref" + } + }, + "id": 919, + "nodeType": "ExpressionStatement", + "src": "1193:123:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 921, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 898, + "src": "1346:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 922, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 900, + "src": "1356:5:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 923, + "name": "_email", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 902, + "src": "1363:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 924, + "name": "_ipfsData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 904, + "src": "1371:9:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 920, + "name": "LogCreateUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 859, + "src": "1332:13:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,string memory,string memory,string memory)" + } + }, + "id": 925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1332:49:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 926, + "nodeType": "EmitStatement", + "src": "1327:54:6" + } + ] + }, + "documentation": "@dev Register a new user\n@param _address - the ethereum address of the user\n@param _name - the name of the user\n@param _email - the email address of the user\n@param _ipfsData - the hash of a JSON file with data of the video", + "id": 928, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 907, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 898, + "src": "1168:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 908, + "modifierName": { + "argumentTypes": null, + "id": 906, + "name": "onlyOwnerOrUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 881, + "src": "1152:15:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1152:25:6" + } + ], + "name": "create", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 905, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 898, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 928, + "src": "1043:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 897, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1043:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 900, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 928, + "src": "1069:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 899, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1069:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 902, + "name": "_email", + "nodeType": "VariableDeclaration", + "scope": 928, + "src": "1091:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 901, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1091:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 904, + "name": "_ipfsData", + "nodeType": "VariableDeclaration", + "scope": 928, + "src": "1114:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 903, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1114:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1033:103:6" + }, + "payable": false, + "returnParameters": { + "id": 909, + "nodeType": "ParameterList", + "parameters": [], + "src": "1183:0:6" + }, + "scope": 973, + "src": "1018:370:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 945, + "nodeType": "Block", + "src": "1620:77:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1630:22:6", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 936, + "name": "users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 849, + "src": "1637:5:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$845_storage_$", + "typeString": "mapping(address => struct Users.UserInfo storage ref)" + } + }, + "id": 938, + "indexExpression": { + "argumentTypes": null, + "id": 937, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 930, + "src": "1643:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1637:15:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserInfo_$845_storage", + "typeString": "struct Users.UserInfo storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 940, + "nodeType": "ExpressionStatement", + "src": "1630:22:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 942, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 930, + "src": "1681:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 941, + "name": "LogRemoveUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 863, + "src": "1667:13:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1667:23:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 944, + "nodeType": "EmitStatement", + "src": "1662:28:6" + } + ] + }, + "documentation": "@dev unregister a User\nDeletes the data of the user from users\n@param _address the address of the user to be unregistered", + "id": 946, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 933, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 930, + "src": "1610:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 934, + "modifierName": { + "argumentTypes": null, + "id": 932, + "name": "onlyOwnerOrUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 881, + "src": "1594:15:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1594:25:6" + } + ], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 931, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 930, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 946, + "src": "1569:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 929, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1569:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1568:18:6" + }, + "payable": false, + "returnParameters": { + "id": 935, + "nodeType": "ParameterList", + "parameters": [], + "src": "1620:0:6" + }, + "scope": 973, + "src": "1553:144:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 971, + "nodeType": "Block", + "src": "1934:127:6", + "statements": [ + { + "assignments": [ + 958 + ], + "declarations": [ + { + "constant": false, + "id": 958, + "name": "userInfo", + "nodeType": "VariableDeclaration", + "scope": 972, + "src": "1944:25:6", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserInfo_$845_storage_ptr", + "typeString": "struct Users.UserInfo" + }, + "typeName": { + "contractScope": null, + "id": 957, + "name": "UserInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 845, + "src": "1944:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserInfo_$845_storage_ptr", + "typeString": "struct Users.UserInfo" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 962, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 959, + "name": "users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 849, + "src": "1972:5:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$845_storage_$", + "typeString": "mapping(address => struct Users.UserInfo storage ref)" + } + }, + "id": 961, + "indexExpression": { + "argumentTypes": null, + "id": 960, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 948, + "src": "1978:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1972:15:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserInfo_$845_storage", + "typeString": "struct Users.UserInfo storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1944:43:6" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 963, + "name": "userInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 958, + "src": "2005:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserInfo_$845_storage_ptr", + "typeString": "struct Users.UserInfo storage pointer" + } + }, + "id": 964, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 840, + "src": "2005:13:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 965, + "name": "userInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 958, + "src": "2020:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserInfo_$845_storage_ptr", + "typeString": "struct Users.UserInfo storage pointer" + } + }, + "id": 966, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "email", + "nodeType": "MemberAccess", + "referencedDeclaration": 842, + "src": "2020:14:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 967, + "name": "userInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 958, + "src": "2036:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserInfo_$845_storage_ptr", + "typeString": "struct Users.UserInfo storage pointer" + } + }, + "id": 968, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ipfsData", + "nodeType": "MemberAccess", + "referencedDeclaration": 844, + "src": "2036:17:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "id": 969, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2004:50:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_string_storage_$_t_string_storage_$_t_string_storage_$", + "typeString": "tuple(string storage ref,string storage ref,string storage ref)" + } + }, + "functionReturnParameters": 956, + "id": 970, + "nodeType": "Return", + "src": "1997:57:6" + } + ] + }, + "documentation": "@dev return information about the user\n@param _address the address of the user\n@return a tuple (name, email, ipfsData)", + "id": 972, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "get", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 949, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 948, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 972, + "src": "1872:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 947, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1872:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1871:18:6" + }, + "payable": false, + "returnParameters": { + "id": 956, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 951, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 972, + "src": "1910:6:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 950, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1910:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 953, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 972, + "src": "1918:6:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 952, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1918:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 955, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 972, + "src": "1926:6:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 954, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1926:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1909:24:6" + }, + "scope": 973, + "src": "1859:202:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 974, + "src": "112:1951:6" + } + ], + "src": "0:2064:6" + }, + "legacyAST": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Users.sol", + "exportedSymbols": { + "Users": [ + 973 + ] + }, + "id": 974, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 832, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:6" + }, + { + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 833, + "nodeType": "ImportDirective", + "scope": 974, + "sourceUnit": 1355, + "src": "26:59:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Registry.sol", + "file": "./Registry.sol", + "id": 834, + "nodeType": "ImportDirective", + "scope": 974, + "sourceUnit": 494, + "src": "86:24:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 835, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1354, + "src": "130:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$1354", + "typeString": "contract Ownable" + } + }, + "id": 836, + "nodeType": "InheritanceSpecifier", + "src": "130:7:6" + } + ], + "contractDependencies": [ + 1354 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 973, + "linearizedBaseContracts": [ + 973, + 1354 + ], + "name": "Users", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 838, + "name": "registry", + "nodeType": "VariableDeclaration", + "scope": 973, + "src": "145:17:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 837, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 493, + "src": "145:8:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "internal" + }, + { + "canonicalName": "Users.UserInfo", + "id": 845, + "members": [ + { + "constant": false, + "id": 840, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 845, + "src": "195:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 839, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "195:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 842, + "name": "email", + "nodeType": "VariableDeclaration", + "scope": 845, + "src": "216:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 841, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "216:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 844, + "name": "ipfsData", + "nodeType": "VariableDeclaration", + "scope": 845, + "src": "238:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 843, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "238:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "UserInfo", + "nodeType": "StructDefinition", + "scope": 973, + "src": "169:91:6", + "visibility": "public" + }, + { + "constant": false, + "id": 849, + "name": "users", + "nodeType": "VariableDeclaration", + "scope": 973, + "src": "266:40:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$845_storage_$", + "typeString": "mapping(address => struct Users.UserInfo)" + }, + "typeName": { + "id": 848, + "keyType": { + "id": 846, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "275:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "266:27:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$845_storage_$", + "typeString": "mapping(address => struct Users.UserInfo)" + }, + "valueType": { + "contractScope": null, + "id": 847, + "name": "UserInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 845, + "src": "284:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserInfo_$845_storage_ptr", + "typeString": "struct Users.UserInfo" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 859, + "name": "LogCreateUser", + "nodeType": "EventDefinition", + "parameters": { + "id": 858, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 851, + "indexed": true, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 859, + "src": "342:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 850, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "342:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 853, + "indexed": false, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 859, + "src": "376:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 852, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "376:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 855, + "indexed": false, + "name": "_email", + "nodeType": "VariableDeclaration", + "scope": 859, + "src": "398:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 854, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "398:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 857, + "indexed": false, + "name": "_ipfsData", + "nodeType": "VariableDeclaration", + "scope": 859, + "src": "421:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 856, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "421:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "332:111:6" + }, + "src": "313:131:6" + }, + { + "anonymous": false, + "documentation": null, + "id": 863, + "name": "LogRemoveUser", + "nodeType": "EventDefinition", + "parameters": { + "id": 862, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 861, + "indexed": true, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 863, + "src": "470:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 860, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "470:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "469:26:6" + }, + "src": "450:46:6" + }, + { + "body": { + "id": 880, + "nodeType": "Block", + "src": "545:82:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 868, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "563:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "563:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 870, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1302, + "src": "577:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "563:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 872, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "586:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "586:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 874, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 865, + "src": "600:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "586:22:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "563:45:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 867, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1752, + 1753 + ], + "referencedDeclaration": 1752, + "src": "555:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "555:54:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 878, + "nodeType": "ExpressionStatement", + "src": "555:54:6" + }, + { + "id": 879, + "nodeType": "PlaceholderStatement", + "src": "619:1:6" + } + ] + }, + "documentation": null, + "id": 881, + "name": "onlyOwnerOrUser", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 866, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 865, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 881, + "src": "527:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 864, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "527:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "526:18:6" + }, + "src": "502:125:6", + "visibility": "internal" + }, + { + "body": { + "id": 895, + "nodeType": "Block", + "src": "672:65:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 886, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1302, + "src": "682:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 887, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "690:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "690:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "682:18:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 890, + "nodeType": "ExpressionStatement", + "src": "682:18:6" + }, + { + "expression": { + "argumentTypes": null, + "id": 893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 891, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 838, + "src": "710:8:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 892, + "name": "_registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 883, + "src": "721:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "src": "710:20:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "id": 894, + "nodeType": "ExpressionStatement", + "src": "710:20:6" + } + ] + }, + "documentation": null, + "id": 896, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 884, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 883, + "name": "_registry", + "nodeType": "VariableDeclaration", + "scope": 896, + "src": "645:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 882, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 493, + "src": "645:8:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "644:20:6" + }, + "payable": false, + "returnParameters": { + "id": 885, + "nodeType": "ParameterList", + "parameters": [], + "src": "672:0:6" + }, + "scope": 973, + "src": "633:104:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 927, + "nodeType": "Block", + "src": "1183:205:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 910, + "name": "users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 849, + "src": "1193:5:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$845_storage_$", + "typeString": "mapping(address => struct Users.UserInfo storage ref)" + } + }, + "id": 912, + "indexExpression": { + "argumentTypes": null, + "id": 911, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 898, + "src": "1199:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1193:15:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserInfo_$845_storage", + "typeString": "struct Users.UserInfo storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 914, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 900, + "src": "1240:5:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 915, + "name": "_email", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 902, + "src": "1266:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 916, + "name": "_ipfsData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 904, + "src": "1296:9:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": null, + "id": 913, + "name": "UserInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 845, + "src": "1211:8:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_UserInfo_$845_storage_ptr_$", + "typeString": "type(struct Users.UserInfo storage pointer)" + } + }, + "id": 917, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "name", + "email", + "ipfsData" + ], + "nodeType": "FunctionCall", + "src": "1211:105:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserInfo_$845_memory", + "typeString": "struct Users.UserInfo memory" + } + }, + "src": "1193:123:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserInfo_$845_storage", + "typeString": "struct Users.UserInfo storage ref" + } + }, + "id": 919, + "nodeType": "ExpressionStatement", + "src": "1193:123:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 921, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 898, + "src": "1346:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 922, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 900, + "src": "1356:5:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 923, + "name": "_email", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 902, + "src": "1363:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 924, + "name": "_ipfsData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 904, + "src": "1371:9:6", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 920, + "name": "LogCreateUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 859, + "src": "1332:13:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,string memory,string memory,string memory)" + } + }, + "id": 925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1332:49:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 926, + "nodeType": "EmitStatement", + "src": "1327:54:6" + } + ] + }, + "documentation": "@dev Register a new user\n@param _address - the ethereum address of the user\n@param _name - the name of the user\n@param _email - the email address of the user\n@param _ipfsData - the hash of a JSON file with data of the video", + "id": 928, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 907, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 898, + "src": "1168:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 908, + "modifierName": { + "argumentTypes": null, + "id": 906, + "name": "onlyOwnerOrUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 881, + "src": "1152:15:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1152:25:6" + } + ], + "name": "create", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 905, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 898, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 928, + "src": "1043:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 897, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1043:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 900, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 928, + "src": "1069:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 899, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1069:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 902, + "name": "_email", + "nodeType": "VariableDeclaration", + "scope": 928, + "src": "1091:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 901, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1091:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 904, + "name": "_ipfsData", + "nodeType": "VariableDeclaration", + "scope": 928, + "src": "1114:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 903, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1114:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1033:103:6" + }, + "payable": false, + "returnParameters": { + "id": 909, + "nodeType": "ParameterList", + "parameters": [], + "src": "1183:0:6" + }, + "scope": 973, + "src": "1018:370:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 945, + "nodeType": "Block", + "src": "1620:77:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1630:22:6", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 936, + "name": "users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 849, + "src": "1637:5:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$845_storage_$", + "typeString": "mapping(address => struct Users.UserInfo storage ref)" + } + }, + "id": 938, + "indexExpression": { + "argumentTypes": null, + "id": 937, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 930, + "src": "1643:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1637:15:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserInfo_$845_storage", + "typeString": "struct Users.UserInfo storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 940, + "nodeType": "ExpressionStatement", + "src": "1630:22:6" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 942, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 930, + "src": "1681:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 941, + "name": "LogRemoveUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 863, + "src": "1667:13:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1667:23:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 944, + "nodeType": "EmitStatement", + "src": "1662:28:6" + } + ] + }, + "documentation": "@dev unregister a User\nDeletes the data of the user from users\n@param _address the address of the user to be unregistered", + "id": 946, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 933, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 930, + "src": "1610:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 934, + "modifierName": { + "argumentTypes": null, + "id": 932, + "name": "onlyOwnerOrUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 881, + "src": "1594:15:6", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1594:25:6" + } + ], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 931, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 930, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 946, + "src": "1569:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 929, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1569:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1568:18:6" + }, + "payable": false, + "returnParameters": { + "id": 935, + "nodeType": "ParameterList", + "parameters": [], + "src": "1620:0:6" + }, + "scope": 973, + "src": "1553:144:6", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 971, + "nodeType": "Block", + "src": "1934:127:6", + "statements": [ + { + "assignments": [ + 958 + ], + "declarations": [ + { + "constant": false, + "id": 958, + "name": "userInfo", + "nodeType": "VariableDeclaration", + "scope": 972, + "src": "1944:25:6", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserInfo_$845_storage_ptr", + "typeString": "struct Users.UserInfo" + }, + "typeName": { + "contractScope": null, + "id": 957, + "name": "UserInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 845, + "src": "1944:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserInfo_$845_storage_ptr", + "typeString": "struct Users.UserInfo" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 962, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 959, + "name": "users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 849, + "src": "1972:5:6", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UserInfo_$845_storage_$", + "typeString": "mapping(address => struct Users.UserInfo storage ref)" + } + }, + "id": 961, + "indexExpression": { + "argumentTypes": null, + "id": 960, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 948, + "src": "1978:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1972:15:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserInfo_$845_storage", + "typeString": "struct Users.UserInfo storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1944:43:6" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 963, + "name": "userInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 958, + "src": "2005:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserInfo_$845_storage_ptr", + "typeString": "struct Users.UserInfo storage pointer" + } + }, + "id": 964, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 840, + "src": "2005:13:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 965, + "name": "userInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 958, + "src": "2020:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserInfo_$845_storage_ptr", + "typeString": "struct Users.UserInfo storage pointer" + } + }, + "id": 966, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "email", + "nodeType": "MemberAccess", + "referencedDeclaration": 842, + "src": "2020:14:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 967, + "name": "userInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 958, + "src": "2036:8:6", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserInfo_$845_storage_ptr", + "typeString": "struct Users.UserInfo storage pointer" + } + }, + "id": 968, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ipfsData", + "nodeType": "MemberAccess", + "referencedDeclaration": 844, + "src": "2036:17:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "id": 969, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2004:50:6", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_string_storage_$_t_string_storage_$_t_string_storage_$", + "typeString": "tuple(string storage ref,string storage ref,string storage ref)" + } + }, + "functionReturnParameters": 956, + "id": 970, + "nodeType": "Return", + "src": "1997:57:6" + } + ] + }, + "documentation": "@dev return information about the user\n@param _address the address of the user\n@return a tuple (name, email, ipfsData)", + "id": 972, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "get", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 949, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 948, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 972, + "src": "1872:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 947, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1872:7:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1871:18:6" + }, + "payable": false, + "returnParameters": { + "id": 956, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 951, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 972, + "src": "1910:6:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 950, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1910:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 953, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 972, + "src": "1918:6:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 952, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1918:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 955, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 972, + "src": "1926:6:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 954, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1926:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1909:24:6" + }, + "scope": 973, + "src": "1859:202:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 974, + "src": "112:1951:6" + } + ], + "src": "0:2064:6" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-29T16:30:42.890Z" +} \ No newline at end of file diff --git a/build/contracts/Videos.json b/build/contracts/Videos.json index b4a1523..8de7359 100644 --- a/build/contracts/Videos.json +++ b/build/contracts/Videos.json @@ -1 +1,6237 @@ -{"contractName":"Videos","abi":[{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paratiiRegistry","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":[{"name":"_paratiiRegistry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"videoId","type":"string"},{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"price","type":"uint256"},{"indexed":false,"name":"ipfsHashOrig","type":"string"},{"indexed":false,"name":"ipfsHash","type":"string"},{"indexed":false,"name":"ipfsData","type":"string"},{"indexed":false,"name":"registrar","type":"address"}],"name":"LogCreateVideo","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"videoId","type":"string"}],"name":"LogRemoveVideo","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_videoId","type":"string"},{"name":"_owner","type":"address"},{"name":"_price","type":"uint256"},{"name":"_ipfsHashOrig","type":"string"},{"name":"_ipfsHash","type":"string"},{"name":"_ipfsData","type":"string"}],"name":"create","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_videoId","type":"string"}],"name":"remove","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_videoId","type":"string"}],"name":"get","outputs":[{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"string"},{"name":"","type":"string"},{"name":"","type":"string"},{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b6040516020806114ce83398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506113d2806100fc6000396000f300606060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630b9d64b61461007d578063693ec85e146101cb57806380599e4b146103e65780638da5cb5b146104435780639e20f78914610498578063f2fde38b146104ed575b600080fd5b341561008857600080fd5b6101c9600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610526565b005b34156101d657600080fd5b610226600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610aed565b604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018060200180602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848103845288818151815260200191508051906020019080838360005b838110156102d85780820151818401526020810190506102bd565b50505050905090810190601f1680156103055780820380516001836020036101000a031916815260200191505b50848103835287818151815260200191508051906020019080838360005b8381101561033e578082015181840152602081019050610323565b50505050905090810190601f16801561036b5780820380516001836020036101000a031916815260200191505b50848103825286818151815260200191508051906020019080838360005b838110156103a4578082015181840152602081019050610389565b50505050905090810190601f1680156103d15780820380516001836020036101000a031916815260200191505b50995050505050505050505060405180910390f35b34156103f157600080fd5b610441600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610dcf565b005b341561044e57600080fd5b610456611105565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104a357600080fd5b6104ab61112a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104f857600080fd5b610524600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611150565b005b600086600080826040518082805190602001908083835b602083101515610562578051825260208201915060208101905060208303925061053d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061069d575060008160060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061069c57508060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b5b15156106a857600080fd5b896040518082805190602001908083835b6020831015156106de57805182526020820191506020810190506020830392506106b9565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020935060e060405190810160405280856000191681526020018881526020018781526020018681526020018981526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152506001600086600019166000191681526020019081526020016000206000820151816000019060001916905560208201518160010190805190602001906107b89291906112a5565b5060408201518160020190805190602001906107d59291906112a5565b5060608201518160030190805190602001906107f29291906112a5565b506080820151816004015560a08201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050507f36c65780b27428d759ce656fa342f6c1ceee6d63f4ab799527453d0209ef6e228a8a8a8a8a8a3360405180806020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018781526020018060200180602001806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185810385528c818151815260200191508051906020019080838360005b8381101561096c578082015181840152602081019050610951565b50505050905090810190601f1680156109995780820380516001836020036101000a031916815260200191505b50858103845289818151815260200191508051906020019080838360005b838110156109d25780820151818401526020810190506109b7565b50505050905090810190601f1680156109ff5780820380516001836020036101000a031916815260200191505b50858103835288818151815260200191508051906020019080838360005b83811015610a38578082015181840152602081019050610a1d565b50505050905090810190601f168015610a655780820380516001836020036101000a031916815260200191505b50858103825287818151815260200191508051906020019080838360005b83811015610a9e578082015181840152602081019050610a83565b50505050905090810190601f168015610acb5780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390a150505050505050505050565b600080610af8611325565b610b00611325565b610b08611325565b60008060016000896040518082805190602001908083835b602083101515610b455780518252602082019150602081019050602083039250610b20565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002090508060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600401548260010183600201846003018560060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c7a5780601f10610c4f57610100808354040283529160200191610c7a565b820191906000526020600020905b815481529060010190602001808311610c5d57829003601f168201915b50505050509350828054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d165780601f10610ceb57610100808354040283529160200191610d16565b820191906000526020600020905b815481529060010190602001808311610cf957829003601f168201915b50505050509250818054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610db25780601f10610d8757610100808354040283529160200191610db2565b820191906000526020600020905b815481529060010190602001808311610d9557829003601f168201915b505050505091509650965096509650965096505091939550919395565b600081600080826040518082805190602001908083835b602083101515610e0b5780518252602082019150602081019050602083039250610de6565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f46575060008160060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610f4557508060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b5b1515610f5157600080fd5b846040518082805190602001908083835b602083101515610f875780518252602082019150602081019050602083039250610f62565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209350600160008560001916600019168152602001908152602001600020600080820160009055600182016000610fea9190611339565b600282016000610ffa9190611339565b60038201600061100a9190611339565b60048201600090556005820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550507f592a19ecda39f9bdfc71b1f128f024319cff48402f55ccf171b0878d5b69b7d5856040518080602001828103825283818151815260200191508051906020019080838360005b838110156110c45780820151818401526020810190506110a9565b50505050905090810190601f1680156110f15780820380516001836020036101000a031916815260200191505b509250505060405180910390a15050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111ab57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156111e757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106112e657805160ff1916838001178555611314565b82800160010185558215611314579182015b828111156113135782518255916020019190600101906112f8565b5b5090506113219190611381565b5090565b602060405190810160405280600081525090565b50805460018160011615610100020316600290046000825580601f1061135f575061137e565b601f01602090049060005260206000209081019061137d9190611381565b5b50565b6113a391905b8082111561139f576000816000905550600101611387565b5090565b905600a165627a7a7230582073090c3d9484c259807a6ae34cd30c561fc4a34f2202df3cf6ce663715b8e1990029","deployedBytecode":"0x606060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630b9d64b61461007d578063693ec85e146101cb57806380599e4b146103e65780638da5cb5b146104435780639e20f78914610498578063f2fde38b146104ed575b600080fd5b341561008857600080fd5b6101c9600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610526565b005b34156101d657600080fd5b610226600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610aed565b604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018060200180602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848103845288818151815260200191508051906020019080838360005b838110156102d85780820151818401526020810190506102bd565b50505050905090810190601f1680156103055780820380516001836020036101000a031916815260200191505b50848103835287818151815260200191508051906020019080838360005b8381101561033e578082015181840152602081019050610323565b50505050905090810190601f16801561036b5780820380516001836020036101000a031916815260200191505b50848103825286818151815260200191508051906020019080838360005b838110156103a4578082015181840152602081019050610389565b50505050905090810190601f1680156103d15780820380516001836020036101000a031916815260200191505b50995050505050505050505060405180910390f35b34156103f157600080fd5b610441600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610dcf565b005b341561044e57600080fd5b610456611105565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104a357600080fd5b6104ab61112a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104f857600080fd5b610524600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611150565b005b600086600080826040518082805190602001908083835b602083101515610562578051825260208201915060208101905060208303925061053d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061069d575060008160060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061069c57508060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b5b15156106a857600080fd5b896040518082805190602001908083835b6020831015156106de57805182526020820191506020810190506020830392506106b9565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020935060e060405190810160405280856000191681526020018881526020018781526020018681526020018981526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152506001600086600019166000191681526020019081526020016000206000820151816000019060001916905560208201518160010190805190602001906107b89291906112a5565b5060408201518160020190805190602001906107d59291906112a5565b5060608201518160030190805190602001906107f29291906112a5565b506080820151816004015560a08201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050507f36c65780b27428d759ce656fa342f6c1ceee6d63f4ab799527453d0209ef6e228a8a8a8a8a8a3360405180806020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018781526020018060200180602001806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185810385528c818151815260200191508051906020019080838360005b8381101561096c578082015181840152602081019050610951565b50505050905090810190601f1680156109995780820380516001836020036101000a031916815260200191505b50858103845289818151815260200191508051906020019080838360005b838110156109d25780820151818401526020810190506109b7565b50505050905090810190601f1680156109ff5780820380516001836020036101000a031916815260200191505b50858103835288818151815260200191508051906020019080838360005b83811015610a38578082015181840152602081019050610a1d565b50505050905090810190601f168015610a655780820380516001836020036101000a031916815260200191505b50858103825287818151815260200191508051906020019080838360005b83811015610a9e578082015181840152602081019050610a83565b50505050905090810190601f168015610acb5780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390a150505050505050505050565b600080610af8611325565b610b00611325565b610b08611325565b60008060016000896040518082805190602001908083835b602083101515610b455780518252602082019150602081019050602083039250610b20565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002090508060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600401548260010183600201846003018560060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c7a5780601f10610c4f57610100808354040283529160200191610c7a565b820191906000526020600020905b815481529060010190602001808311610c5d57829003601f168201915b50505050509350828054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d165780601f10610ceb57610100808354040283529160200191610d16565b820191906000526020600020905b815481529060010190602001808311610cf957829003601f168201915b50505050509250818054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610db25780601f10610d8757610100808354040283529160200191610db2565b820191906000526020600020905b815481529060010190602001808311610d9557829003601f168201915b505050505091509650965096509650965096505091939550919395565b600081600080826040518082805190602001908083835b602083101515610e0b5780518252602082019150602081019050602083039250610de6565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f46575060008160060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610f4557508060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b5b1515610f5157600080fd5b846040518082805190602001908083835b602083101515610f875780518252602082019150602081019050602083039250610f62565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209350600160008560001916600019168152602001908152602001600020600080820160009055600182016000610fea9190611339565b600282016000610ffa9190611339565b60038201600061100a9190611339565b60048201600090556005820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550507f592a19ecda39f9bdfc71b1f128f024319cff48402f55ccf171b0878d5b69b7d5856040518080602001828103825283818151815260200191508051906020019080838360005b838110156110c45780820151818401526020810190506110a9565b50505050905090810190601f1680156110f15780820380516001836020036101000a031916815260200191505b509250505060405180910390a15050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111ab57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156111e757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106112e657805160ff1916838001178555611314565b82800160010185558215611314579182015b828111156113135782518255916020019190600101906112f8565b5b5090506113219190611381565b5090565b602060405190810160405280600081525090565b50805460018160011615610100020316600290046000825580601f1061135f575061137e565b601f01602090049060005260206000209081019061137d9190611381565b5b50565b6113a391905b8082111561139f576000816000905550600101611387565b5090565b905600a165627a7a7230582073090c3d9484c259807a6ae34cd30c561fc4a34f2202df3cf6ce663715b8e1990029"} \ No newline at end of file +{ + "contractName": "Videos", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "paratiiRegistry", + "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": [ + { + "name": "_paratiiRegistry", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "videoId", + "type": "string" + }, + { + "indexed": false, + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "name": "price", + "type": "uint256" + }, + { + "indexed": false, + "name": "ipfsHashOrig", + "type": "string" + }, + { + "indexed": false, + "name": "ipfsHash", + "type": "string" + }, + { + "indexed": false, + "name": "ipfsData", + "type": "string" + }, + { + "indexed": false, + "name": "registrar", + "type": "address" + } + ], + "name": "LogCreateVideo", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "videoId", + "type": "string" + } + ], + "name": "LogRemoveVideo", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_videoId", + "type": "string" + }, + { + "name": "_owner", + "type": "address" + }, + { + "name": "_price", + "type": "uint256" + }, + { + "name": "_ipfsHashOrig", + "type": "string" + }, + { + "name": "_ipfsHash", + "type": "string" + }, + { + "name": "_ipfsData", + "type": "string" + } + ], + "name": "create", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_videoId", + "type": "string" + } + ], + "name": "remove", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_videoId", + "type": "string" + } + ], + "name": "get", + "outputs": [ + { + "name": "", + "type": "address" + }, + { + "name": "", + "type": "uint256" + }, + { + "name": "", + "type": "string" + }, + { + "name": "", + "type": "string" + }, + { + "name": "", + "type": "string" + }, + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506040516020806114ec83398101806040528101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506113e8806101046000396000f300608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630b9d64b61461007d578063693ec85e146101e257806380599e4b146104095780638da5cb5b146104725780639e20f789146104c9578063f2fde38b14610520575b600080fd5b34801561008957600080fd5b506101e0600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610563565b005b3480156101ee57600080fd5b50610249600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610b2a565b604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018060200180602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848103845288818151815260200191508051906020019080838360005b838110156102fb5780820151818401526020810190506102e0565b50505050905090810190601f1680156103285780820380516001836020036101000a031916815260200191505b50848103835287818151815260200191508051906020019080838360005b83811015610361578082015181840152602081019050610346565b50505050905090810190601f16801561038e5780820380516001836020036101000a031916815260200191505b50848103825286818151815260200191508051906020019080838360005b838110156103c75780820151818401526020810190506103ac565b50505050905090810190601f1680156103f45780820380516001836020036101000a031916815260200191505b50995050505050505050505060405180910390f35b34801561041557600080fd5b50610470600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610df9565b005b34801561047e57600080fd5b5061048761112f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104d557600080fd5b506104de611154565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561052c57600080fd5b50610561600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061117a565b005b600086600080826040518082805190602001908083835b60208310151561059f578051825260208201915060208101905060208303925061057a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806106da575060008160060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806106d957508060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b5b15156106e557600080fd5b896040518082805190602001908083835b60208310151561071b57805182526020820191506020810190506020830392506106f6565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020935060e060405190810160405280856000191681526020018881526020018781526020018681526020018981526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152506001600086600019166000191681526020019081526020016000206000820151816000019060001916905560208201518160010190805190602001906107f59291906112cf565b5060408201518160020190805190602001906108129291906112cf565b50606082015181600301908051906020019061082f9291906112cf565b506080820151816004015560a08201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050507f36c65780b27428d759ce656fa342f6c1ceee6d63f4ab799527453d0209ef6e228a8a8a8a8a8a3360405180806020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018781526020018060200180602001806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185810385528c818151815260200191508051906020019080838360005b838110156109a957808201518184015260208101905061098e565b50505050905090810190601f1680156109d65780820380516001836020036101000a031916815260200191505b50858103845289818151815260200191508051906020019080838360005b83811015610a0f5780820151818401526020810190506109f4565b50505050905090810190601f168015610a3c5780820380516001836020036101000a031916815260200191505b50858103835288818151815260200191508051906020019080838360005b83811015610a75578082015181840152602081019050610a5a565b50505050905090810190601f168015610aa25780820380516001836020036101000a031916815260200191505b50858103825287818151815260200191508051906020019080838360005b83811015610adb578082015181840152602081019050610ac0565b50505050905090810190601f168015610b085780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390a150505050505050505050565b600080606080606060008060016000896040518082805190602001908083835b602083101515610b6f5780518252602082019150602081019050602083039250610b4a565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002090508060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600401548260010183600201846003018560060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ca45780601f10610c7957610100808354040283529160200191610ca4565b820191906000526020600020905b815481529060010190602001808311610c8757829003601f168201915b50505050509350828054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d405780601f10610d1557610100808354040283529160200191610d40565b820191906000526020600020905b815481529060010190602001808311610d2357829003601f168201915b50505050509250818054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ddc5780601f10610db157610100808354040283529160200191610ddc565b820191906000526020600020905b815481529060010190602001808311610dbf57829003601f168201915b505050505091509650965096509650965096505091939550919395565b600081600080826040518082805190602001908083835b602083101515610e355780518252602082019150602081019050602083039250610e10565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f70575060008160060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610f6f57508060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b5b1515610f7b57600080fd5b846040518082805190602001908083835b602083101515610fb15780518252602082019150602081019050602083039250610f8c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209350600160008560001916600019168152602001908152602001600020600080820160009055600182016000611014919061134f565b600282016000611024919061134f565b600382016000611034919061134f565b60048201600090556005820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550507f592a19ecda39f9bdfc71b1f128f024319cff48402f55ccf171b0878d5b69b7d5856040518080602001828103825283818151815260200191508051906020019080838360005b838110156110ee5780820151818401526020810190506110d3565b50505050905090810190601f16801561111b5780820380516001836020036101000a031916815260200191505b509250505060405180910390a15050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111d557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561121157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061131057805160ff191683800117855561133e565b8280016001018555821561133e579182015b8281111561133d578251825591602001919060010190611322565b5b50905061134b9190611397565b5090565b50805460018160011615610100020316600290046000825580601f106113755750611394565b601f0160209004906000526020600020908101906113939190611397565b5b50565b6113b991905b808211156113b557600081600090555060010161139d565b5090565b905600a165627a7a723058202e395d60a408b659efec38b08b529d70a10a8eaf3f0e7b3cf1b9ab7290c0acde0029", + "deployedBytecode": "0x608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630b9d64b61461007d578063693ec85e146101e257806380599e4b146104095780638da5cb5b146104725780639e20f789146104c9578063f2fde38b14610520575b600080fd5b34801561008957600080fd5b506101e0600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610563565b005b3480156101ee57600080fd5b50610249600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610b2a565b604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018060200180602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848103845288818151815260200191508051906020019080838360005b838110156102fb5780820151818401526020810190506102e0565b50505050905090810190601f1680156103285780820380516001836020036101000a031916815260200191505b50848103835287818151815260200191508051906020019080838360005b83811015610361578082015181840152602081019050610346565b50505050905090810190601f16801561038e5780820380516001836020036101000a031916815260200191505b50848103825286818151815260200191508051906020019080838360005b838110156103c75780820151818401526020810190506103ac565b50505050905090810190601f1680156103f45780820380516001836020036101000a031916815260200191505b50995050505050505050505060405180910390f35b34801561041557600080fd5b50610470600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610df9565b005b34801561047e57600080fd5b5061048761112f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104d557600080fd5b506104de611154565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561052c57600080fd5b50610561600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061117a565b005b600086600080826040518082805190602001908083835b60208310151561059f578051825260208201915060208101905060208303925061057a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806106da575060008160060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806106d957508060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b5b15156106e557600080fd5b896040518082805190602001908083835b60208310151561071b57805182526020820191506020810190506020830392506106f6565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020935060e060405190810160405280856000191681526020018881526020018781526020018681526020018981526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152506001600086600019166000191681526020019081526020016000206000820151816000019060001916905560208201518160010190805190602001906107f59291906112cf565b5060408201518160020190805190602001906108129291906112cf565b50606082015181600301908051906020019061082f9291906112cf565b506080820151816004015560a08201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050507f36c65780b27428d759ce656fa342f6c1ceee6d63f4ab799527453d0209ef6e228a8a8a8a8a8a3360405180806020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018781526020018060200180602001806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185810385528c818151815260200191508051906020019080838360005b838110156109a957808201518184015260208101905061098e565b50505050905090810190601f1680156109d65780820380516001836020036101000a031916815260200191505b50858103845289818151815260200191508051906020019080838360005b83811015610a0f5780820151818401526020810190506109f4565b50505050905090810190601f168015610a3c5780820380516001836020036101000a031916815260200191505b50858103835288818151815260200191508051906020019080838360005b83811015610a75578082015181840152602081019050610a5a565b50505050905090810190601f168015610aa25780820380516001836020036101000a031916815260200191505b50858103825287818151815260200191508051906020019080838360005b83811015610adb578082015181840152602081019050610ac0565b50505050905090810190601f168015610b085780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390a150505050505050505050565b600080606080606060008060016000896040518082805190602001908083835b602083101515610b6f5780518252602082019150602081019050602083039250610b4a565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002090508060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600401548260010183600201846003018560060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ca45780601f10610c7957610100808354040283529160200191610ca4565b820191906000526020600020905b815481529060010190602001808311610c8757829003601f168201915b50505050509350828054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d405780601f10610d1557610100808354040283529160200191610d40565b820191906000526020600020905b815481529060010190602001808311610d2357829003601f168201915b50505050509250818054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ddc5780601f10610db157610100808354040283529160200191610ddc565b820191906000526020600020905b815481529060010190602001808311610dbf57829003601f168201915b505050505091509650965096509650965096505091939550919395565b600081600080826040518082805190602001908083835b602083101515610e355780518252602082019150602081019050602083039250610e10565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f70575060008160060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610f6f57508060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b5b1515610f7b57600080fd5b846040518082805190602001908083835b602083101515610fb15780518252602082019150602081019050602083039250610f8c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209350600160008560001916600019168152602001908152602001600020600080820160009055600182016000611014919061134f565b600282016000611024919061134f565b600382016000611034919061134f565b60048201600090556005820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550507f592a19ecda39f9bdfc71b1f128f024319cff48402f55ccf171b0878d5b69b7d5856040518080602001828103825283818151815260200191508051906020019080838360005b838110156110ee5780820151818401526020810190506110d3565b50505050905090810190601f16801561111b5780820380516001836020036101000a031916815260200191505b509250505060405180910390a15050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111d557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561121157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061131057805160ff191683800117855561133e565b8280016001018555821561133e579182015b8281111561133d578251825591602001919060010190611322565b5b50905061134b9190611397565b5090565b50805460018160011615610100020316600290046000825580601f106113755750611394565b601f0160209004906000526020600020908101906113939190611397565b5b50565b6113b991905b808211156113b557600081600090555060010161139d565b5090565b905600a165627a7a723058202e395d60a408b659efec38b08b529d70a10a8eaf3f0e7b3cf1b9ab7290c0acde0029", + "sourceMap": "168:4081:7:-;;;1404:125;8:9:-1;5:2;;;30:1;27;20:12;5:2;1404:125:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;502:10:9;494:5;;:18;;;;;;;;;;;;;;;;;;1468:10:7;1460:5;;:18;;;;;;;;;;;;;;;;;;1506:16;1488:15;;:34;;;;;;;;;;;;;;;;;;1404:125;168:4081;;;;;;", + "deployedSourceMap": "168:4081:7:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1977:633;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1977:633:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2952:342;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2952:342:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2952:342:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2952:342:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2952:342:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2616:187;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2616:187:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:9;;;;;;;;;;;;;;;;;;;;;;;;;;;716:31:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;716:31:7;;;;;;;;;;;;;;;;;;;;;;;;;;;827:169:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;827:169:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;1977:633:7;2204:10;2176:8;1193:10;1235:27;1216:8;1206:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1206:19:7;;;;;;;;;;;;;;;;1193:32;;1265:6;:10;1272:2;1265:10;;;;;;;;;;;;;;;;;1235:40;;1307:5;;;;;;;;;;;1293:19;;:10;:19;;;:86;;;;1340:1;1317:9;:19;;;;;;;;;;;;:24;;;:61;;;;1359:9;:19;;;;;;;;;;;;1345:33;;:10;:33;;;1317:61;1293:86;1285:95;;;;;;;;2227:8;2217:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2217:19:7;;;;;;;;;;;;;;;;2204:32;;2260:238;;;;;;;;;2289:2;2260:238;;;;;;;2373:13;2260:238;;;;2410:9;2260:238;;;;2443:9;2260:238;;;;2312:6;2260:238;;;;2339:6;2260:238;;;;;;2477:10;2260:238;;;;;2247:6;:10;2254:2;2247:10;;;;;;;;;;;;;;;;;:251;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2514:89;2529:8;2539:6;2547;2555:13;2570:9;2581;2592:10;2514:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2514:89:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2514:89:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2514:89:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2514:89:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1977:633;;;;;;;;;;:::o;2952:342::-;3029:7;3038;3047:6;3055;3063;3071:7;3094:27;3124:6;:27;3141:8;3131:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3131:19:7;;;;;;;;;;;;;;;;3124:27;;;;;;;;;;;;;;;;;3094:57;;3169:9;:15;;;;;;;;;;;;3186:9;:15;;;3203:9;:22;;3227:9;:18;;3247:9;:18;;3267:9;:19;;;;;;;;;;;;3161:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2952:342;;;;;;;;:::o;2616:187::-;2698:10;2678:8;1193:10;1235:27;1216:8;1206:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1206:19:7;;;;;;;;;;;;;;;;1193:32;;1265:6;:10;1272:2;1265:10;;;;;;;;;;;;;;;;;1235:40;;1307:5;;;;;;;;;;;1293:19;;:10;:19;;;:86;;;;1340:1;1317:9;:19;;;;;;;;;;;;:24;;;:61;;;;1359:9;:19;;;;;;;;;;;;1345:33;;:10;:33;;;1317:61;1293:86;1285:95;;;;;;;;2721:8;2711:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2711:19:7;;;;;;;;;;;;;;;;2698:32;;2747:6;:10;2754:2;2747:10;;;;;;;;;;;;;;;;;;2740:17;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2772:24;2787:8;2772:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2772:24:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2616:187;;;;;:::o;238:20:9:-;;;;;;;;;;;;;:::o;716:31:7:-;;;;;;;;;;;;;:::o;827:169:9:-;647:5;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;923:1;903:22;;:8;:22;;;;895:31;;;;;;;;960:8;932:37;;953:5;;;;;;;;;;;932:37;;;;;;;;;;;;983:8;975:5;;:16;;;;;;;;;;;;;;;;;;827:169;:::o;168:4081:7:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.18;\n\nimport \"zeppelin-solidity/contracts/ownership/Ownable.sol\";\nimport \"zeppelin-solidity/contracts/math/SafeMath.sol\";\nimport \"./Registry.sol\";\n\ncontract Videos is Ownable {\n\n struct VideoInfo {\n bytes32 _id;\n string ipfsHashOrig; // the hash of the original file on IPFS\n string ipfsHash; // the hash of the streamable (transcoded) file on IPFS\n string ipfsData; // optional addition data about this video, stored in IPFS\n uint256 price; // price in PTI-wei\n address owner; // the owner\n address registrar; // the account that has registered this video and can update and delete the info\n }\n\n mapping (bytes32=>VideoInfo) videos;\n Registry public paratiiRegistry;\n\n event LogCreateVideo(\n string videoId,\n address owner,\n uint price,\n string ipfsHashOrig,\n string ipfsHash,\n string ipfsData,\n address registrar\n );\n\n event LogRemoveVideo(string videoId);\n\n // ???\n modifier onlyUserRegistry() {\n require(msg.sender == paratiiRegistry.getContract(\"Users\"));\n _;\n }\n\n modifier onlyRegistrarOrAvatar(string _videoId) {\n bytes32 id = keccak256(_videoId);\n VideoInfo storage videoInfo = videos[id];\n require(msg.sender == owner || (videoInfo.registrar == 0 || msg.sender == videoInfo.registrar));\n _;\n }\n\n constructor(Registry _paratiiRegistry) public {\n owner = msg.sender;\n paratiiRegistry = _paratiiRegistry;\n }\n\n /**\n * @dev Register a video\n * @param _videoId id of the video, can be any string\n * @param _owner the address of the owner of this video\n * @param _price the price in wei of this video\n * @param _ipfsHashOrig the hash of the original file on IPFS\n * @param _ipfsHash the hash of the streamable (transcoded) file on IPFS\n * @param _ipfsData optional additional data about this video, stored in IPFS\n **/\n\n function create(\n string _videoId,\n address _owner,\n uint256 _price,\n string _ipfsHashOrig,\n string _ipfsHash,\n string _ipfsData\n ) onlyRegistrarOrAvatar(_videoId) public {\n\n bytes32 id = keccak256(_videoId);\n\n videos[id] = VideoInfo({\n _id: id,\n price: _price,\n owner: _owner,\n ipfsHashOrig: _ipfsHashOrig,\n ipfsHash: _ipfsHash,\n ipfsData: _ipfsData,\n registrar: msg.sender\n });\n\n emit LogCreateVideo(_videoId, _owner, _price, _ipfsHashOrig, _ipfsHash, _ipfsData, msg.sender);\n }\n\n function remove(string _videoId) public onlyRegistrarOrAvatar(_videoId) {\n bytes32 id = keccak256(_videoId);\n delete videos[id];\n emit LogRemoveVideo(_videoId);\n }\n\n /**\n * @dev return information about video\n * @return a tuple (owner, price, ipfsHashOrig, ipfsHash, ipfsData, registrar)\n */\n\n function get(string _videoId) \n public \n view \n returns(address, uint256, string, string, string, address)\n {\n VideoInfo storage videoInfo = videos[keccak256(_videoId)];\n return (videoInfo.owner, videoInfo.price, videoInfo.ipfsHashOrig, videoInfo.ipfsHash, videoInfo.ipfsData, videoInfo.registrar);\n }\n/*\n function likeVideo(string _videoId, bool changed_opinion) public onlyUserRegistry {\n VideoInfo storage videoInfo = videos[keccak256(_videoId)];\n videoInfo.stats.likes = videoInfo.stats.likes + 1;\n\n if (changed_opinion) {\n videoInfo.stats.dislikes = videoInfo.stats.dislikes - 1;\n }\n }\n\n function dislikeVideo(string _videoId, bool changed_opinion) public onlyUserRegistry {\n VideoInfo storage videoInfo = videos[keccak256(_videoId)];\n videoInfo.stats.dislikes = videoInfo.stats.dislikes + 1;\n\n if (changed_opinion) {\n videoInfo.stats.likes = videoInfo.stats.likes - 1;\n }\n }\n\n function getStats(string _videoId) public view returns (uint256, uint256, uint256) {\n VideoInfo storage videoInfo = videos[keccak256(_videoId)];\n Stats storage stats = videoInfo.stats;\n return (stats.views, stats.likes, stats.dislikes);\n }*/\n}\n", + "sourcePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Videos.sol", + "ast": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Videos.sol", + "exportedSymbols": { + "Videos": [ + 1203 + ] + }, + "id": 1204, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 975, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:7" + }, + { + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 976, + "nodeType": "ImportDirective", + "scope": 1204, + "sourceUnit": 1355, + "src": "26:59:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "zeppelin-solidity/contracts/math/SafeMath.sol", + "file": "zeppelin-solidity/contracts/math/SafeMath.sol", + "id": 977, + "nodeType": "ImportDirective", + "scope": 1204, + "sourceUnit": 1299, + "src": "86:55:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Registry.sol", + "file": "./Registry.sol", + "id": 978, + "nodeType": "ImportDirective", + "scope": 1204, + "sourceUnit": 494, + "src": "142:24:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 979, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1354, + "src": "187:7:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$1354", + "typeString": "contract Ownable" + } + }, + "id": 980, + "nodeType": "InheritanceSpecifier", + "src": "187:7:7" + } + ], + "contractDependencies": [ + 1354 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1203, + "linearizedBaseContracts": [ + 1203, + 1354 + ], + "name": "Videos", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "Videos.VideoInfo", + "id": 995, + "members": [ + { + "constant": false, + "id": 982, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 995, + "src": "229:11:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 981, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "229:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 984, + "name": "ipfsHashOrig", + "nodeType": "VariableDeclaration", + "scope": 995, + "src": "250:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 983, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "250:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 986, + "name": "ipfsHash", + "nodeType": "VariableDeclaration", + "scope": 995, + "src": "320:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 985, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "320:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 988, + "name": "ipfsData", + "nodeType": "VariableDeclaration", + "scope": 995, + "src": "401:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 987, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "401:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 990, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 995, + "src": "485:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 989, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "485:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 992, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 995, + "src": "528:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 991, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "528:7:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 994, + "name": "registrar", + "nodeType": "VariableDeclaration", + "scope": 995, + "src": "564:17:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 993, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "564:7:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "VideoInfo", + "nodeType": "StructDefinition", + "scope": 1203, + "src": "202:467:7", + "visibility": "public" + }, + { + "constant": false, + "id": 999, + "name": "videos", + "nodeType": "VariableDeclaration", + "scope": 1203, + "src": "675:35:7", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_VideoInfo_$995_storage_$", + "typeString": "mapping(bytes32 => struct Videos.VideoInfo)" + }, + "typeName": { + "id": 998, + "keyType": { + "id": 996, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "684:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "675:28:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_VideoInfo_$995_storage_$", + "typeString": "mapping(bytes32 => struct Videos.VideoInfo)" + }, + "valueType": { + "contractScope": null, + "id": 997, + "name": "VideoInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 995, + "src": "693:9:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1001, + "name": "paratiiRegistry", + "nodeType": "VariableDeclaration", + "scope": 1203, + "src": "716:31:7", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 1000, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 493, + "src": "716:8:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 1017, + "name": "LogCreateVideo", + "nodeType": "EventDefinition", + "parameters": { + "id": 1016, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1003, + "indexed": false, + "name": "videoId", + "nodeType": "VariableDeclaration", + "scope": 1017, + "src": "784:14:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1002, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "784:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1005, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1017, + "src": "808:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1004, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "808:7:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1007, + "indexed": false, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 1017, + "src": "831:10:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1006, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "831:4:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1009, + "indexed": false, + "name": "ipfsHashOrig", + "nodeType": "VariableDeclaration", + "scope": 1017, + "src": "851:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1008, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "851:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1011, + "indexed": false, + "name": "ipfsHash", + "nodeType": "VariableDeclaration", + "scope": 1017, + "src": "880:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1010, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "880:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1013, + "indexed": false, + "name": "ipfsData", + "nodeType": "VariableDeclaration", + "scope": 1017, + "src": "905:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1012, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "905:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1015, + "indexed": false, + "name": "registrar", + "nodeType": "VariableDeclaration", + "scope": 1017, + "src": "930:17:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1014, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "930:7:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "774:179:7" + }, + "src": "754:200:7" + }, + { + "anonymous": false, + "documentation": null, + "id": 1021, + "name": "LogRemoveVideo", + "nodeType": "EventDefinition", + "parameters": { + "id": 1020, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1019, + "indexed": false, + "name": "videoId", + "nodeType": "VariableDeclaration", + "scope": 1021, + "src": "981:14:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1018, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "981:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "980:16:7" + }, + "src": "960:37:7" + }, + { + "body": { + "id": 1034, + "nodeType": "Block", + "src": "1042:87:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1024, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "1060:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1060:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "5573657273", + "id": 1028, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1102:7:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2dea1ebefab48650b6eee6e1807b6a41fa486c586e7b781e65b0d2434ef7ebc6", + "typeString": "literal_string \"Users\"" + }, + "value": "Users" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2dea1ebefab48650b6eee6e1807b6a41fa486c586e7b781e65b0d2434ef7ebc6", + "typeString": "literal_string \"Users\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 1026, + "name": "paratiiRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1001, + "src": "1074:15:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "id": 1027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 380, + "src": "1074:27:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory) view external returns (address)" + } + }, + "id": 1029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1074:36:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1060:50:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1023, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1752, + 1753 + ], + "referencedDeclaration": 1752, + "src": "1052:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1052:59:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1032, + "nodeType": "ExpressionStatement", + "src": "1052:59:7" + }, + { + "id": 1033, + "nodeType": "PlaceholderStatement", + "src": "1121:1:7" + } + ] + }, + "documentation": null, + "id": 1035, + "name": "onlyUserRegistry", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1022, + "nodeType": "ParameterList", + "parameters": [], + "src": "1039:2:7" + }, + "src": "1014:115:7", + "visibility": "internal" + }, + { + "body": { + "id": 1071, + "nodeType": "Block", + "src": "1183:215:7", + "statements": [ + { + "assignments": [ + 1040 + ], + "declarations": [ + { + "constant": false, + "id": 1040, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 1072, + "src": "1193:10:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1039, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1193:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1044, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1042, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1037, + "src": "1216:8:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1041, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "1206:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1206:19:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1193:32:7" + }, + { + "assignments": [ + 1046 + ], + "declarations": [ + { + "constant": false, + "id": 1046, + "name": "videoInfo", + "nodeType": "VariableDeclaration", + "scope": 1072, + "src": "1235:27:7", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo" + }, + "typeName": { + "contractScope": null, + "id": 1045, + "name": "VideoInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 995, + "src": "1235:9:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1050, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1047, + "name": "videos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 999, + "src": "1265:6:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_VideoInfo_$995_storage_$", + "typeString": "mapping(bytes32 => struct Videos.VideoInfo storage ref)" + } + }, + "id": 1049, + "indexExpression": { + "argumentTypes": null, + "id": 1048, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1040, + "src": "1272:2:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1265:10:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage", + "typeString": "struct Videos.VideoInfo storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1235:40:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1052, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "1293:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1293:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1054, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1302, + "src": "1307:5:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1293:19:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1056, + "name": "videoInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1046, + "src": "1317:9:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo storage pointer" + } + }, + "id": 1057, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registrar", + "nodeType": "MemberAccess", + "referencedDeclaration": 994, + "src": "1317:19:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1058, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1340:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1317:24:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1060, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "1345:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1345:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1062, + "name": "videoInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1046, + "src": "1359:9:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo storage pointer" + } + }, + "id": 1063, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registrar", + "nodeType": "MemberAccess", + "referencedDeclaration": 994, + "src": "1359:19:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1345:33:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1317:61:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 1066, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1316:63:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1293:86:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1051, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1752, + 1753 + ], + "referencedDeclaration": 1752, + "src": "1285:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1285:95:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1069, + "nodeType": "ExpressionStatement", + "src": "1285:95:7" + }, + { + "id": 1070, + "nodeType": "PlaceholderStatement", + "src": "1390:1:7" + } + ] + }, + "documentation": null, + "id": 1072, + "name": "onlyRegistrarOrAvatar", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1038, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1037, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1072, + "src": "1166:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1036, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1166:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1165:17:7" + }, + "src": "1135:263:7", + "visibility": "internal" + }, + { + "body": { + "id": 1086, + "nodeType": "Block", + "src": "1450:79:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1077, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1302, + "src": "1460:5:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1078, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "1468:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1468:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1460:18:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1081, + "nodeType": "ExpressionStatement", + "src": "1460:18:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 1084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1082, + "name": "paratiiRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1001, + "src": "1488:15:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1083, + "name": "_paratiiRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1074, + "src": "1506:16:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "src": "1488:34:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "id": 1085, + "nodeType": "ExpressionStatement", + "src": "1488:34:7" + } + ] + }, + "documentation": null, + "id": 1087, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1075, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1074, + "name": "_paratiiRegistry", + "nodeType": "VariableDeclaration", + "scope": 1087, + "src": "1416:25:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 1073, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 493, + "src": "1416:8:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1415:27:7" + }, + "payable": false, + "returnParameters": { + "id": 1076, + "nodeType": "ParameterList", + "parameters": [], + "src": "1450:0:7" + }, + "scope": 1203, + "src": "1404:125:7", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1137, + "nodeType": "Block", + "src": "2193:417:7", + "statements": [ + { + "assignments": [ + 1106 + ], + "declarations": [ + { + "constant": false, + "id": 1106, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "2204:10:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1105, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2204:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1110, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1108, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1089, + "src": "2227:8:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1107, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "2217:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2217:19:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2204:32:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 1124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1111, + "name": "videos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 999, + "src": "2247:6:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_VideoInfo_$995_storage_$", + "typeString": "mapping(bytes32 => struct Videos.VideoInfo storage ref)" + } + }, + "id": 1113, + "indexExpression": { + "argumentTypes": null, + "id": 1112, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1106, + "src": "2254:2:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2247:10:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage", + "typeString": "struct Videos.VideoInfo storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1115, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1106, + "src": "2289:2:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1116, + "name": "_price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1093, + "src": "2312:6:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1117, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1091, + "src": "2339:6:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1118, + "name": "_ipfsHashOrig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1095, + "src": "2373:13:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1119, + "name": "_ipfsHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1097, + "src": "2410:9:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1120, + "name": "_ipfsData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1099, + "src": "2443:9:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1121, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "2477:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2477:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": null, + "id": 1114, + "name": "VideoInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 995, + "src": "2260:9:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_VideoInfo_$995_storage_ptr_$", + "typeString": "type(struct Videos.VideoInfo storage pointer)" + } + }, + "id": 1123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "_id", + "price", + "owner", + "ipfsHashOrig", + "ipfsHash", + "ipfsData", + "registrar" + ], + "nodeType": "FunctionCall", + "src": "2260:238:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_memory", + "typeString": "struct Videos.VideoInfo memory" + } + }, + "src": "2247:251:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage", + "typeString": "struct Videos.VideoInfo storage ref" + } + }, + "id": 1125, + "nodeType": "ExpressionStatement", + "src": "2247:251:7" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1127, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1089, + "src": "2529:8:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1128, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1091, + "src": "2539:6:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1129, + "name": "_price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1093, + "src": "2547:6:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1130, + "name": "_ipfsHashOrig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1095, + "src": "2555:13:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1131, + "name": "_ipfsHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1097, + "src": "2570:9:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1132, + "name": "_ipfsData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1099, + "src": "2581:9:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1133, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "2592:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2592:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1126, + "name": "LogCreateVideo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1017, + "src": "2514:14:7", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$returns$__$", + "typeString": "function (string memory,address,uint256,string memory,string memory,string memory,address)" + } + }, + "id": 1135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2514:89:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1136, + "nodeType": "EmitStatement", + "src": "2509:94:7" + } + ] + }, + "documentation": "@dev Register a video\n@param _videoId id of the video, can be any string\n@param _owner the address of the owner of this video\n@param _price the price in wei of this video\n@param _ipfsHashOrig the hash of the original file on IPFS\n@param _ipfsHash the hash of the streamable (transcoded) file on IPFS\n@param _ipfsData optional additional data about this video, stored in IPFS*", + "id": 1138, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 1102, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1089, + "src": "2176:8:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 1103, + "modifierName": { + "argumentTypes": null, + "id": 1101, + "name": "onlyRegistrarOrAvatar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1072, + "src": "2154:21:7", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", + "typeString": "modifier (string memory)" + } + }, + "nodeType": "ModifierInvocation", + "src": "2154:31:7" + } + ], + "name": "create", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1100, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1089, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "2002:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1088, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2002:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1091, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "2027:14:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1090, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2027:7:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1093, + "name": "_price", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "2051:14:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1092, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2051:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1095, + "name": "_ipfsHashOrig", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "2075:20:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1094, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2075:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1097, + "name": "_ipfsHash", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "2105:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1096, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2105:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1099, + "name": "_ipfsData", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "2131:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1098, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2131:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1992:161:7" + }, + "payable": false, + "returnParameters": { + "id": 1104, + "nodeType": "ParameterList", + "parameters": [], + "src": "2193:0:7" + }, + "scope": 1203, + "src": "1977:633:7", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1161, + "nodeType": "Block", + "src": "2688:115:7", + "statements": [ + { + "assignments": [ + 1147 + ], + "declarations": [ + { + "constant": false, + "id": 1147, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 1162, + "src": "2698:10:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1146, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2698:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1151, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1149, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1140, + "src": "2721:8:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1148, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "2711:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2711:19:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2698:32:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 1155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "2740:17:7", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1152, + "name": "videos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 999, + "src": "2747:6:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_VideoInfo_$995_storage_$", + "typeString": "mapping(bytes32 => struct Videos.VideoInfo storage ref)" + } + }, + "id": 1154, + "indexExpression": { + "argumentTypes": null, + "id": 1153, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1147, + "src": "2754:2:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2747:10:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage", + "typeString": "struct Videos.VideoInfo storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1156, + "nodeType": "ExpressionStatement", + "src": "2740:17:7" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1158, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1140, + "src": "2787:8:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1157, + "name": "LogRemoveVideo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1021, + "src": "2772:14:7", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 1159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2772:24:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1160, + "nodeType": "EmitStatement", + "src": "2767:29:7" + } + ] + }, + "documentation": null, + "id": 1162, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 1143, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1140, + "src": "2678:8:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 1144, + "modifierName": { + "argumentTypes": null, + "id": 1142, + "name": "onlyRegistrarOrAvatar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1072, + "src": "2656:21:7", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", + "typeString": "modifier (string memory)" + } + }, + "nodeType": "ModifierInvocation", + "src": "2656:31:7" + } + ], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1141, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1140, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1162, + "src": "2632:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1139, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2632:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2631:17:7" + }, + "payable": false, + "returnParameters": { + "id": 1145, + "nodeType": "ParameterList", + "parameters": [], + "src": "2688:0:7" + }, + "scope": 1203, + "src": "2616:187:7", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1201, + "nodeType": "Block", + "src": "3084:210:7", + "statements": [ + { + "assignments": [ + 1180 + ], + "declarations": [ + { + "constant": false, + "id": 1180, + "name": "videoInfo", + "nodeType": "VariableDeclaration", + "scope": 1202, + "src": "3094:27:7", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo" + }, + "typeName": { + "contractScope": null, + "id": 1179, + "name": "VideoInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 995, + "src": "3094:9:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1186, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1181, + "name": "videos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 999, + "src": "3124:6:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_VideoInfo_$995_storage_$", + "typeString": "mapping(bytes32 => struct Videos.VideoInfo storage ref)" + } + }, + "id": 1185, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1183, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1164, + "src": "3141:8:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1182, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "3131:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3131:19:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3124:27:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage", + "typeString": "struct Videos.VideoInfo storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3094:57:7" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1187, + "name": "videoInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "3169:9:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo storage pointer" + } + }, + "id": 1188, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 992, + "src": "3169:15:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1189, + "name": "videoInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "3186:9:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo storage pointer" + } + }, + "id": 1190, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 990, + "src": "3186:15:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1191, + "name": "videoInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "3203:9:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo storage pointer" + } + }, + "id": 1192, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ipfsHashOrig", + "nodeType": "MemberAccess", + "referencedDeclaration": 984, + "src": "3203:22:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1193, + "name": "videoInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "3227:9:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo storage pointer" + } + }, + "id": 1194, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ipfsHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 986, + "src": "3227:18:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1195, + "name": "videoInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "3247:9:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo storage pointer" + } + }, + "id": 1196, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ipfsData", + "nodeType": "MemberAccess", + "referencedDeclaration": 988, + "src": "3247:18:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1197, + "name": "videoInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "3267:9:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo storage pointer" + } + }, + "id": 1198, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registrar", + "nodeType": "MemberAccess", + "referencedDeclaration": 994, + "src": "3267:19:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 1199, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3168:119:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_string_storage_$_t_string_storage_$_t_string_storage_$_t_address_$", + "typeString": "tuple(address,uint256,string storage ref,string storage ref,string storage ref,address)" + } + }, + "functionReturnParameters": 1178, + "id": 1200, + "nodeType": "Return", + "src": "3161:126:7" + } + ] + }, + "documentation": "@dev return information about video\n@return a tuple (owner, price, ipfsHashOrig, ipfsHash, ipfsData, registrar)", + "id": 1202, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "get", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1165, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1164, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1202, + "src": "2965:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1163, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2965:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2964:17:7" + }, + "payable": false, + "returnParameters": { + "id": 1178, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1167, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1202, + "src": "3029:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1166, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3029:7:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1169, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1202, + "src": "3038:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1168, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3038:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1171, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1202, + "src": "3047:6:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1170, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3047:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1173, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1202, + "src": "3055:6:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1172, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3055:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1175, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1202, + "src": "3063:6:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1174, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3063:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1177, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1202, + "src": "3071:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1176, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3071:7:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3028:51:7" + }, + "scope": 1203, + "src": "2952:342:7", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1204, + "src": "168:4081:7" + } + ], + "src": "0:4250:7" + }, + "legacyAST": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Videos.sol", + "exportedSymbols": { + "Videos": [ + 1203 + ] + }, + "id": 1204, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 975, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:7" + }, + { + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 976, + "nodeType": "ImportDirective", + "scope": 1204, + "sourceUnit": 1355, + "src": "26:59:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "zeppelin-solidity/contracts/math/SafeMath.sol", + "file": "zeppelin-solidity/contracts/math/SafeMath.sol", + "id": 977, + "nodeType": "ImportDirective", + "scope": 1204, + "sourceUnit": 1299, + "src": "86:55:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Registry.sol", + "file": "./Registry.sol", + "id": 978, + "nodeType": "ImportDirective", + "scope": 1204, + "sourceUnit": 494, + "src": "142:24:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 979, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1354, + "src": "187:7:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$1354", + "typeString": "contract Ownable" + } + }, + "id": 980, + "nodeType": "InheritanceSpecifier", + "src": "187:7:7" + } + ], + "contractDependencies": [ + 1354 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1203, + "linearizedBaseContracts": [ + 1203, + 1354 + ], + "name": "Videos", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "Videos.VideoInfo", + "id": 995, + "members": [ + { + "constant": false, + "id": 982, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 995, + "src": "229:11:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 981, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "229:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 984, + "name": "ipfsHashOrig", + "nodeType": "VariableDeclaration", + "scope": 995, + "src": "250:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 983, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "250:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 986, + "name": "ipfsHash", + "nodeType": "VariableDeclaration", + "scope": 995, + "src": "320:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 985, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "320:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 988, + "name": "ipfsData", + "nodeType": "VariableDeclaration", + "scope": 995, + "src": "401:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 987, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "401:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 990, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 995, + "src": "485:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 989, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "485:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 992, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 995, + "src": "528:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 991, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "528:7:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 994, + "name": "registrar", + "nodeType": "VariableDeclaration", + "scope": 995, + "src": "564:17:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 993, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "564:7:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "VideoInfo", + "nodeType": "StructDefinition", + "scope": 1203, + "src": "202:467:7", + "visibility": "public" + }, + { + "constant": false, + "id": 999, + "name": "videos", + "nodeType": "VariableDeclaration", + "scope": 1203, + "src": "675:35:7", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_VideoInfo_$995_storage_$", + "typeString": "mapping(bytes32 => struct Videos.VideoInfo)" + }, + "typeName": { + "id": 998, + "keyType": { + "id": 996, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "684:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "675:28:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_VideoInfo_$995_storage_$", + "typeString": "mapping(bytes32 => struct Videos.VideoInfo)" + }, + "valueType": { + "contractScope": null, + "id": 997, + "name": "VideoInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 995, + "src": "693:9:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1001, + "name": "paratiiRegistry", + "nodeType": "VariableDeclaration", + "scope": 1203, + "src": "716:31:7", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 1000, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 493, + "src": "716:8:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 1017, + "name": "LogCreateVideo", + "nodeType": "EventDefinition", + "parameters": { + "id": 1016, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1003, + "indexed": false, + "name": "videoId", + "nodeType": "VariableDeclaration", + "scope": 1017, + "src": "784:14:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1002, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "784:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1005, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1017, + "src": "808:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1004, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "808:7:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1007, + "indexed": false, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 1017, + "src": "831:10:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1006, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "831:4:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1009, + "indexed": false, + "name": "ipfsHashOrig", + "nodeType": "VariableDeclaration", + "scope": 1017, + "src": "851:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1008, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "851:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1011, + "indexed": false, + "name": "ipfsHash", + "nodeType": "VariableDeclaration", + "scope": 1017, + "src": "880:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1010, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "880:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1013, + "indexed": false, + "name": "ipfsData", + "nodeType": "VariableDeclaration", + "scope": 1017, + "src": "905:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1012, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "905:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1015, + "indexed": false, + "name": "registrar", + "nodeType": "VariableDeclaration", + "scope": 1017, + "src": "930:17:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1014, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "930:7:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "774:179:7" + }, + "src": "754:200:7" + }, + { + "anonymous": false, + "documentation": null, + "id": 1021, + "name": "LogRemoveVideo", + "nodeType": "EventDefinition", + "parameters": { + "id": 1020, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1019, + "indexed": false, + "name": "videoId", + "nodeType": "VariableDeclaration", + "scope": 1021, + "src": "981:14:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1018, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "981:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "980:16:7" + }, + "src": "960:37:7" + }, + { + "body": { + "id": 1034, + "nodeType": "Block", + "src": "1042:87:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1024, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "1060:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1060:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "5573657273", + "id": 1028, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1102:7:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2dea1ebefab48650b6eee6e1807b6a41fa486c586e7b781e65b0d2434ef7ebc6", + "typeString": "literal_string \"Users\"" + }, + "value": "Users" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2dea1ebefab48650b6eee6e1807b6a41fa486c586e7b781e65b0d2434ef7ebc6", + "typeString": "literal_string \"Users\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 1026, + "name": "paratiiRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1001, + "src": "1074:15:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "id": 1027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 380, + "src": "1074:27:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory) view external returns (address)" + } + }, + "id": 1029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1074:36:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1060:50:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1023, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1752, + 1753 + ], + "referencedDeclaration": 1752, + "src": "1052:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1052:59:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1032, + "nodeType": "ExpressionStatement", + "src": "1052:59:7" + }, + { + "id": 1033, + "nodeType": "PlaceholderStatement", + "src": "1121:1:7" + } + ] + }, + "documentation": null, + "id": 1035, + "name": "onlyUserRegistry", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1022, + "nodeType": "ParameterList", + "parameters": [], + "src": "1039:2:7" + }, + "src": "1014:115:7", + "visibility": "internal" + }, + { + "body": { + "id": 1071, + "nodeType": "Block", + "src": "1183:215:7", + "statements": [ + { + "assignments": [ + 1040 + ], + "declarations": [ + { + "constant": false, + "id": 1040, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 1072, + "src": "1193:10:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1039, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1193:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1044, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1042, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1037, + "src": "1216:8:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1041, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "1206:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1206:19:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1193:32:7" + }, + { + "assignments": [ + 1046 + ], + "declarations": [ + { + "constant": false, + "id": 1046, + "name": "videoInfo", + "nodeType": "VariableDeclaration", + "scope": 1072, + "src": "1235:27:7", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo" + }, + "typeName": { + "contractScope": null, + "id": 1045, + "name": "VideoInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 995, + "src": "1235:9:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1050, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1047, + "name": "videos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 999, + "src": "1265:6:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_VideoInfo_$995_storage_$", + "typeString": "mapping(bytes32 => struct Videos.VideoInfo storage ref)" + } + }, + "id": 1049, + "indexExpression": { + "argumentTypes": null, + "id": 1048, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1040, + "src": "1272:2:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1265:10:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage", + "typeString": "struct Videos.VideoInfo storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1235:40:7" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1052, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "1293:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1293:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1054, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1302, + "src": "1307:5:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1293:19:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1056, + "name": "videoInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1046, + "src": "1317:9:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo storage pointer" + } + }, + "id": 1057, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registrar", + "nodeType": "MemberAccess", + "referencedDeclaration": 994, + "src": "1317:19:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1058, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1340:1:7", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1317:24:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1060, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "1345:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1345:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1062, + "name": "videoInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1046, + "src": "1359:9:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo storage pointer" + } + }, + "id": 1063, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registrar", + "nodeType": "MemberAccess", + "referencedDeclaration": 994, + "src": "1359:19:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1345:33:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1317:61:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 1066, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1316:63:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1293:86:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1051, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1752, + 1753 + ], + "referencedDeclaration": 1752, + "src": "1285:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1285:95:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1069, + "nodeType": "ExpressionStatement", + "src": "1285:95:7" + }, + { + "id": 1070, + "nodeType": "PlaceholderStatement", + "src": "1390:1:7" + } + ] + }, + "documentation": null, + "id": 1072, + "name": "onlyRegistrarOrAvatar", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1038, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1037, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1072, + "src": "1166:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1036, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1166:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1165:17:7" + }, + "src": "1135:263:7", + "visibility": "internal" + }, + { + "body": { + "id": 1086, + "nodeType": "Block", + "src": "1450:79:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1077, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1302, + "src": "1460:5:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1078, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "1468:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1468:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1460:18:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1081, + "nodeType": "ExpressionStatement", + "src": "1460:18:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 1084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1082, + "name": "paratiiRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1001, + "src": "1488:15:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1083, + "name": "_paratiiRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1074, + "src": "1506:16:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "src": "1488:34:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "id": 1085, + "nodeType": "ExpressionStatement", + "src": "1488:34:7" + } + ] + }, + "documentation": null, + "id": 1087, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1075, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1074, + "name": "_paratiiRegistry", + "nodeType": "VariableDeclaration", + "scope": 1087, + "src": "1416:25:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 1073, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 493, + "src": "1416:8:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$493", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1415:27:7" + }, + "payable": false, + "returnParameters": { + "id": 1076, + "nodeType": "ParameterList", + "parameters": [], + "src": "1450:0:7" + }, + "scope": 1203, + "src": "1404:125:7", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1137, + "nodeType": "Block", + "src": "2193:417:7", + "statements": [ + { + "assignments": [ + 1106 + ], + "declarations": [ + { + "constant": false, + "id": 1106, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "2204:10:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1105, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2204:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1110, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1108, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1089, + "src": "2227:8:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1107, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "2217:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2217:19:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2204:32:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 1124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1111, + "name": "videos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 999, + "src": "2247:6:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_VideoInfo_$995_storage_$", + "typeString": "mapping(bytes32 => struct Videos.VideoInfo storage ref)" + } + }, + "id": 1113, + "indexExpression": { + "argumentTypes": null, + "id": 1112, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1106, + "src": "2254:2:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2247:10:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage", + "typeString": "struct Videos.VideoInfo storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1115, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1106, + "src": "2289:2:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1116, + "name": "_price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1093, + "src": "2312:6:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1117, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1091, + "src": "2339:6:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1118, + "name": "_ipfsHashOrig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1095, + "src": "2373:13:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1119, + "name": "_ipfsHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1097, + "src": "2410:9:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1120, + "name": "_ipfsData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1099, + "src": "2443:9:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1121, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "2477:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2477:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": null, + "id": 1114, + "name": "VideoInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 995, + "src": "2260:9:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_VideoInfo_$995_storage_ptr_$", + "typeString": "type(struct Videos.VideoInfo storage pointer)" + } + }, + "id": 1123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "_id", + "price", + "owner", + "ipfsHashOrig", + "ipfsHash", + "ipfsData", + "registrar" + ], + "nodeType": "FunctionCall", + "src": "2260:238:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_memory", + "typeString": "struct Videos.VideoInfo memory" + } + }, + "src": "2247:251:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage", + "typeString": "struct Videos.VideoInfo storage ref" + } + }, + "id": 1125, + "nodeType": "ExpressionStatement", + "src": "2247:251:7" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1127, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1089, + "src": "2529:8:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1128, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1091, + "src": "2539:6:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1129, + "name": "_price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1093, + "src": "2547:6:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 1130, + "name": "_ipfsHashOrig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1095, + "src": "2555:13:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1131, + "name": "_ipfsHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1097, + "src": "2570:9:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 1132, + "name": "_ipfsData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1099, + "src": "2581:9:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1133, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1749, + "src": "2592:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2592:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1126, + "name": "LogCreateVideo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1017, + "src": "2514:14:7", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$returns$__$", + "typeString": "function (string memory,address,uint256,string memory,string memory,string memory,address)" + } + }, + "id": 1135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2514:89:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1136, + "nodeType": "EmitStatement", + "src": "2509:94:7" + } + ] + }, + "documentation": "@dev Register a video\n@param _videoId id of the video, can be any string\n@param _owner the address of the owner of this video\n@param _price the price in wei of this video\n@param _ipfsHashOrig the hash of the original file on IPFS\n@param _ipfsHash the hash of the streamable (transcoded) file on IPFS\n@param _ipfsData optional additional data about this video, stored in IPFS*", + "id": 1138, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 1102, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1089, + "src": "2176:8:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 1103, + "modifierName": { + "argumentTypes": null, + "id": 1101, + "name": "onlyRegistrarOrAvatar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1072, + "src": "2154:21:7", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", + "typeString": "modifier (string memory)" + } + }, + "nodeType": "ModifierInvocation", + "src": "2154:31:7" + } + ], + "name": "create", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1100, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1089, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "2002:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1088, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2002:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1091, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "2027:14:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1090, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2027:7:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1093, + "name": "_price", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "2051:14:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1092, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2051:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1095, + "name": "_ipfsHashOrig", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "2075:20:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1094, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2075:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1097, + "name": "_ipfsHash", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "2105:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1096, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2105:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1099, + "name": "_ipfsData", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "2131:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1098, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2131:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1992:161:7" + }, + "payable": false, + "returnParameters": { + "id": 1104, + "nodeType": "ParameterList", + "parameters": [], + "src": "2193:0:7" + }, + "scope": 1203, + "src": "1977:633:7", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1161, + "nodeType": "Block", + "src": "2688:115:7", + "statements": [ + { + "assignments": [ + 1147 + ], + "declarations": [ + { + "constant": false, + "id": 1147, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 1162, + "src": "2698:10:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1146, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2698:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1151, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1149, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1140, + "src": "2721:8:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1148, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "2711:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2711:19:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2698:32:7" + }, + { + "expression": { + "argumentTypes": null, + "id": 1155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "2740:17:7", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1152, + "name": "videos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 999, + "src": "2747:6:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_VideoInfo_$995_storage_$", + "typeString": "mapping(bytes32 => struct Videos.VideoInfo storage ref)" + } + }, + "id": 1154, + "indexExpression": { + "argumentTypes": null, + "id": 1153, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1147, + "src": "2754:2:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2747:10:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage", + "typeString": "struct Videos.VideoInfo storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1156, + "nodeType": "ExpressionStatement", + "src": "2740:17:7" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1158, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1140, + "src": "2787:8:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1157, + "name": "LogRemoveVideo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1021, + "src": "2772:14:7", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 1159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2772:24:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1160, + "nodeType": "EmitStatement", + "src": "2767:29:7" + } + ] + }, + "documentation": null, + "id": 1162, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 1143, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1140, + "src": "2678:8:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 1144, + "modifierName": { + "argumentTypes": null, + "id": 1142, + "name": "onlyRegistrarOrAvatar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1072, + "src": "2656:21:7", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", + "typeString": "modifier (string memory)" + } + }, + "nodeType": "ModifierInvocation", + "src": "2656:31:7" + } + ], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1141, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1140, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1162, + "src": "2632:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1139, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2632:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2631:17:7" + }, + "payable": false, + "returnParameters": { + "id": 1145, + "nodeType": "ParameterList", + "parameters": [], + "src": "2688:0:7" + }, + "scope": 1203, + "src": "2616:187:7", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1201, + "nodeType": "Block", + "src": "3084:210:7", + "statements": [ + { + "assignments": [ + 1180 + ], + "declarations": [ + { + "constant": false, + "id": 1180, + "name": "videoInfo", + "nodeType": "VariableDeclaration", + "scope": 1202, + "src": "3094:27:7", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo" + }, + "typeName": { + "contractScope": null, + "id": 1179, + "name": "VideoInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 995, + "src": "3094:9:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1186, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1181, + "name": "videos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 999, + "src": "3124:6:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_VideoInfo_$995_storage_$", + "typeString": "mapping(bytes32 => struct Videos.VideoInfo storage ref)" + } + }, + "id": 1185, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1183, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1164, + "src": "3141:8:7", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1182, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "3131:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 1184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3131:19:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3124:27:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage", + "typeString": "struct Videos.VideoInfo storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3094:57:7" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1187, + "name": "videoInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "3169:9:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo storage pointer" + } + }, + "id": 1188, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 992, + "src": "3169:15:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1189, + "name": "videoInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "3186:9:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo storage pointer" + } + }, + "id": 1190, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 990, + "src": "3186:15:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1191, + "name": "videoInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "3203:9:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo storage pointer" + } + }, + "id": 1192, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ipfsHashOrig", + "nodeType": "MemberAccess", + "referencedDeclaration": 984, + "src": "3203:22:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1193, + "name": "videoInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "3227:9:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo storage pointer" + } + }, + "id": 1194, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ipfsHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 986, + "src": "3227:18:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1195, + "name": "videoInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "3247:9:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo storage pointer" + } + }, + "id": 1196, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ipfsData", + "nodeType": "MemberAccess", + "referencedDeclaration": 988, + "src": "3247:18:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1197, + "name": "videoInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1180, + "src": "3267:9:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VideoInfo_$995_storage_ptr", + "typeString": "struct Videos.VideoInfo storage pointer" + } + }, + "id": 1198, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "registrar", + "nodeType": "MemberAccess", + "referencedDeclaration": 994, + "src": "3267:19:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 1199, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3168:119:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_string_storage_$_t_string_storage_$_t_string_storage_$_t_address_$", + "typeString": "tuple(address,uint256,string storage ref,string storage ref,string storage ref,address)" + } + }, + "functionReturnParameters": 1178, + "id": 1200, + "nodeType": "Return", + "src": "3161:126:7" + } + ] + }, + "documentation": "@dev return information about video\n@return a tuple (owner, price, ipfsHashOrig, ipfsHash, ipfsData, registrar)", + "id": 1202, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "get", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1165, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1164, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 1202, + "src": "2965:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1163, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2965:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2964:17:7" + }, + "payable": false, + "returnParameters": { + "id": 1178, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1167, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1202, + "src": "3029:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1166, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3029:7:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1169, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1202, + "src": "3038:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1168, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3038:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1171, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1202, + "src": "3047:6:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1170, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3047:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1173, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1202, + "src": "3055:6:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1172, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3055:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1175, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1202, + "src": "3063:6:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1174, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3063:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1177, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1202, + "src": "3071:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1176, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3071:7:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3028:51:7" + }, + "scope": 1203, + "src": "2952:342:7", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1204, + "src": "168:4081:7" + } + ], + "src": "0:4250:7" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-29T16:30:42.906Z" +} \ No newline at end of file diff --git a/build/contracts/Views.json b/build/contracts/Views.json index fa5a4de..a518e27 100644 --- a/build/contracts/Views.json +++ b/build/contracts/Views.json @@ -1 +1,4663 @@ -{"contractName":"Views","abi":[{"constant":true,"inputs":[],"name":"registry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","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":[{"name":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_address","type":"address"},{"indexed":false,"name":"_videoId","type":"string"},{"indexed":false,"name":"_ipfsData","type":"string"}],"name":"LogCreateView","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_address","type":"address"},{"indexed":false,"name":"_videoId","type":"string"}],"name":"LogRemoveView","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_viewer","type":"address"},{"name":"_videoId","type":"string"},{"name":"_ipfsData","type":"string"}],"name":"create","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_viewer","type":"address"},{"name":"_videoId","type":"string"}],"name":"remove","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_viewer","type":"address"},{"name":"_videoId","type":"string"}],"name":"get","outputs":[{"name":"","type":"bool"},{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_viewer","type":"address"},{"name":"_videoId","type":"string"}],"name":"userViewedVideo","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b60405160208061129f83398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506111a3806100fc6000396000f300606060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806349209fc814610088578063796d5836146101045780637b103999146101c35780638da5cb5b146102185780638fe001a51461026d578063f2fde38b14610301578063fc2525ab1461033a575b600080fd5b341561009357600080fd5b610102600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061043a565b005b341561010f57600080fd5b6101c1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610757565b005b34156101ce57600080fd5b6101d6610b13565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561022357600080fd5b61022b610b39565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561027857600080fd5b6102e7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610b5e565b604051808215151515815260200191505060405180910390f35b341561030c57600080fd5b610338600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c33565b005b341561034557600080fd5b6103b4600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610d88565b604051808315151515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156103fe5780820151818401526020810190506103e3565b50505050905090810190601f16801561042b5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806105975750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561055157600080fd5b5af1151561055e57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156105a257600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000826040518082805190602001908083835b60208310151561061957805182526020820191506020810190506020830392506105f4565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020600080820160006101000a81549060ff02191690556001820160006106819190611076565b50507f7ed2574507414d87ae20434a5bae56eef5c81885cd02fc205ce20d24356542328282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107185780820151818401526020810190506106fd565b50505050905090810190601f1680156107455780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806108b45750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561086e57600080fd5b5af1151561087b57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156108bf57600080fd5b604080519081016040528060011515815260200182815250600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000846040518082805190602001908083835b60208310151561094e5780518252602082019150602081019050602083039250610929565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160010190805190602001906109cd9291906110be565b509050507f73b2750ccaf84fc0cce582f3529304dc9e0b4b3b7e84ca44757a6abbfb9a2d81838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015610a6b578082015181840152602081019050610a50565b50505050905090810190601f168015610a985780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610ad1578082015181840152602081019050610ab6565b50505050905090810190601f168015610afe5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a1505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b602083101515610bd75780518252602082019150602081019050602083039250610bb2565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060000160009054906101000a900460ff16905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c8e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610cca57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610d9261113e565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610ef15750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1515610eab57600080fd5b5af11515610eb857600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610efc57600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856040518082805190602001908083835b602083101515610f735780518252602082019150602081019050602083039250610f4e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002090508060000160009054906101000a900460ff1681600101808054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110635780601f1061103857610100808354040283529160200191611063565b820191906000526020600020905b81548152906001019060200180831161104657829003601f168201915b5050505050905092509250509250929050565b50805460018160011615610100020316600290046000825580601f1061109c57506110bb565b601f0160209004906000526020600020908101906110ba9190611152565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106110ff57805160ff191683800117855561112d565b8280016001018555821561112d579182015b8281111561112c578251825591602001919060010190611111565b5b50905061113a9190611152565b5090565b602060405190810160405280600081525090565b61117491905b80821115611170576000816000905550600101611158565b5090565b905600a165627a7a723058204c6de8221e348d3e73e4e2170912f7479f6c347e13c37334614230ae011056ed0029","deployedBytecode":"0x606060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806349209fc814610088578063796d5836146101045780637b103999146101c35780638da5cb5b146102185780638fe001a51461026d578063f2fde38b14610301578063fc2525ab1461033a575b600080fd5b341561009357600080fd5b610102600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061043a565b005b341561010f57600080fd5b6101c1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610757565b005b34156101ce57600080fd5b6101d6610b13565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561022357600080fd5b61022b610b39565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561027857600080fd5b6102e7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610b5e565b604051808215151515815260200191505060405180910390f35b341561030c57600080fd5b610338600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c33565b005b341561034557600080fd5b6103b4600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610d88565b604051808315151515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156103fe5780820151818401526020810190506103e3565b50505050905090810190601f16801561042b5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806105975750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561055157600080fd5b5af1151561055e57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156105a257600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000826040518082805190602001908083835b60208310151561061957805182526020820191506020810190506020830392506105f4565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020600080820160006101000a81549060ff02191690556001820160006106819190611076565b50507f7ed2574507414d87ae20434a5bae56eef5c81885cd02fc205ce20d24356542328282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107185780820151818401526020810190506106fd565b50505050905090810190601f1680156107455780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806108b45750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561086e57600080fd5b5af1151561087b57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156108bf57600080fd5b604080519081016040528060011515815260200182815250600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000846040518082805190602001908083835b60208310151561094e5780518252602082019150602081019050602083039250610929565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160010190805190602001906109cd9291906110be565b509050507f73b2750ccaf84fc0cce582f3529304dc9e0b4b3b7e84ca44757a6abbfb9a2d81838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015610a6b578082015181840152602081019050610a50565b50505050905090810190601f168015610a985780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610ad1578082015181840152602081019050610ab6565b50505050905090810190601f168015610afe5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a1505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b602083101515610bd75780518252602082019150602081019050602083039250610bb2565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060000160009054906101000a900460ff16905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c8e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610cca57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610d9261113e565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610ef15750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1515610eab57600080fd5b5af11515610eb857600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610efc57600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856040518082805190602001908083835b602083101515610f735780518252602082019150602081019050602083039250610f4e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002090508060000160009054906101000a900460ff1681600101808054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110635780601f1061103857610100808354040283529160200191611063565b820191906000526020600020905b81548152906001019060200180831161104657829003601f168201915b5050505050905092509250509250929050565b50805460018160011615610100020316600290046000825580601f1061109c57506110bb565b601f0160209004906000526020600020908101906110ba9190611152565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106110ff57805160ff191683800117855561112d565b8280016001018555821561112d579182015b8281111561112c578251825591602001919060010190611111565b5b50905061113a9190611152565b5090565b602060405190810160405280600081525090565b61117491905b80821115611170576000816000905550600101611158565b5090565b905600a165627a7a723058204c6de8221e348d3e73e4e2170912f7479f6c347e13c37334614230ae011056ed0029"} \ No newline at end of file +{ + "contractName": "Views", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "registry", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "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": [ + { + "name": "_registry", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_address", + "type": "address" + }, + { + "indexed": false, + "name": "_videoId", + "type": "string" + }, + { + "indexed": false, + "name": "_ipfsData", + "type": "string" + } + ], + "name": "LogCreateView", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_address", + "type": "address" + }, + { + "indexed": false, + "name": "_videoId", + "type": "string" + } + ], + "name": "LogRemoveView", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_viewer", + "type": "address" + }, + { + "name": "_videoId", + "type": "string" + }, + { + "name": "_ipfsData", + "type": "string" + } + ], + "name": "create", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_viewer", + "type": "address" + }, + { + "name": "_videoId", + "type": "string" + } + ], + "name": "remove", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_viewer", + "type": "address" + }, + { + "name": "_videoId", + "type": "string" + } + ], + "name": "get", + "outputs": [ + { + "name": "", + "type": "bool" + }, + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_viewer", + "type": "address" + }, + { + "name": "_videoId", + "type": "string" + } + ], + "name": "userViewedVideo", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b5060405160208061134183398101806040528101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061123d806101046000396000f300608060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806349209fc814610088578063796d5836146101115780637b103999146101e05780638da5cb5b146102375780638fe001a51461028e578063f2fde38b1461032f578063fc2525ab14610372575b600080fd5b34801561009457600080fd5b5061010f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061047f565b005b34801561011d57600080fd5b506101de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506107c1565b005b3480156101ec57600080fd5b506101f5610ba2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024357600080fd5b5061024c610bc8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561029a57600080fd5b50610315600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610bed565b604051808215151515815260200191505060405180910390f35b34801561033b57600080fd5b50610370600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cc2565b005b34801561037e57600080fd5b506103f9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610e17565b604051808315151515815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610443578082015181840152602081019050610428565b50505050905090810190601f1680156104705780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806106015750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561059757600080fd5b505af11580156105ab573d6000803e3d6000fd5b505050506040513d60208110156105c157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561060c57600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000826040518082805190602001908083835b602083101515610683578051825260208201915060208101905060208303925061065e565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020600080820160006101000a81549060ff02191690556001820160006106eb9190611124565b50507f7ed2574507414d87ae20434a5bae56eef5c81885cd02fc205ce20d24356542328282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610782578082015181840152602081019050610767565b50505050905090810190601f1680156107af5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806109435750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1580156108d957600080fd5b505af11580156108ed573d6000803e3d6000fd5b505050506040513d602081101561090357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561094e57600080fd5b604080519081016040528060011515815260200182815250600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000846040518082805190602001908083835b6020831015156109dd57805182526020820191506020810190506020830392506109b8565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060008201518160000160006101000a81548160ff0219169083151502179055506020820151816001019080519060200190610a5c92919061116c565b509050507f73b2750ccaf84fc0cce582f3529304dc9e0b4b3b7e84ca44757a6abbfb9a2d81838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015610afa578082015181840152602081019050610adf565b50505050905090810190601f168015610b275780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610b60578082015181840152602081019050610b45565b50505050905090810190601f168015610b8d5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a1505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b602083101515610c665780518252602082019150602081019050602083039250610c41565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060000160009054906101000a900460ff16905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d1d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d5957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000606060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f9f5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b158015610f3557600080fd5b505af1158015610f49573d6000803e3d6000fd5b505050506040513d6020811015610f5f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610faa57600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856040518082805190602001908083835b6020831015156110215780518252602082019150602081019050602083039250610ffc565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002090508060000160009054906101000a900460ff1681600101808054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111115780601f106110e657610100808354040283529160200191611111565b820191906000526020600020905b8154815290600101906020018083116110f457829003601f168201915b5050505050905092509250509250929050565b50805460018160011615610100020316600290046000825580601f1061114a5750611169565b601f01602090049060005260206000209081019061116891906111ec565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106111ad57805160ff19168380011785556111db565b828001600101855582156111db579182015b828111156111da5782518255916020019190600101906111bf565b5b5090506111e891906111ec565b5090565b61120e91905b8082111561120a5760008160009055506001016111f2565b5090565b905600a165627a7a723058206d261556c1856cbf682b1b1db42eabcc9e9b2af1a52172cb05a80605411a65430029", + "deployedBytecode": "0x608060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806349209fc814610088578063796d5836146101115780637b103999146101e05780638da5cb5b146102375780638fe001a51461028e578063f2fde38b1461032f578063fc2525ab14610372575b600080fd5b34801561009457600080fd5b5061010f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061047f565b005b34801561011d57600080fd5b506101de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506107c1565b005b3480156101ec57600080fd5b506101f5610ba2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024357600080fd5b5061024c610bc8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561029a57600080fd5b50610315600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610bed565b604051808215151515815260200191505060405180910390f35b34801561033b57600080fd5b50610370600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cc2565b005b34801561037e57600080fd5b506103f9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610e17565b604051808315151515815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610443578082015181840152602081019050610428565b50505050905090810190601f1680156104705780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806106015750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561059757600080fd5b505af11580156105ab573d6000803e3d6000fd5b505050506040513d60208110156105c157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561060c57600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000826040518082805190602001908083835b602083101515610683578051825260208201915060208101905060208303925061065e565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020600080820160006101000a81549060ff02191690556001820160006106eb9190611124565b50507f7ed2574507414d87ae20434a5bae56eef5c81885cd02fc205ce20d24356542328282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610782578082015181840152602081019050610767565b50505050905090810190601f1680156107af5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806109435750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1580156108d957600080fd5b505af11580156108ed573d6000803e3d6000fd5b505050506040513d602081101561090357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561094e57600080fd5b604080519081016040528060011515815260200182815250600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000846040518082805190602001908083835b6020831015156109dd57805182526020820191506020810190506020830392506109b8565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060008201518160000160006101000a81548160ff0219169083151502179055506020820151816001019080519060200190610a5c92919061116c565b509050507f73b2750ccaf84fc0cce582f3529304dc9e0b4b3b7e84ca44757a6abbfb9a2d81838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015610afa578082015181840152602081019050610adf565b50505050905090810190601f168015610b275780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610b60578082015181840152602081019050610b45565b50505050905090810190601f168015610b8d5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a1505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b602083101515610c665780518252602082019150602081019050602083039250610c41565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060000160009054906101000a900460ff16905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d1d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d5957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000606060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f9f5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b158015610f3557600080fd5b505af1158015610f49573d6000803e3d6000fd5b505050506040513d6020811015610f5f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610faa57600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856040518082805190602001908083835b6020831015156110215780518252602082019150602081019050602083039250610ffc565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002090508060000160009054906101000a900460ff1681600101808054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111115780601f106110e657610100808354040283529160200191611111565b820191906000526020600020905b8154815290600101906020018083116110f457829003601f168201915b5050505050905092509250509250929050565b50805460018160011615610100020316600290046000825580601f1061114a5750611169565b601f01602090049060005260206000209081019061116891906111ec565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106111ad57805160ff19168380011785556111db565b828001600101855582156111db579182015b828111156111da5782518255916020019190600101906111bf565b5b5090506111e891906111ec565b5090565b61120e91905b8082111561120a5760008160009055506001016111f2565b5090565b905600a165627a7a723058206d261556c1856cbf682b1b1db42eabcc9e9b2af1a52172cb05a80605411a65430029", + "sourceMap": "112:1468:13:-;;;664:104;8:9:-1;5:2;;;30:1;27;20:12;5:2;664:104:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;502:10:16;494:5;;:18;;;;;;;;;;;;;;;;;;721:10:13;713:5;;:18;;;;;;;;;;;;;;;;;;752:9;741:8;;:20;;;;;;;;;;;;;;;;;;664:104;112:1468;;;;;;", + "deployedSourceMap": "112:1468:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1008:182;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1008:182:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;774:228;;8:9:-1;5:2;;;30:1;27;20:12;5:2;774:228:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;145:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;145:24:13;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:16;;;;;;;;;;;;;;;;;;;;;;;;;;;1419:159:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1419:159:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;827:169:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;827:169:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;1196:217:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1196:217:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1196:217:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1008:182;583:5;;;;;;;;;;;569:19;;:10;:19;;;568:71;;;;608:8;;;;;;;;;;;:20;;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:30:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;608:30:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;608:30:13;;;;;;;;;;;;;;;;594:44;;:10;:44;;;568:71;560:80;;;;;;;;1100:6;:15;1107:7;1100:15;;;;;;;;;;;;;;;:36;1126:8;1116:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1116:19:13;;;;;;;;;;;;;;;;1100:36;;;;;;;;;;;;;;;;;;1093:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;1151:32;1165:7;1174:8;1151:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1151:32:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1008:182;;:::o;774:228::-;583:5;;;;;;;;;;;569:19;;:10;:19;;;568:71;;;;608:8;;;;;;;;;;;:20;;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:30:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;608:30:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;608:30:13;;;;;;;;;;;;;;;;594:44;;:10;:44;;;568:71;560:80;;;;;;;;916:21;;;;;;;;;921:4;916:21;;;;;;927:9;916:21;;;877:6;:15;884:7;877:15;;;;;;;;;;;;;;;:36;903:8;893:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;893:19:13;;;;;;;;;;;;;;;;877:36;;;;;;;;;;;;;;;;;:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;952:43;966:7;975:8;985:9;952:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;952:43:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;952:43:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;774:228;;;:::o;145:24::-;;;;;;;;;;;;;:::o;238:20:16:-;;;;;;;;;;;;;:::o;1419:159:13:-;1498:4;1521:6;:15;1528:7;1521:15;;;;;;;;;;;;;;;:36;1547:8;1537:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1537:19:13;;;;;;;;;;;;;;;;1521:36;;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;1514:57;;1419:159;;;;:::o;827:169:16:-;647:5;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;923:1;903:22;;:8;:22;;;;895:31;;;;;;;;960:8;932:37;;953:5;;;;;;;;;;;932:37;;;;;;;;;;;;983:8;975:5;;:16;;;;;;;;;;;;;;;;;;827:169;:::o;1196:217:13:-;1281:4;1287:6;1305:9;583:5;;;;;;;;;;;569:19;;:10;:19;;;568:71;;;;608:8;;;;;;;;;;;:20;;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:30:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;608:30:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;608:30:13;;;;;;;;;;;;;;;;594:44;;:10;:44;;;568:71;560:80;;;;;;;;1317:6;:15;1324:7;1317:15;;;;;;;;;;;;;;;:36;1343:8;1333:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1333:19:13;;;;;;;;;;;;;;;;1317:36;;;;;;;;;;;;;;;;;1305:48;;1371:4;:18;;;;;;;;;;;;1391:4;:14;;1363:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1196:217;;;;;;:::o;112:1468::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.18;\n\nimport \"zeppelin-solidity/contracts/ownership/Ownable.sol\";\nimport \"./Registry.sol\";\n\ncontract Views is Ownable {\n\n Registry public registry;\n\n struct Data {\n bool _isRegistered;\n string _ipfsData;\n }\n\n // mapping from user addrsses and video ids to booleans\n mapping (address=> mapping (bytes32 => Data)) private _views;\n\n event LogCreateView(address _address, string _videoId, string _ipfsData);\n event LogRemoveView(address _address, string _videoId);\n\n modifier onlyOwnerOrAvatar() {\n require((msg.sender == owner) || (msg.sender == registry.getContract(\"Avatar\")));\n _;\n }\n\n constructor(Registry _registry) public {\n owner = msg.sender;\n registry = _registry;\n }\n\n function create(address _viewer, string _videoId, string _ipfsData) public onlyOwnerOrAvatar {\n _views[_viewer][keccak256(_videoId)] = Data(true, _ipfsData);\n emit LogCreateView(_viewer, _videoId, _ipfsData);\n }\n\n function remove(address _viewer, string _videoId) public onlyOwnerOrAvatar {\n delete _views[_viewer][keccak256(_videoId)];\n emit LogRemoveView(_viewer, _videoId);\n }\n\n function get(address _viewer, string _videoId) public view onlyOwnerOrAvatar returns(bool, string) {\n Data data = _views[_viewer][keccak256(_videoId)];\n return (data._isRegistered, data._ipfsData);\n }\n\n function userViewedVideo(address _viewer, string _videoId) public view returns(bool) {\n return _views[_viewer][keccak256(_videoId)]._isRegistered;\n }\n}\n", + "sourcePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Views.sol", + "ast": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Views.sol", + "exportedSymbols": { + "Views": [ + 2401 + ] + }, + "id": 2402, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2229, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:13" + }, + { + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 2230, + "nodeType": "ImportDirective", + "scope": 2402, + "sourceUnit": 2764, + "src": "26:59:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Registry.sol", + "file": "./Registry.sol", + "id": 2231, + "nodeType": "ImportDirective", + "scope": 2402, + "sourceUnit": 1097, + "src": "86:24:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 2232, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2763, + "src": "130:7:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$2763", + "typeString": "contract Ownable" + } + }, + "id": 2233, + "nodeType": "InheritanceSpecifier", + "src": "130:7:13" + } + ], + "contractDependencies": [ + 2763 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 2401, + "linearizedBaseContracts": [ + 2401, + 2763 + ], + "name": "Views", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 2235, + "name": "registry", + "nodeType": "VariableDeclaration", + "scope": 2401, + "src": "145:24:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 2234, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1096, + "src": "145:8:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "public" + }, + { + "canonicalName": "Views.Data", + "id": 2240, + "members": [ + { + "constant": false, + "id": 2237, + "name": "_isRegistered", + "nodeType": "VariableDeclaration", + "scope": 2240, + "src": "198:18:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2236, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "198:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2239, + "name": "_ipfsData", + "nodeType": "VariableDeclaration", + "scope": 2240, + "src": "226:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2238, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "226:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Data", + "nodeType": "StructDefinition", + "scope": 2401, + "src": "176:73:13", + "visibility": "public" + }, + { + "constant": false, + "id": 2246, + "name": "_views", + "nodeType": "VariableDeclaration", + "scope": 2401, + "src": "315:60:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_Data_$2240_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Views.Data))" + }, + "typeName": { + "id": 2245, + "keyType": { + "id": 2241, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "324:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "315:45:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_Data_$2240_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Views.Data))" + }, + "valueType": { + "id": 2244, + "keyType": { + "id": 2242, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "343:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "334:25:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$2240_storage_$", + "typeString": "mapping(bytes32 => struct Views.Data)" + }, + "valueType": { + "contractScope": null, + "id": 2243, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2240, + "src": "354:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2240_storage_ptr", + "typeString": "struct Views.Data" + } + } + } + }, + "value": null, + "visibility": "private" + }, + { + "anonymous": false, + "documentation": null, + "id": 2254, + "name": "LogCreateView", + "nodeType": "EventDefinition", + "parameters": { + "id": 2253, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2248, + "indexed": false, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 2254, + "src": "402:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2247, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "402:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2250, + "indexed": false, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 2254, + "src": "420:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2249, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "420:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2252, + "indexed": false, + "name": "_ipfsData", + "nodeType": "VariableDeclaration", + "scope": 2254, + "src": "437:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2251, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "437:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "401:53:13" + }, + "src": "382:73:13" + }, + { + "anonymous": false, + "documentation": null, + "id": 2260, + "name": "LogRemoveView", + "nodeType": "EventDefinition", + "parameters": { + "id": 2259, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2256, + "indexed": false, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 2260, + "src": "480:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2255, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "480:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2258, + "indexed": false, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 2260, + "src": "498:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2257, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "498:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "479:35:13" + }, + "src": "460:55:13" + }, + { + "body": { + "id": 2280, + "nodeType": "Block", + "src": "550:108:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2263, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "569:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "569:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2265, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2711, + "src": "583:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "569:19:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2267, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "568:21:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2268, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "594:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "594:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "417661746172", + "id": 2272, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "629:8:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_29a36bb22f3c260ddca59a40dffde48863da1d6fba3d1f55dedde5c8e1942577", + "typeString": "literal_string \"Avatar\"" + }, + "value": "Avatar" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_29a36bb22f3c260ddca59a40dffde48863da1d6fba3d1f55dedde5c8e1942577", + "typeString": "literal_string \"Avatar\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 2270, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2235, + "src": "608:8:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "id": 2271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 983, + "src": "608:20:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory) view external returns (address)" + } + }, + "id": 2273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "608:30:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "594:44:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2275, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "593:46:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "568:71:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2262, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "560:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "560:80:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2278, + "nodeType": "ExpressionStatement", + "src": "560:80:13" + }, + { + "id": 2279, + "nodeType": "PlaceholderStatement", + "src": "650:1:13" + } + ] + }, + "documentation": null, + "id": 2281, + "name": "onlyOwnerOrAvatar", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 2261, + "nodeType": "ParameterList", + "parameters": [], + "src": "547:2:13" + }, + "src": "521:137:13", + "visibility": "internal" + }, + { + "body": { + "id": 2295, + "nodeType": "Block", + "src": "703:65:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2286, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2711, + "src": "713:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2287, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "721:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "721:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "713:18:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2290, + "nodeType": "ExpressionStatement", + "src": "713:18:13" + }, + { + "expression": { + "argumentTypes": null, + "id": 2293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2291, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2235, + "src": "741:8:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2292, + "name": "_registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2283, + "src": "752:9:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "src": "741:20:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "id": 2294, + "nodeType": "ExpressionStatement", + "src": "741:20:13" + } + ] + }, + "documentation": null, + "id": 2296, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2284, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2283, + "name": "_registry", + "nodeType": "VariableDeclaration", + "scope": 2296, + "src": "676:18:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 2282, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1096, + "src": "676:8:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "675:20:13" + }, + "payable": false, + "returnParameters": { + "id": 2285, + "nodeType": "ParameterList", + "parameters": [], + "src": "703:0:13" + }, + "scope": 2401, + "src": "664:104:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2326, + "nodeType": "Block", + "src": "867:135:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2307, + "name": "_views", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2246, + "src": "877:6:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_Data_$2240_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Views.Data storage ref))" + } + }, + "id": 2312, + "indexExpression": { + "argumentTypes": null, + "id": 2308, + "name": "_viewer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2298, + "src": "884:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "877:15:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$2240_storage_$", + "typeString": "mapping(bytes32 => struct Views.Data storage ref)" + } + }, + "id": 2313, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2310, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2300, + "src": "903:8:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2309, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "893:9:13", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 2311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "893:19:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "877:36:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2240_storage", + "typeString": "struct Views.Data storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2315, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "921:4:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "id": 2316, + "name": "_ipfsData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2302, + "src": "927:9:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2314, + "name": "Data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2240, + "src": "916:4:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Data_$2240_storage_ptr_$", + "typeString": "type(struct Views.Data storage pointer)" + } + }, + "id": 2317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "916:21:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2240_memory", + "typeString": "struct Views.Data memory" + } + }, + "src": "877:60:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2240_storage", + "typeString": "struct Views.Data storage ref" + } + }, + "id": 2319, + "nodeType": "ExpressionStatement", + "src": "877:60:13" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2321, + "name": "_viewer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2298, + "src": "966:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2322, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2300, + "src": "975:8:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 2323, + "name": "_ipfsData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2302, + "src": "985:9:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2320, + "name": "LogCreateView", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2254, + "src": "952:13:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,string memory,string memory)" + } + }, + "id": 2324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "952:43:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2325, + "nodeType": "EmitStatement", + "src": "947:48:13" + } + ] + }, + "documentation": null, + "id": 2327, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 2305, + "modifierName": { + "argumentTypes": null, + "id": 2304, + "name": "onlyOwnerOrAvatar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2281, + "src": "849:17:13", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "849:17:13" + } + ], + "name": "create", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2303, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2298, + "name": "_viewer", + "nodeType": "VariableDeclaration", + "scope": 2327, + "src": "790:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2297, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "790:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2300, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 2327, + "src": "807:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2299, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "807:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2302, + "name": "_ipfsData", + "nodeType": "VariableDeclaration", + "scope": 2327, + "src": "824:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2301, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "824:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "789:52:13" + }, + "payable": false, + "returnParameters": { + "id": 2306, + "nodeType": "ParameterList", + "parameters": [], + "src": "867:0:13" + }, + "scope": 2401, + "src": "774:228:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2350, + "nodeType": "Block", + "src": "1083:107:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1093:43:13", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2336, + "name": "_views", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2246, + "src": "1100:6:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_Data_$2240_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Views.Data storage ref))" + } + }, + "id": 2338, + "indexExpression": { + "argumentTypes": null, + "id": 2337, + "name": "_viewer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2329, + "src": "1107:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1100:15:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$2240_storage_$", + "typeString": "mapping(bytes32 => struct Views.Data storage ref)" + } + }, + "id": 2342, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2340, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2331, + "src": "1126:8:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2339, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "1116:9:13", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 2341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1116:19:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1100:36:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2240_storage", + "typeString": "struct Views.Data storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2344, + "nodeType": "ExpressionStatement", + "src": "1093:43:13" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2346, + "name": "_viewer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2329, + "src": "1165:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2347, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2331, + "src": "1174:8:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2345, + "name": "LogRemoveView", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2260, + "src": "1151:13:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,string memory)" + } + }, + "id": 2348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1151:32:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2349, + "nodeType": "EmitStatement", + "src": "1146:37:13" + } + ] + }, + "documentation": null, + "id": 2351, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 2334, + "modifierName": { + "argumentTypes": null, + "id": 2333, + "name": "onlyOwnerOrAvatar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2281, + "src": "1065:17:13", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1065:17:13" + } + ], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2332, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2329, + "name": "_viewer", + "nodeType": "VariableDeclaration", + "scope": 2351, + "src": "1024:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2328, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1024:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2331, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 2351, + "src": "1041:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2330, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1041:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1023:34:13" + }, + "payable": false, + "returnParameters": { + "id": 2335, + "nodeType": "ParameterList", + "parameters": [], + "src": "1083:0:13" + }, + "scope": 2401, + "src": "1008:182:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2380, + "nodeType": "Block", + "src": "1295:118:13", + "statements": [ + { + "assignments": [ + 2365 + ], + "declarations": [ + { + "constant": false, + "id": 2365, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 2381, + "src": "1305:9:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2240_storage_ptr", + "typeString": "struct Views.Data" + }, + "typeName": { + "contractScope": null, + "id": 2364, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2240, + "src": "1305:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2240_storage_ptr", + "typeString": "struct Views.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2373, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2366, + "name": "_views", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2246, + "src": "1317:6:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_Data_$2240_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Views.Data storage ref))" + } + }, + "id": 2368, + "indexExpression": { + "argumentTypes": null, + "id": 2367, + "name": "_viewer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2353, + "src": "1324:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1317:15:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$2240_storage_$", + "typeString": "mapping(bytes32 => struct Views.Data storage ref)" + } + }, + "id": 2372, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2370, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2355, + "src": "1343:8:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2369, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "1333:9:13", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 2371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1333:19:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1317:36:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2240_storage", + "typeString": "struct Views.Data storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1305:48:13" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2374, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2365, + "src": "1371:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2240_storage_ptr", + "typeString": "struct Views.Data storage pointer" + } + }, + "id": 2375, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_isRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 2237, + "src": "1371:18:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2376, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2365, + "src": "1391:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2240_storage_ptr", + "typeString": "struct Views.Data storage pointer" + } + }, + "id": 2377, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_ipfsData", + "nodeType": "MemberAccess", + "referencedDeclaration": 2239, + "src": "1391:14:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "id": 2378, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1370:36:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_string_storage_$", + "typeString": "tuple(bool,string storage ref)" + } + }, + "functionReturnParameters": 2363, + "id": 2379, + "nodeType": "Return", + "src": "1363:43:13" + } + ] + }, + "documentation": null, + "id": 2381, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [ + { + "arguments": null, + "id": 2358, + "modifierName": { + "argumentTypes": null, + "id": 2357, + "name": "onlyOwnerOrAvatar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2281, + "src": "1255:17:13", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1255:17:13" + } + ], + "name": "get", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2356, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2353, + "name": "_viewer", + "nodeType": "VariableDeclaration", + "scope": 2381, + "src": "1209:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2352, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1209:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2355, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 2381, + "src": "1226:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2354, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1226:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1208:34:13" + }, + "payable": false, + "returnParameters": { + "id": 2363, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2360, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2381, + "src": "1281:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2359, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1281:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2362, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2381, + "src": "1287:6:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2361, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1287:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1280:14:13" + }, + "scope": 2401, + "src": "1196:217:13", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2399, + "nodeType": "Block", + "src": "1504:74:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2390, + "name": "_views", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2246, + "src": "1521:6:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_Data_$2240_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Views.Data storage ref))" + } + }, + "id": 2392, + "indexExpression": { + "argumentTypes": null, + "id": 2391, + "name": "_viewer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2383, + "src": "1528:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1521:15:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$2240_storage_$", + "typeString": "mapping(bytes32 => struct Views.Data storage ref)" + } + }, + "id": 2396, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2394, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2385, + "src": "1547:8:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2393, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "1537:9:13", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 2395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1537:19:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1521:36:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2240_storage", + "typeString": "struct Views.Data storage ref" + } + }, + "id": 2397, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_isRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 2237, + "src": "1521:50:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2389, + "id": 2398, + "nodeType": "Return", + "src": "1514:57:13" + } + ] + }, + "documentation": null, + "id": 2400, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "userViewedVideo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2386, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2383, + "name": "_viewer", + "nodeType": "VariableDeclaration", + "scope": 2400, + "src": "1444:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2382, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1444:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2385, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 2400, + "src": "1461:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2384, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1461:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1443:34:13" + }, + "payable": false, + "returnParameters": { + "id": 2389, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2388, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2400, + "src": "1498:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2387, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1498:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1497:6:13" + }, + "scope": 2401, + "src": "1419:159:13", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 2402, + "src": "112:1468:13" + } + ], + "src": "0:1581:13" + }, + "legacyAST": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Views.sol", + "exportedSymbols": { + "Views": [ + 2401 + ] + }, + "id": 2402, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2229, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:13" + }, + { + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 2230, + "nodeType": "ImportDirective", + "scope": 2402, + "sourceUnit": 2764, + "src": "26:59:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Registry.sol", + "file": "./Registry.sol", + "id": 2231, + "nodeType": "ImportDirective", + "scope": 2402, + "sourceUnit": 1097, + "src": "86:24:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 2232, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2763, + "src": "130:7:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$2763", + "typeString": "contract Ownable" + } + }, + "id": 2233, + "nodeType": "InheritanceSpecifier", + "src": "130:7:13" + } + ], + "contractDependencies": [ + 2763 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 2401, + "linearizedBaseContracts": [ + 2401, + 2763 + ], + "name": "Views", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 2235, + "name": "registry", + "nodeType": "VariableDeclaration", + "scope": 2401, + "src": "145:24:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 2234, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1096, + "src": "145:8:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "public" + }, + { + "canonicalName": "Views.Data", + "id": 2240, + "members": [ + { + "constant": false, + "id": 2237, + "name": "_isRegistered", + "nodeType": "VariableDeclaration", + "scope": 2240, + "src": "198:18:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2236, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "198:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2239, + "name": "_ipfsData", + "nodeType": "VariableDeclaration", + "scope": 2240, + "src": "226:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2238, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "226:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Data", + "nodeType": "StructDefinition", + "scope": 2401, + "src": "176:73:13", + "visibility": "public" + }, + { + "constant": false, + "id": 2246, + "name": "_views", + "nodeType": "VariableDeclaration", + "scope": 2401, + "src": "315:60:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_Data_$2240_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Views.Data))" + }, + "typeName": { + "id": 2245, + "keyType": { + "id": 2241, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "324:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "315:45:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_Data_$2240_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Views.Data))" + }, + "valueType": { + "id": 2244, + "keyType": { + "id": 2242, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "343:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "334:25:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$2240_storage_$", + "typeString": "mapping(bytes32 => struct Views.Data)" + }, + "valueType": { + "contractScope": null, + "id": 2243, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2240, + "src": "354:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2240_storage_ptr", + "typeString": "struct Views.Data" + } + } + } + }, + "value": null, + "visibility": "private" + }, + { + "anonymous": false, + "documentation": null, + "id": 2254, + "name": "LogCreateView", + "nodeType": "EventDefinition", + "parameters": { + "id": 2253, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2248, + "indexed": false, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 2254, + "src": "402:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2247, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "402:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2250, + "indexed": false, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 2254, + "src": "420:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2249, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "420:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2252, + "indexed": false, + "name": "_ipfsData", + "nodeType": "VariableDeclaration", + "scope": 2254, + "src": "437:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2251, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "437:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "401:53:13" + }, + "src": "382:73:13" + }, + { + "anonymous": false, + "documentation": null, + "id": 2260, + "name": "LogRemoveView", + "nodeType": "EventDefinition", + "parameters": { + "id": 2259, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2256, + "indexed": false, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 2260, + "src": "480:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2255, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "480:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2258, + "indexed": false, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 2260, + "src": "498:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2257, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "498:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "479:35:13" + }, + "src": "460:55:13" + }, + { + "body": { + "id": 2280, + "nodeType": "Block", + "src": "550:108:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2263, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "569:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "569:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2265, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2711, + "src": "583:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "569:19:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2267, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "568:21:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2268, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "594:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "594:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "417661746172", + "id": 2272, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "629:8:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_29a36bb22f3c260ddca59a40dffde48863da1d6fba3d1f55dedde5c8e1942577", + "typeString": "literal_string \"Avatar\"" + }, + "value": "Avatar" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_29a36bb22f3c260ddca59a40dffde48863da1d6fba3d1f55dedde5c8e1942577", + "typeString": "literal_string \"Avatar\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 2270, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2235, + "src": "608:8:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "id": 2271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 983, + "src": "608:20:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory) view external returns (address)" + } + }, + "id": 2273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "608:30:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "594:44:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2275, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "593:46:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "568:71:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2262, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "560:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "560:80:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2278, + "nodeType": "ExpressionStatement", + "src": "560:80:13" + }, + { + "id": 2279, + "nodeType": "PlaceholderStatement", + "src": "650:1:13" + } + ] + }, + "documentation": null, + "id": 2281, + "name": "onlyOwnerOrAvatar", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 2261, + "nodeType": "ParameterList", + "parameters": [], + "src": "547:2:13" + }, + "src": "521:137:13", + "visibility": "internal" + }, + { + "body": { + "id": 2295, + "nodeType": "Block", + "src": "703:65:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2286, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2711, + "src": "713:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2287, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "721:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "721:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "713:18:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2290, + "nodeType": "ExpressionStatement", + "src": "713:18:13" + }, + { + "expression": { + "argumentTypes": null, + "id": 2293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2291, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2235, + "src": "741:8:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2292, + "name": "_registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2283, + "src": "752:9:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "src": "741:20:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "id": 2294, + "nodeType": "ExpressionStatement", + "src": "741:20:13" + } + ] + }, + "documentation": null, + "id": 2296, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2284, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2283, + "name": "_registry", + "nodeType": "VariableDeclaration", + "scope": 2296, + "src": "676:18:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 2282, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1096, + "src": "676:8:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "675:20:13" + }, + "payable": false, + "returnParameters": { + "id": 2285, + "nodeType": "ParameterList", + "parameters": [], + "src": "703:0:13" + }, + "scope": 2401, + "src": "664:104:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2326, + "nodeType": "Block", + "src": "867:135:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2307, + "name": "_views", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2246, + "src": "877:6:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_Data_$2240_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Views.Data storage ref))" + } + }, + "id": 2312, + "indexExpression": { + "argumentTypes": null, + "id": 2308, + "name": "_viewer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2298, + "src": "884:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "877:15:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$2240_storage_$", + "typeString": "mapping(bytes32 => struct Views.Data storage ref)" + } + }, + "id": 2313, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2310, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2300, + "src": "903:8:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2309, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "893:9:13", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 2311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "893:19:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "877:36:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2240_storage", + "typeString": "struct Views.Data storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2315, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "921:4:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "id": 2316, + "name": "_ipfsData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2302, + "src": "927:9:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2314, + "name": "Data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2240, + "src": "916:4:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Data_$2240_storage_ptr_$", + "typeString": "type(struct Views.Data storage pointer)" + } + }, + "id": 2317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "916:21:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2240_memory", + "typeString": "struct Views.Data memory" + } + }, + "src": "877:60:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2240_storage", + "typeString": "struct Views.Data storage ref" + } + }, + "id": 2319, + "nodeType": "ExpressionStatement", + "src": "877:60:13" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2321, + "name": "_viewer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2298, + "src": "966:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2322, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2300, + "src": "975:8:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 2323, + "name": "_ipfsData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2302, + "src": "985:9:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2320, + "name": "LogCreateView", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2254, + "src": "952:13:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,string memory,string memory)" + } + }, + "id": 2324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "952:43:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2325, + "nodeType": "EmitStatement", + "src": "947:48:13" + } + ] + }, + "documentation": null, + "id": 2327, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 2305, + "modifierName": { + "argumentTypes": null, + "id": 2304, + "name": "onlyOwnerOrAvatar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2281, + "src": "849:17:13", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "849:17:13" + } + ], + "name": "create", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2303, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2298, + "name": "_viewer", + "nodeType": "VariableDeclaration", + "scope": 2327, + "src": "790:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2297, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "790:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2300, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 2327, + "src": "807:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2299, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "807:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2302, + "name": "_ipfsData", + "nodeType": "VariableDeclaration", + "scope": 2327, + "src": "824:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2301, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "824:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "789:52:13" + }, + "payable": false, + "returnParameters": { + "id": 2306, + "nodeType": "ParameterList", + "parameters": [], + "src": "867:0:13" + }, + "scope": 2401, + "src": "774:228:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2350, + "nodeType": "Block", + "src": "1083:107:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1093:43:13", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2336, + "name": "_views", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2246, + "src": "1100:6:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_Data_$2240_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Views.Data storage ref))" + } + }, + "id": 2338, + "indexExpression": { + "argumentTypes": null, + "id": 2337, + "name": "_viewer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2329, + "src": "1107:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1100:15:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$2240_storage_$", + "typeString": "mapping(bytes32 => struct Views.Data storage ref)" + } + }, + "id": 2342, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2340, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2331, + "src": "1126:8:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2339, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "1116:9:13", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 2341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1116:19:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1100:36:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2240_storage", + "typeString": "struct Views.Data storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2344, + "nodeType": "ExpressionStatement", + "src": "1093:43:13" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2346, + "name": "_viewer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2329, + "src": "1165:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2347, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2331, + "src": "1174:8:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2345, + "name": "LogRemoveView", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2260, + "src": "1151:13:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,string memory)" + } + }, + "id": 2348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1151:32:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2349, + "nodeType": "EmitStatement", + "src": "1146:37:13" + } + ] + }, + "documentation": null, + "id": 2351, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 2334, + "modifierName": { + "argumentTypes": null, + "id": 2333, + "name": "onlyOwnerOrAvatar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2281, + "src": "1065:17:13", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1065:17:13" + } + ], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2332, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2329, + "name": "_viewer", + "nodeType": "VariableDeclaration", + "scope": 2351, + "src": "1024:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2328, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1024:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2331, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 2351, + "src": "1041:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2330, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1041:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1023:34:13" + }, + "payable": false, + "returnParameters": { + "id": 2335, + "nodeType": "ParameterList", + "parameters": [], + "src": "1083:0:13" + }, + "scope": 2401, + "src": "1008:182:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2380, + "nodeType": "Block", + "src": "1295:118:13", + "statements": [ + { + "assignments": [ + 2365 + ], + "declarations": [ + { + "constant": false, + "id": 2365, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 2381, + "src": "1305:9:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2240_storage_ptr", + "typeString": "struct Views.Data" + }, + "typeName": { + "contractScope": null, + "id": 2364, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2240, + "src": "1305:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2240_storage_ptr", + "typeString": "struct Views.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2373, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2366, + "name": "_views", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2246, + "src": "1317:6:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_Data_$2240_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Views.Data storage ref))" + } + }, + "id": 2368, + "indexExpression": { + "argumentTypes": null, + "id": 2367, + "name": "_viewer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2353, + "src": "1324:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1317:15:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$2240_storage_$", + "typeString": "mapping(bytes32 => struct Views.Data storage ref)" + } + }, + "id": 2372, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2370, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2355, + "src": "1343:8:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2369, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "1333:9:13", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 2371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1333:19:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1317:36:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2240_storage", + "typeString": "struct Views.Data storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1305:48:13" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2374, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2365, + "src": "1371:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2240_storage_ptr", + "typeString": "struct Views.Data storage pointer" + } + }, + "id": 2375, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_isRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 2237, + "src": "1371:18:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2376, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2365, + "src": "1391:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2240_storage_ptr", + "typeString": "struct Views.Data storage pointer" + } + }, + "id": 2377, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_ipfsData", + "nodeType": "MemberAccess", + "referencedDeclaration": 2239, + "src": "1391:14:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "id": 2378, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1370:36:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_string_storage_$", + "typeString": "tuple(bool,string storage ref)" + } + }, + "functionReturnParameters": 2363, + "id": 2379, + "nodeType": "Return", + "src": "1363:43:13" + } + ] + }, + "documentation": null, + "id": 2381, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [ + { + "arguments": null, + "id": 2358, + "modifierName": { + "argumentTypes": null, + "id": 2357, + "name": "onlyOwnerOrAvatar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2281, + "src": "1255:17:13", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1255:17:13" + } + ], + "name": "get", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2356, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2353, + "name": "_viewer", + "nodeType": "VariableDeclaration", + "scope": 2381, + "src": "1209:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2352, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1209:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2355, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 2381, + "src": "1226:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2354, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1226:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1208:34:13" + }, + "payable": false, + "returnParameters": { + "id": 2363, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2360, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2381, + "src": "1281:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2359, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1281:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2362, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2381, + "src": "1287:6:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2361, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1287:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1280:14:13" + }, + "scope": 2401, + "src": "1196:217:13", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2399, + "nodeType": "Block", + "src": "1504:74:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2390, + "name": "_views", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2246, + "src": "1521:6:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_Data_$2240_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Views.Data storage ref))" + } + }, + "id": 2392, + "indexExpression": { + "argumentTypes": null, + "id": 2391, + "name": "_viewer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2383, + "src": "1528:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1521:15:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$2240_storage_$", + "typeString": "mapping(bytes32 => struct Views.Data storage ref)" + } + }, + "id": 2396, + "indexExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2394, + "name": "_videoId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2385, + "src": "1547:8:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2393, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "1537:9:13", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 2395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1537:19:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1521:36:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2240_storage", + "typeString": "struct Views.Data storage ref" + } + }, + "id": 2397, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_isRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 2237, + "src": "1521:50:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2389, + "id": 2398, + "nodeType": "Return", + "src": "1514:57:13" + } + ] + }, + "documentation": null, + "id": 2400, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "userViewedVideo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2386, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2383, + "name": "_viewer", + "nodeType": "VariableDeclaration", + "scope": 2400, + "src": "1444:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2382, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1444:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2385, + "name": "_videoId", + "nodeType": "VariableDeclaration", + "scope": 2400, + "src": "1461:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2384, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1461:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1443:34:13" + }, + "payable": false, + "returnParameters": { + "id": 2389, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2388, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2400, + "src": "1498:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2387, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1498:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1497:6:13" + }, + "scope": 2401, + "src": "1419:159:13", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 2402, + "src": "112:1468:13" + } + ], + "src": "0:1581:13" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-29T16:29:38.969Z" +} \ No newline at end of file diff --git a/build/contracts/Vouchers.json b/build/contracts/Vouchers.json index 17a51f4..ef05775 100644 --- a/build/contracts/Vouchers.json +++ b/build/contracts/Vouchers.json @@ -1 +1,5790 @@ -{"contractName":"Vouchers","abi":[{"constant":true,"inputs":[],"name":"registry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"vouchers","outputs":[{"name":"_claimant","type":"address"},{"name":"_amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_hashedVoucher","type":"bytes32"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"LogCreateVoucher","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_hashedVoucher","type":"bytes32"}],"name":"LogRemoveVoucher","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_hashedVoucher","type":"bytes32"},{"indexed":false,"name":"_voucher","type":"string"},{"indexed":false,"name":"_amount","type":"uint256"},{"indexed":false,"name":"_claimant","type":"address"}],"name":"LogRedeemVoucher","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_hashedVoucher","type":"bytes32"},{"name":"_amount","type":"uint256"}],"name":"create","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_hashedVoucher","type":"bytes32"}],"name":"remove","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_voucher","type":"string"}],"name":"hashVoucher","outputs":[{"name":"_hashedVoucher","type":"bytes32"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_voucher","type":"string"}],"name":"redeem","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b604051602080610e7b83398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610d7f806100fc6000396000f30060606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306810649146100905780631222c25a146101095780637b1039991461017e5780638da5cb5b146101d357806395bc267314610228578063a042c1321461024f578063e4c96ac41461027f578063f2fde38b146102ed575b005b341561009b57600080fd5b6100eb600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610326565b60405180826000191660001916815260200191505060405180910390f35b341561011457600080fd5b610164600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610392565b604051808215151515815260200191505060405180910390f35b341561018957600080fd5b61019161071b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101de57600080fd5b6101e6610741565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561023357600080fd5b61024d600480803560001916906020019091905050610766565b005b341561025a57600080fd5b61027d60048080356000191690602001909190803590602001909190505061095d565b005b341561028a57600080fd5b6102a4600480803560001916906020019091905050610bba565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b34156102f857600080fd5b610324600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610bfe565b005b6000816040518082805190602001908083835b60208310151561035e5780518252602082019150602081019050602083039250610339565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050919050565b6000806000806103a185610326565b92506002600084600019166000191681526020019081526020016000209150600082600101541115156103d357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168260000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561043257600080fd5b3360026000856000191660001916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600c8152602001807f50617261746969546f6b656e0000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561055057600080fd5b5af1151561055d57600080fd5b5050506040518051905090508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3384600101546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561060f57600080fd5b5af1151561061c57600080fd5b50505060405180519050507f2eaff7d7b1644e86930213c456e12bfdad67722d421620a44206c51cc08209398386846001015433604051808560001916600019168152602001806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b838110156106d65780820151818401526020810190506106bb565b50505050905090810190601f1680156107035780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a1505050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806108c35750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561087d57600080fd5b5af1151561088a57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156108ce57600080fd5b600260008260001916600019168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905550507f14e1cb1f041e31ab0914847975c8ea1e84618c1b2f051b668e413a18a78601cf8160405180826000191660001916815260200191505060405180910390a150565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610aba5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1515610a7457600080fd5b5af11515610a8157600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610ac557600080fd5b600081111515610ad457600080fd5b6040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020018281525060026000846000191660001916815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101559050507f53dea2f832632fad149738c97762fd3c519858d023692f10c21ea406b857a77882826040518083600019166000191681526020018281526020019250505060405180910390a15050565b60026020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c5957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610c9557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a7230582078b0640df281e499128cb454d54744c4c99431bcc09bf6f67d2a5ab10dfd61e00029","deployedBytecode":"0x60606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306810649146100905780631222c25a146101095780637b1039991461017e5780638da5cb5b146101d357806395bc267314610228578063a042c1321461024f578063e4c96ac41461027f578063f2fde38b146102ed575b005b341561009b57600080fd5b6100eb600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610326565b60405180826000191660001916815260200191505060405180910390f35b341561011457600080fd5b610164600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610392565b604051808215151515815260200191505060405180910390f35b341561018957600080fd5b61019161071b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101de57600080fd5b6101e6610741565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561023357600080fd5b61024d600480803560001916906020019091905050610766565b005b341561025a57600080fd5b61027d60048080356000191690602001909190803590602001909190505061095d565b005b341561028a57600080fd5b6102a4600480803560001916906020019091905050610bba565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b34156102f857600080fd5b610324600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610bfe565b005b6000816040518082805190602001908083835b60208310151561035e5780518252602082019150602081019050602083039250610339565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050919050565b6000806000806103a185610326565b92506002600084600019166000191681526020019081526020016000209150600082600101541115156103d357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168260000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561043257600080fd5b3360026000856000191660001916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600c8152602001807f50617261746969546f6b656e0000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561055057600080fd5b5af1151561055d57600080fd5b5050506040518051905090508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3384600101546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561060f57600080fd5b5af1151561061c57600080fd5b50505060405180519050507f2eaff7d7b1644e86930213c456e12bfdad67722d421620a44206c51cc08209398386846001015433604051808560001916600019168152602001806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b838110156106d65780820151818401526020810190506106bb565b50505050905090810190601f1680156107035780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a1505050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806108c35750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561087d57600080fd5b5af1151561088a57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156108ce57600080fd5b600260008260001916600019168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905550507f14e1cb1f041e31ab0914847975c8ea1e84618c1b2f051b668e413a18a78601cf8160405180826000191660001916815260200191505060405180910390a150565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610aba5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1515610a7457600080fd5b5af11515610a8157600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610ac557600080fd5b600081111515610ad457600080fd5b6040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020018281525060026000846000191660001916815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101559050507f53dea2f832632fad149738c97762fd3c519858d023692f10c21ea406b857a77882826040518083600019166000191681526020018281526020019250505060405180910390a15050565b60026020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c5957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610c9557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a7230582078b0640df281e499128cb454d54744c4c99431bcc09bf6f67d2a5ab10dfd61e00029"} \ No newline at end of file +{ + "contractName": "Vouchers", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "registry", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "vouchers", + "outputs": [ + { + "name": "_claimant", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "name": "_registry", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_hashedVoucher", + "type": "bytes32" + }, + { + "indexed": false, + "name": "_amount", + "type": "uint256" + } + ], + "name": "LogCreateVoucher", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_hashedVoucher", + "type": "bytes32" + } + ], + "name": "LogRemoveVoucher", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_hashedVoucher", + "type": "bytes32" + }, + { + "indexed": false, + "name": "_voucher", + "type": "string" + }, + { + "indexed": false, + "name": "_amount", + "type": "uint256" + }, + { + "indexed": false, + "name": "_claimant", + "type": "address" + } + ], + "name": "LogRedeemVoucher", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_hashedVoucher", + "type": "bytes32" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "create", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_hashedVoucher", + "type": "bytes32" + } + ], + "name": "remove", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_voucher", + "type": "string" + } + ], + "name": "hashVoucher", + "outputs": [ + { + "name": "_hashedVoucher", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_voucher", + "type": "string" + } + ], + "name": "redeem", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50604051602080610f5c83398101806040528101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610e58806101046000396000f30060806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306810649146100905780631222c25a146101155780637b103999146101965780638da5cb5b146101ed57806395bc267314610244578063a042c13214610275578063e4c96ac4146102b0578063f2fde38b14610328575b005b34801561009c57600080fd5b506100f7600480360381019080803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061036b565b60405180826000191660001916815260200191505060405180910390f35b34801561012157600080fd5b5061017c600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506103d7565b604051808215151515815260200191505060405180910390f35b3480156101a257600080fd5b506101ab6107aa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101f957600080fd5b506102026107d0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561025057600080fd5b5061027360048036038101908080356000191690602001909291905050506107f5565b005b34801561028157600080fd5b506102ae600480360381019080803560001916906020019092919080359060200190929190505050610a11565b005b3480156102bc57600080fd5b506102df6004803603810190808035600019169060200190929190505050610c93565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b34801561033457600080fd5b50610369600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cd7565b005b6000816040518082805190602001908083835b6020831015156103a3578051825260208201915060208101905060208303925061037e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050919050565b6000806000806103e68561036b565b925060026000846000191660001916815260200190815260200160002091506000826001015411151561041857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168260000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561047757600080fd5b3360026000856000191660001916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600c8152602001807f50617261746969546f6b656e0000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561059657600080fd5b505af11580156105aa573d6000803e3d6000fd5b505050506040513d60208110156105c057600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3384600101546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561067a57600080fd5b505af115801561068e573d6000803e3d6000fd5b505050506040513d60208110156106a457600080fd5b8101908080519060200190929190505050507f2eaff7d7b1644e86930213c456e12bfdad67722d421620a44206c51cc08209398386846001015433604051808560001916600019168152602001806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b8381101561076557808201518184015260208101905061074a565b50505050905090810190601f1680156107925780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a1505050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806109775750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561090d57600080fd5b505af1158015610921573d6000803e3d6000fd5b505050506040513d602081101561093757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561098257600080fd5b600260008260001916600019168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905550507f14e1cb1f041e31ab0914847975c8ea1e84618c1b2f051b668e413a18a78601cf8160405180826000191660001916815260200191505060405180910390a150565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610b935750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b158015610b2957600080fd5b505af1158015610b3d573d6000803e3d6000fd5b505050506040513d6020811015610b5357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610b9e57600080fd5b600081111515610bad57600080fd5b6040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020018281525060026000846000191660001916815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101559050507f53dea2f832632fad149738c97762fd3c519858d023692f10c21ea406b857a77882826040518083600019166000191681526020018281526020019250505060405180910390a15050565b60026020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d3257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d6e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820a56b6acb29c64272c10a3423ef47dcfdbf4e61be8fe00e282bdd0b7a3dc8e36f0029", + "deployedBytecode": "0x60806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306810649146100905780631222c25a146101155780637b103999146101965780638da5cb5b146101ed57806395bc267314610244578063a042c13214610275578063e4c96ac4146102b0578063f2fde38b14610328575b005b34801561009c57600080fd5b506100f7600480360381019080803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061036b565b60405180826000191660001916815260200191505060405180910390f35b34801561012157600080fd5b5061017c600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506103d7565b604051808215151515815260200191505060405180910390f35b3480156101a257600080fd5b506101ab6107aa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101f957600080fd5b506102026107d0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561025057600080fd5b5061027360048036038101908080356000191690602001909291905050506107f5565b005b34801561028157600080fd5b506102ae600480360381019080803560001916906020019092919080359060200190929190505050610a11565b005b3480156102bc57600080fd5b506102df6004803603810190808035600019169060200190929190505050610c93565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b34801561033457600080fd5b50610369600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cd7565b005b6000816040518082805190602001908083835b6020831015156103a3578051825260208201915060208101905060208303925061037e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050919050565b6000806000806103e68561036b565b925060026000846000191660001916815260200190815260200160002091506000826001015411151561041857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168260000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561047757600080fd5b3360026000856000191660001916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600c8152602001807f50617261746969546f6b656e0000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561059657600080fd5b505af11580156105aa573d6000803e3d6000fd5b505050506040513d60208110156105c057600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3384600101546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561067a57600080fd5b505af115801561068e573d6000803e3d6000fd5b505050506040513d60208110156106a457600080fd5b8101908080519060200190929190505050507f2eaff7d7b1644e86930213c456e12bfdad67722d421620a44206c51cc08209398386846001015433604051808560001916600019168152602001806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b8381101561076557808201518184015260208101905061074a565b50505050905090810190601f1680156107925780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a1505050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806109775750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15801561090d57600080fd5b505af1158015610921573d6000803e3d6000fd5b505050506040513d602081101561093757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561098257600080fd5b600260008260001916600019168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905550507f14e1cb1f041e31ab0914847975c8ea1e84618c1b2f051b668e413a18a78601cf8160405180826000191660001916815260200191505060405180910390a150565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610b935750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b158015610b2957600080fd5b505af1158015610b3d573d6000803e3d6000fd5b505050506040513d6020811015610b5357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610b9e57600080fd5b600081111515610bad57600080fd5b6040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020018281525060026000846000191660001916815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101559050507f53dea2f832632fad149738c97762fd3c519858d023692f10c21ea406b857a77882826040518083600019166000191681526020018281526020019250505060405180910390a15050565b60026020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d3257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d6e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820a56b6acb29c64272c10a3423ef47dcfdbf4e61be8fe00e282bdd0b7a3dc8e36f0029", + "sourceMap": "141:2273:14:-;;;694:104;8:9:-1;5:2;;;30:1;27;20:12;5:2;694:104:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;502:10:16;494:5;;:18;;;;;;;;;;;;;;;;;;751:10:14;743:5;;:18;;;;;;;;;;;;;;;;;;782:9;771:8;;:20;;;;;;;;;;;;;;;;;;694:104;141:2273;;;;;;", + "deployedSourceMap": "141:2273:14:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1359:125;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1359:125:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1686:726;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1686:726:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;177:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;177:24:14;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:16;;;;;;;;;;;;;;;;;;;;;;;;;;;1113:160:14;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1113:160:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;873:234;;8:9:-1;5:2;;;30:1;27;20:12;5:2;873:234:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;282:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;282:41:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;827:169:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;827:169:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;1359:125:14;1417:22;1468:8;1458:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1458:19:14;;;;;;;;;;;;;;;;1451:26;;1359:125;;;:::o;1686:726::-;1734:4;1817:21;1872:20;2196:18;1841:21;1853:8;1841:11;:21::i;:::-;1817:45;;1895:8;:23;1904:13;1895:23;;;;;;;;;;;;;;;;;1872:46;;1954:1;1936:7;:15;;;:19;1928:28;;;;;;;;2003:1;1974:31;;:7;:17;;;;;;;;;;;;:31;;;1966:40;;;;;;;;2120:10;2084:8;:23;2093:13;2084:23;;;;;;;;;;;;;;;;;:33;;;:46;;;;;;;;;;;;;;;;;;2230:8;;;;;;;;;;;:20;;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2230:36:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2230:36:14;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2230:36:14;;;;;;;;;;;;;;;;2196:71;;2277:5;:14;;;2292:10;2304:7;:15;;;2277:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2277:43:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2277:43:14;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2277:43:14;;;;;;;;;;;;;;;;;2335:70;2352:13;2367:8;2377:7;:15;;;2394:10;2335:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2335:70:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1686:726;;;;;;:::o;177:24::-;;;;;;;;;;;;;:::o;238:20:16:-;;;;;;;;;;;;;:::o;1113:160:14:-;613:5;;;;;;;;;;;599:19;;:10;:19;;;598:71;;;;638:8;;;;;;;;;;;:20;;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;638:30:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;638:30:14;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;638:30:14;;;;;;;;;;;;;;;;624:44;;:10;:44;;;598:71;590:80;;;;;;;;1195:8;:24;1204:14;1195:24;;;;;;;;;;;;;;;;;;1188:31;;;;;;;;;;;;;;;;;;;;;;;1234:32;1251:14;1234:32;;;;;;;;;;;;;;;;;;;;;;;;1113:160;:::o;873:234::-;613:5;;;;;;;;;;;599:19;;:10;:19;;;598:71;;;;638:8;;;;;;;;;;;:20;;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;638:30:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;638:30:14;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;638:30:14;;;;;;;;;;;;;;;;624:44;;:10;:44;;;598:71;590:80;;;;;;;;980:1;970:7;:11;962:20;;;;;;;;1019:25;;;;;;;;;1032:1;1019:25;;;;;;1036:7;1019:25;;;992:8;:24;1001:14;992:24;;;;;;;;;;;;;;;;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1059:41;1076:14;1092:7;1059:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;873:234;;:::o;282:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;827:169:16:-;647:5;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;923:1;903:22;;:8;:22;;;;895:31;;;;;;;;960:8;932:37;;953:5;;;;;;;;;;;932:37;;;;;;;;;;;;983:8;975:5;;:16;;;;;;;;;;;;;;;;;;827:169;:::o", + "source": "pragma solidity ^0.4.18;\n\nimport \"zeppelin-solidity/contracts/ownership/Ownable.sol\";\nimport \"./ParatiiToken.sol\";\nimport \"./Registry.sol\";\n\ncontract Vouchers is Ownable {\n\n Registry public registry;\n\n struct Data {\n address _claimant;\n uint _amount;\n }\n\n mapping (bytes32 => Data) public vouchers;\n\n event LogCreateVoucher(bytes32 _hashedVoucher, uint _amount);\n event LogRemoveVoucher(bytes32 _hashedVoucher);\n event LogRedeemVoucher(bytes32 _hashedVoucher, string _voucher, uint _amount, address _claimant);\n\n modifier onlyOwnerOrAvatar() {\n require((msg.sender == owner) || (msg.sender == registry.getContract(\"Avatar\")));\n _;\n }\n\n constructor(Registry _registry) public {\n owner = msg.sender;\n registry = _registry;\n }\n\n // make this contract payable\n function() public payable { }\n\n function create(bytes32 _hashedVoucher, uint _amount) public onlyOwnerOrAvatar {\n require(_amount > 0);\n vouchers[_hashedVoucher] = Data(address(0), _amount);\n emit LogCreateVoucher(_hashedVoucher, _amount);\n }\n\n function remove(bytes32 _hashedVoucher) public onlyOwnerOrAvatar {\n delete vouchers[_hashedVoucher];\n emit LogRemoveVoucher(_hashedVoucher);\n }\n\n /* A convenience function that hashes teh voucher, to be call\"ed locally */\n function hashVoucher(string _voucher) public pure returns(bytes32 _hashedVoucher) {\n return keccak256(_voucher);\n }\n\n /*\n * redeem the Voucher\n * NOTE: This _is_ vulnerable to front-running attacks (the attacker can intercept the transaction,\n extract the voucher, and redeem it himself)\n */\n function redeem(string _voucher) public returns(bool) {\n // the voucher must exist and not have been redeemed (yet)\n bytes32 hashedVoucher = hashVoucher(_voucher);\n Data storage voucher = vouchers[hashedVoucher];\n require(voucher._amount > 0);\n require(voucher._claimant == address(0));\n // invalidate the voucher, and send the money to the sender\n vouchers[hashedVoucher]._claimant = msg.sender;\n // get the pti token contract from the registry\n ParatiiToken token = ParatiiToken(registry.getContract(\"ParatiiToken\"));\n token.transfer(msg.sender, voucher._amount);\n emit LogRedeemVoucher(hashedVoucher, _voucher, voucher._amount, msg.sender);\n }\n}\n", + "sourcePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Vouchers.sol", + "ast": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Vouchers.sol", + "exportedSymbols": { + "Vouchers": [ + 2612 + ] + }, + "id": 2613, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2403, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:14" + }, + { + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 2404, + "nodeType": "ImportDirective", + "scope": 2613, + "sourceUnit": 2764, + "src": "26:59:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/ParatiiToken.sol", + "file": "./ParatiiToken.sol", + "id": 2405, + "nodeType": "ImportDirective", + "scope": 2613, + "sourceUnit": 872, + "src": "86:28:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Registry.sol", + "file": "./Registry.sol", + "id": 2406, + "nodeType": "ImportDirective", + "scope": 2613, + "sourceUnit": 1097, + "src": "115:24:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 2407, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2763, + "src": "162:7:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$2763", + "typeString": "contract Ownable" + } + }, + "id": 2408, + "nodeType": "InheritanceSpecifier", + "src": "162:7:14" + } + ], + "contractDependencies": [ + 2763 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 2612, + "linearizedBaseContracts": [ + 2612, + 2763 + ], + "name": "Vouchers", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 2410, + "name": "registry", + "nodeType": "VariableDeclaration", + "scope": 2612, + "src": "177:24:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 2409, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1096, + "src": "177:8:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "public" + }, + { + "canonicalName": "Vouchers.Data", + "id": 2415, + "members": [ + { + "constant": false, + "id": 2412, + "name": "_claimant", + "nodeType": "VariableDeclaration", + "scope": 2415, + "src": "230:17:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2411, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "230:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2414, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2415, + "src": "257:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2413, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "257:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Data", + "nodeType": "StructDefinition", + "scope": 2612, + "src": "208:68:14", + "visibility": "public" + }, + { + "constant": false, + "id": 2419, + "name": "vouchers", + "nodeType": "VariableDeclaration", + "scope": 2612, + "src": "282:41:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$2415_storage_$", + "typeString": "mapping(bytes32 => struct Vouchers.Data)" + }, + "typeName": { + "id": 2418, + "keyType": { + "id": 2416, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "291:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "282:25:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$2415_storage_$", + "typeString": "mapping(bytes32 => struct Vouchers.Data)" + }, + "valueType": { + "contractScope": null, + "id": 2417, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2415, + "src": "302:4:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_storage_ptr", + "typeString": "struct Vouchers.Data" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 2425, + "name": "LogCreateVoucher", + "nodeType": "EventDefinition", + "parameters": { + "id": 2424, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2421, + "indexed": false, + "name": "_hashedVoucher", + "nodeType": "VariableDeclaration", + "scope": 2425, + "src": "353:22:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2420, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "353:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2423, + "indexed": false, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2425, + "src": "377:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2422, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "377:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "352:38:14" + }, + "src": "330:61:14" + }, + { + "anonymous": false, + "documentation": null, + "id": 2429, + "name": "LogRemoveVoucher", + "nodeType": "EventDefinition", + "parameters": { + "id": 2428, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2427, + "indexed": false, + "name": "_hashedVoucher", + "nodeType": "VariableDeclaration", + "scope": 2429, + "src": "419:22:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2426, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "419:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "418:24:14" + }, + "src": "396:47:14" + }, + { + "anonymous": false, + "documentation": null, + "id": 2439, + "name": "LogRedeemVoucher", + "nodeType": "EventDefinition", + "parameters": { + "id": 2438, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2431, + "indexed": false, + "name": "_hashedVoucher", + "nodeType": "VariableDeclaration", + "scope": 2439, + "src": "471:22:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2430, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "471:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2433, + "indexed": false, + "name": "_voucher", + "nodeType": "VariableDeclaration", + "scope": 2439, + "src": "495:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2432, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "495:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2435, + "indexed": false, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2439, + "src": "512:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2434, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "512:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2437, + "indexed": false, + "name": "_claimant", + "nodeType": "VariableDeclaration", + "scope": 2439, + "src": "526:17:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2436, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "526:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "470:74:14" + }, + "src": "448:97:14" + }, + { + "body": { + "id": 2459, + "nodeType": "Block", + "src": "580:108:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2442, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "599:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "599:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2444, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2711, + "src": "613:5:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "599:19:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2446, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "598:21:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2447, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "624:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "624:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "417661746172", + "id": 2451, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "659:8:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_29a36bb22f3c260ddca59a40dffde48863da1d6fba3d1f55dedde5c8e1942577", + "typeString": "literal_string \"Avatar\"" + }, + "value": "Avatar" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_29a36bb22f3c260ddca59a40dffde48863da1d6fba3d1f55dedde5c8e1942577", + "typeString": "literal_string \"Avatar\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 2449, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2410, + "src": "638:8:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "id": 2450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 983, + "src": "638:20:14", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory) view external returns (address)" + } + }, + "id": 2452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "638:30:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "624:44:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2454, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "623:46:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "598:71:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2441, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "590:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "590:80:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2457, + "nodeType": "ExpressionStatement", + "src": "590:80:14" + }, + { + "id": 2458, + "nodeType": "PlaceholderStatement", + "src": "680:1:14" + } + ] + }, + "documentation": null, + "id": 2460, + "name": "onlyOwnerOrAvatar", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 2440, + "nodeType": "ParameterList", + "parameters": [], + "src": "577:2:14" + }, + "src": "551:137:14", + "visibility": "internal" + }, + { + "body": { + "id": 2474, + "nodeType": "Block", + "src": "733:65:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2465, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2711, + "src": "743:5:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2466, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "751:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "751:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "743:18:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2469, + "nodeType": "ExpressionStatement", + "src": "743:18:14" + }, + { + "expression": { + "argumentTypes": null, + "id": 2472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2470, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2410, + "src": "771:8:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2471, + "name": "_registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2462, + "src": "782:9:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "src": "771:20:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "id": 2473, + "nodeType": "ExpressionStatement", + "src": "771:20:14" + } + ] + }, + "documentation": null, + "id": 2475, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2463, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2462, + "name": "_registry", + "nodeType": "VariableDeclaration", + "scope": 2475, + "src": "706:18:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 2461, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1096, + "src": "706:8:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "705:20:14" + }, + "payable": false, + "returnParameters": { + "id": 2464, + "nodeType": "ParameterList", + "parameters": [], + "src": "733:0:14" + }, + "scope": 2612, + "src": "694:104:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2478, + "nodeType": "Block", + "src": "864:3:14", + "statements": [] + }, + "documentation": null, + "id": 2479, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2476, + "nodeType": "ParameterList", + "parameters": [], + "src": "846:2:14" + }, + "payable": true, + "returnParameters": { + "id": 2477, + "nodeType": "ParameterList", + "parameters": [], + "src": "864:0:14" + }, + "scope": 2612, + "src": "838:29:14", + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2510, + "nodeType": "Block", + "src": "952:155:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2489, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "970:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2490, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "980:1:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "970:11:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2488, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "962:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "962:20:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2493, + "nodeType": "ExpressionStatement", + "src": "962:20:14" + }, + { + "expression": { + "argumentTypes": null, + "id": 2503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2494, + "name": "vouchers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2419, + "src": "992:8:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$2415_storage_$", + "typeString": "mapping(bytes32 => struct Vouchers.Data storage ref)" + } + }, + "id": 2496, + "indexExpression": { + "argumentTypes": null, + "id": 2495, + "name": "_hashedVoucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2481, + "src": "1001:14:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "992:24:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_storage", + "typeString": "struct Vouchers.Data storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 2499, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1032:1:14", + "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": 2498, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1024:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2500, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1024:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2501, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "1036:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2497, + "name": "Data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2415, + "src": "1019:4:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Data_$2415_storage_ptr_$", + "typeString": "type(struct Vouchers.Data storage pointer)" + } + }, + "id": 2502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1019:25:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_memory", + "typeString": "struct Vouchers.Data memory" + } + }, + "src": "992:52:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_storage", + "typeString": "struct Vouchers.Data storage ref" + } + }, + "id": 2504, + "nodeType": "ExpressionStatement", + "src": "992:52:14" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2506, + "name": "_hashedVoucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2481, + "src": "1076:14:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2507, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "1092:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2505, + "name": "LogCreateVoucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2425, + "src": "1059:16:14", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 2508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1059:41:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2509, + "nodeType": "EmitStatement", + "src": "1054:46:14" + } + ] + }, + "documentation": null, + "id": 2511, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 2486, + "modifierName": { + "argumentTypes": null, + "id": 2485, + "name": "onlyOwnerOrAvatar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2460, + "src": "934:17:14", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "934:17:14" + } + ], + "name": "create", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2484, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2481, + "name": "_hashedVoucher", + "nodeType": "VariableDeclaration", + "scope": 2511, + "src": "889:22:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2480, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "889:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2483, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2511, + "src": "913:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2482, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "913:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "888:38:14" + }, + "payable": false, + "returnParameters": { + "id": 2487, + "nodeType": "ParameterList", + "parameters": [], + "src": "952:0:14" + }, + "scope": 2612, + "src": "873:234:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2527, + "nodeType": "Block", + "src": "1178:95:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1188:31:14", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2518, + "name": "vouchers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2419, + "src": "1195:8:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$2415_storage_$", + "typeString": "mapping(bytes32 => struct Vouchers.Data storage ref)" + } + }, + "id": 2520, + "indexExpression": { + "argumentTypes": null, + "id": 2519, + "name": "_hashedVoucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2513, + "src": "1204:14:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1195:24:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_storage", + "typeString": "struct Vouchers.Data storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2522, + "nodeType": "ExpressionStatement", + "src": "1188:31:14" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2524, + "name": "_hashedVoucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2513, + "src": "1251:14:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2523, + "name": "LogRemoveVoucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2429, + "src": "1234:16:14", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1234:32:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2526, + "nodeType": "EmitStatement", + "src": "1229:37:14" + } + ] + }, + "documentation": null, + "id": 2528, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 2516, + "modifierName": { + "argumentTypes": null, + "id": 2515, + "name": "onlyOwnerOrAvatar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2460, + "src": "1160:17:14", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1160:17:14" + } + ], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2514, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2513, + "name": "_hashedVoucher", + "nodeType": "VariableDeclaration", + "scope": 2528, + "src": "1129:22:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2512, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1129:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1128:24:14" + }, + "payable": false, + "returnParameters": { + "id": 2517, + "nodeType": "ParameterList", + "parameters": [], + "src": "1178:0:14" + }, + "scope": 2612, + "src": "1113:160:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2539, + "nodeType": "Block", + "src": "1441:43:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2536, + "name": "_voucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2530, + "src": "1468:8:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2535, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "1458:9:14", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 2537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1458:19:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 2534, + "id": 2538, + "nodeType": "Return", + "src": "1451:26:14" + } + ] + }, + "documentation": null, + "id": 2540, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "hashVoucher", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2531, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2530, + "name": "_voucher", + "nodeType": "VariableDeclaration", + "scope": 2540, + "src": "1380:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2529, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1380:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1379:17:14" + }, + "payable": false, + "returnParameters": { + "id": 2534, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2533, + "name": "_hashedVoucher", + "nodeType": "VariableDeclaration", + "scope": 2540, + "src": "1417:22:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2532, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1417:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1416:24:14" + }, + "scope": 2612, + "src": "1359:125:14", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2610, + "nodeType": "Block", + "src": "1740:672:14", + "statements": [ + { + "assignments": [ + 2548 + ], + "declarations": [ + { + "constant": false, + "id": 2548, + "name": "hashedVoucher", + "nodeType": "VariableDeclaration", + "scope": 2611, + "src": "1817:21:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2547, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1817:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2552, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2550, + "name": "_voucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2542, + "src": "1853:8:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2549, + "name": "hashVoucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2540, + "src": "1841:11:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 2551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1841:21:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1817:45:14" + }, + { + "assignments": [ + 2554 + ], + "declarations": [ + { + "constant": false, + "id": 2554, + "name": "voucher", + "nodeType": "VariableDeclaration", + "scope": 2611, + "src": "1872:20:14", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_storage_ptr", + "typeString": "struct Vouchers.Data" + }, + "typeName": { + "contractScope": null, + "id": 2553, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2415, + "src": "1872:4:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_storage_ptr", + "typeString": "struct Vouchers.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2558, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2555, + "name": "vouchers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2419, + "src": "1895:8:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$2415_storage_$", + "typeString": "mapping(bytes32 => struct Vouchers.Data storage ref)" + } + }, + "id": 2557, + "indexExpression": { + "argumentTypes": null, + "id": 2556, + "name": "hashedVoucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2548, + "src": "1904:13:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1895:23:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_storage", + "typeString": "struct Vouchers.Data storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1872:46:14" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2560, + "name": "voucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2554, + "src": "1936:7:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_storage_ptr", + "typeString": "struct Vouchers.Data storage pointer" + } + }, + "id": 2561, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2414, + "src": "1936:15:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2562, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1954:1:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1936:19:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2559, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "1928:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1928:28:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2565, + "nodeType": "ExpressionStatement", + "src": "1928:28:14" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2567, + "name": "voucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2554, + "src": "1974:7:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_storage_ptr", + "typeString": "struct Vouchers.Data storage pointer" + } + }, + "id": 2568, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_claimant", + "nodeType": "MemberAccess", + "referencedDeclaration": 2412, + "src": "1974:17:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 2570, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2003:1:14", + "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": 2569, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1995:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2571, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1995:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1974:31:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2566, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "1966:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1966:40:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2574, + "nodeType": "ExpressionStatement", + "src": "1966:40:14" + }, + { + "expression": { + "argumentTypes": null, + "id": 2581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2575, + "name": "vouchers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2419, + "src": "2084:8:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$2415_storage_$", + "typeString": "mapping(bytes32 => struct Vouchers.Data storage ref)" + } + }, + "id": 2577, + "indexExpression": { + "argumentTypes": null, + "id": 2576, + "name": "hashedVoucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2548, + "src": "2093:13:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2084:23:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_storage", + "typeString": "struct Vouchers.Data storage ref" + } + }, + "id": 2578, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "_claimant", + "nodeType": "MemberAccess", + "referencedDeclaration": 2412, + "src": "2084:33:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2579, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "2120:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2120:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2084:46:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2582, + "nodeType": "ExpressionStatement", + "src": "2084:46:14" + }, + { + "assignments": [ + 2584 + ], + "declarations": [ + { + "constant": false, + "id": 2584, + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 2611, + "src": "2196:18:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + }, + "typeName": { + "contractScope": null, + "id": 2583, + "name": "ParatiiToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 871, + "src": "2196:12:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2591, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "50617261746969546f6b656e", + "id": 2588, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2251:14:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7631507f3f7bc8a54ae4ffd3c749e7cce6ebb390bbd0a742160abd113aa9ca0c", + "typeString": "literal_string \"ParatiiToken\"" + }, + "value": "ParatiiToken" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7631507f3f7bc8a54ae4ffd3c749e7cce6ebb390bbd0a742160abd113aa9ca0c", + "typeString": "literal_string \"ParatiiToken\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 2586, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2410, + "src": "2230:8:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "id": 2587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 983, + "src": "2230:20:14", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory) view external returns (address)" + } + }, + "id": 2589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2230:36:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2585, + "name": "ParatiiToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 871, + "src": "2217:12:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ParatiiToken_$871_$", + "typeString": "type(contract ParatiiToken)" + } + }, + "id": 2590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2217:50:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2196:71:14" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2595, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "2292:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2292:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2597, + "name": "voucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2554, + "src": "2304:7:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_storage_ptr", + "typeString": "struct Vouchers.Data storage pointer" + } + }, + "id": 2598, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2414, + "src": "2304:15:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2592, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2584, + "src": "2277:5:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + } + }, + "id": 2594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 2827, + "src": "2277:14:14", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 2599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2277:43:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2600, + "nodeType": "ExpressionStatement", + "src": "2277:43:14" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2602, + "name": "hashedVoucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2548, + "src": "2352:13:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2603, + "name": "_voucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2542, + "src": "2367:8:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2604, + "name": "voucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2554, + "src": "2377:7:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_storage_ptr", + "typeString": "struct Vouchers.Data storage pointer" + } + }, + "id": 2605, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2414, + "src": "2377:15:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2606, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "2394:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2394:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2601, + "name": "LogRedeemVoucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2439, + "src": "2335:16:14", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (bytes32,string memory,uint256,address)" + } + }, + "id": 2608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2335:70:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2609, + "nodeType": "EmitStatement", + "src": "2330:75:14" + } + ] + }, + "documentation": null, + "id": 2611, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "redeem", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2543, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2542, + "name": "_voucher", + "nodeType": "VariableDeclaration", + "scope": 2611, + "src": "1702:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2541, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1702:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1701:17:14" + }, + "payable": false, + "returnParameters": { + "id": 2546, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2545, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2611, + "src": "1734:4:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2544, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1734:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1733:6:14" + }, + "scope": 2612, + "src": "1686:726:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 2613, + "src": "141:2273:14" + } + ], + "src": "0:2415:14" + }, + "legacyAST": { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Vouchers.sol", + "exportedSymbols": { + "Vouchers": [ + 2612 + ] + }, + "id": 2613, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2403, + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "0:24:14" + }, + { + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 2404, + "nodeType": "ImportDirective", + "scope": 2613, + "sourceUnit": 2764, + "src": "26:59:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/ParatiiToken.sol", + "file": "./ParatiiToken.sol", + "id": 2405, + "nodeType": "ImportDirective", + "scope": 2613, + "sourceUnit": 872, + "src": "86:28:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/ubuntu/workspace/paratii-contracts/contracts/paratii/Registry.sol", + "file": "./Registry.sol", + "id": 2406, + "nodeType": "ImportDirective", + "scope": 2613, + "sourceUnit": 1097, + "src": "115:24:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 2407, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2763, + "src": "162:7:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$2763", + "typeString": "contract Ownable" + } + }, + "id": 2408, + "nodeType": "InheritanceSpecifier", + "src": "162:7:14" + } + ], + "contractDependencies": [ + 2763 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 2612, + "linearizedBaseContracts": [ + 2612, + 2763 + ], + "name": "Vouchers", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 2410, + "name": "registry", + "nodeType": "VariableDeclaration", + "scope": 2612, + "src": "177:24:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 2409, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1096, + "src": "177:8:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "public" + }, + { + "canonicalName": "Vouchers.Data", + "id": 2415, + "members": [ + { + "constant": false, + "id": 2412, + "name": "_claimant", + "nodeType": "VariableDeclaration", + "scope": 2415, + "src": "230:17:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2411, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "230:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2414, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2415, + "src": "257:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2413, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "257:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Data", + "nodeType": "StructDefinition", + "scope": 2612, + "src": "208:68:14", + "visibility": "public" + }, + { + "constant": false, + "id": 2419, + "name": "vouchers", + "nodeType": "VariableDeclaration", + "scope": 2612, + "src": "282:41:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$2415_storage_$", + "typeString": "mapping(bytes32 => struct Vouchers.Data)" + }, + "typeName": { + "id": 2418, + "keyType": { + "id": 2416, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "291:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "282:25:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$2415_storage_$", + "typeString": "mapping(bytes32 => struct Vouchers.Data)" + }, + "valueType": { + "contractScope": null, + "id": 2417, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2415, + "src": "302:4:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_storage_ptr", + "typeString": "struct Vouchers.Data" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 2425, + "name": "LogCreateVoucher", + "nodeType": "EventDefinition", + "parameters": { + "id": 2424, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2421, + "indexed": false, + "name": "_hashedVoucher", + "nodeType": "VariableDeclaration", + "scope": 2425, + "src": "353:22:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2420, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "353:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2423, + "indexed": false, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2425, + "src": "377:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2422, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "377:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "352:38:14" + }, + "src": "330:61:14" + }, + { + "anonymous": false, + "documentation": null, + "id": 2429, + "name": "LogRemoveVoucher", + "nodeType": "EventDefinition", + "parameters": { + "id": 2428, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2427, + "indexed": false, + "name": "_hashedVoucher", + "nodeType": "VariableDeclaration", + "scope": 2429, + "src": "419:22:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2426, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "419:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "418:24:14" + }, + "src": "396:47:14" + }, + { + "anonymous": false, + "documentation": null, + "id": 2439, + "name": "LogRedeemVoucher", + "nodeType": "EventDefinition", + "parameters": { + "id": 2438, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2431, + "indexed": false, + "name": "_hashedVoucher", + "nodeType": "VariableDeclaration", + "scope": 2439, + "src": "471:22:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2430, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "471:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2433, + "indexed": false, + "name": "_voucher", + "nodeType": "VariableDeclaration", + "scope": 2439, + "src": "495:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2432, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "495:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2435, + "indexed": false, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2439, + "src": "512:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2434, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "512:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2437, + "indexed": false, + "name": "_claimant", + "nodeType": "VariableDeclaration", + "scope": 2439, + "src": "526:17:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2436, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "526:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "470:74:14" + }, + "src": "448:97:14" + }, + { + "body": { + "id": 2459, + "nodeType": "Block", + "src": "580:108:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2442, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "599:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "599:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2444, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2711, + "src": "613:5:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "599:19:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2446, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "598:21:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2447, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "624:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "624:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "417661746172", + "id": 2451, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "659:8:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_29a36bb22f3c260ddca59a40dffde48863da1d6fba3d1f55dedde5c8e1942577", + "typeString": "literal_string \"Avatar\"" + }, + "value": "Avatar" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_29a36bb22f3c260ddca59a40dffde48863da1d6fba3d1f55dedde5c8e1942577", + "typeString": "literal_string \"Avatar\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 2449, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2410, + "src": "638:8:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "id": 2450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 983, + "src": "638:20:14", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory) view external returns (address)" + } + }, + "id": 2452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "638:30:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "624:44:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2454, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "623:46:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "598:71:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2441, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "590:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "590:80:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2457, + "nodeType": "ExpressionStatement", + "src": "590:80:14" + }, + { + "id": 2458, + "nodeType": "PlaceholderStatement", + "src": "680:1:14" + } + ] + }, + "documentation": null, + "id": 2460, + "name": "onlyOwnerOrAvatar", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 2440, + "nodeType": "ParameterList", + "parameters": [], + "src": "577:2:14" + }, + "src": "551:137:14", + "visibility": "internal" + }, + { + "body": { + "id": 2474, + "nodeType": "Block", + "src": "733:65:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2465, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2711, + "src": "743:5:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2466, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "751:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "751:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "743:18:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2469, + "nodeType": "ExpressionStatement", + "src": "743:18:14" + }, + { + "expression": { + "argumentTypes": null, + "id": 2472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2470, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2410, + "src": "771:8:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2471, + "name": "_registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2462, + "src": "782:9:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "src": "771:20:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "id": 2473, + "nodeType": "ExpressionStatement", + "src": "771:20:14" + } + ] + }, + "documentation": null, + "id": 2475, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2463, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2462, + "name": "_registry", + "nodeType": "VariableDeclaration", + "scope": 2475, + "src": "706:18:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + }, + "typeName": { + "contractScope": null, + "id": 2461, + "name": "Registry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1096, + "src": "706:8:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "705:20:14" + }, + "payable": false, + "returnParameters": { + "id": 2464, + "nodeType": "ParameterList", + "parameters": [], + "src": "733:0:14" + }, + "scope": 2612, + "src": "694:104:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2478, + "nodeType": "Block", + "src": "864:3:14", + "statements": [] + }, + "documentation": null, + "id": 2479, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2476, + "nodeType": "ParameterList", + "parameters": [], + "src": "846:2:14" + }, + "payable": true, + "returnParameters": { + "id": 2477, + "nodeType": "ParameterList", + "parameters": [], + "src": "864:0:14" + }, + "scope": 2612, + "src": "838:29:14", + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2510, + "nodeType": "Block", + "src": "952:155:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2489, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "970:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2490, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "980:1:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "970:11:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2488, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "962:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "962:20:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2493, + "nodeType": "ExpressionStatement", + "src": "962:20:14" + }, + { + "expression": { + "argumentTypes": null, + "id": 2503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2494, + "name": "vouchers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2419, + "src": "992:8:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$2415_storage_$", + "typeString": "mapping(bytes32 => struct Vouchers.Data storage ref)" + } + }, + "id": 2496, + "indexExpression": { + "argumentTypes": null, + "id": 2495, + "name": "_hashedVoucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2481, + "src": "1001:14:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "992:24:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_storage", + "typeString": "struct Vouchers.Data storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 2499, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1032:1:14", + "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": 2498, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1024:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2500, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1024:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2501, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "1036:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2497, + "name": "Data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2415, + "src": "1019:4:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Data_$2415_storage_ptr_$", + "typeString": "type(struct Vouchers.Data storage pointer)" + } + }, + "id": 2502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1019:25:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_memory", + "typeString": "struct Vouchers.Data memory" + } + }, + "src": "992:52:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_storage", + "typeString": "struct Vouchers.Data storage ref" + } + }, + "id": 2504, + "nodeType": "ExpressionStatement", + "src": "992:52:14" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2506, + "name": "_hashedVoucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2481, + "src": "1076:14:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2507, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2483, + "src": "1092:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2505, + "name": "LogCreateVoucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2425, + "src": "1059:16:14", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 2508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1059:41:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2509, + "nodeType": "EmitStatement", + "src": "1054:46:14" + } + ] + }, + "documentation": null, + "id": 2511, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 2486, + "modifierName": { + "argumentTypes": null, + "id": 2485, + "name": "onlyOwnerOrAvatar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2460, + "src": "934:17:14", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "934:17:14" + } + ], + "name": "create", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2484, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2481, + "name": "_hashedVoucher", + "nodeType": "VariableDeclaration", + "scope": 2511, + "src": "889:22:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2480, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "889:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2483, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 2511, + "src": "913:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2482, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "913:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "888:38:14" + }, + "payable": false, + "returnParameters": { + "id": 2487, + "nodeType": "ParameterList", + "parameters": [], + "src": "952:0:14" + }, + "scope": 2612, + "src": "873:234:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2527, + "nodeType": "Block", + "src": "1178:95:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "1188:31:14", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2518, + "name": "vouchers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2419, + "src": "1195:8:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$2415_storage_$", + "typeString": "mapping(bytes32 => struct Vouchers.Data storage ref)" + } + }, + "id": 2520, + "indexExpression": { + "argumentTypes": null, + "id": 2519, + "name": "_hashedVoucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2513, + "src": "1204:14:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1195:24:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_storage", + "typeString": "struct Vouchers.Data storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2522, + "nodeType": "ExpressionStatement", + "src": "1188:31:14" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2524, + "name": "_hashedVoucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2513, + "src": "1251:14:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2523, + "name": "LogRemoveVoucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2429, + "src": "1234:16:14", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1234:32:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2526, + "nodeType": "EmitStatement", + "src": "1229:37:14" + } + ] + }, + "documentation": null, + "id": 2528, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 2516, + "modifierName": { + "argumentTypes": null, + "id": 2515, + "name": "onlyOwnerOrAvatar", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2460, + "src": "1160:17:14", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1160:17:14" + } + ], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2514, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2513, + "name": "_hashedVoucher", + "nodeType": "VariableDeclaration", + "scope": 2528, + "src": "1129:22:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2512, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1129:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1128:24:14" + }, + "payable": false, + "returnParameters": { + "id": 2517, + "nodeType": "ParameterList", + "parameters": [], + "src": "1178:0:14" + }, + "scope": 2612, + "src": "1113:160:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2539, + "nodeType": "Block", + "src": "1441:43:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2536, + "name": "_voucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2530, + "src": "1468:8:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2535, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3152, + "src": "1458:9:14", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 2537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1458:19:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 2534, + "id": 2538, + "nodeType": "Return", + "src": "1451:26:14" + } + ] + }, + "documentation": null, + "id": 2540, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "hashVoucher", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2531, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2530, + "name": "_voucher", + "nodeType": "VariableDeclaration", + "scope": 2540, + "src": "1380:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2529, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1380:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1379:17:14" + }, + "payable": false, + "returnParameters": { + "id": 2534, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2533, + "name": "_hashedVoucher", + "nodeType": "VariableDeclaration", + "scope": 2540, + "src": "1417:22:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2532, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1417:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1416:24:14" + }, + "scope": 2612, + "src": "1359:125:14", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2610, + "nodeType": "Block", + "src": "1740:672:14", + "statements": [ + { + "assignments": [ + 2548 + ], + "declarations": [ + { + "constant": false, + "id": 2548, + "name": "hashedVoucher", + "nodeType": "VariableDeclaration", + "scope": 2611, + "src": "1817:21:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2547, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1817:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2552, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2550, + "name": "_voucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2542, + "src": "1853:8:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2549, + "name": "hashVoucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2540, + "src": "1841:11:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 2551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1841:21:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1817:45:14" + }, + { + "assignments": [ + 2554 + ], + "declarations": [ + { + "constant": false, + "id": 2554, + "name": "voucher", + "nodeType": "VariableDeclaration", + "scope": 2611, + "src": "1872:20:14", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_storage_ptr", + "typeString": "struct Vouchers.Data" + }, + "typeName": { + "contractScope": null, + "id": 2553, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2415, + "src": "1872:4:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_storage_ptr", + "typeString": "struct Vouchers.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2558, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2555, + "name": "vouchers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2419, + "src": "1895:8:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$2415_storage_$", + "typeString": "mapping(bytes32 => struct Vouchers.Data storage ref)" + } + }, + "id": 2557, + "indexExpression": { + "argumentTypes": null, + "id": 2556, + "name": "hashedVoucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2548, + "src": "1904:13:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1895:23:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_storage", + "typeString": "struct Vouchers.Data storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1872:46:14" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2560, + "name": "voucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2554, + "src": "1936:7:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_storage_ptr", + "typeString": "struct Vouchers.Data storage pointer" + } + }, + "id": 2561, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2414, + "src": "1936:15:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2562, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1954:1:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1936:19:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2559, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "1928:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1928:28:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2565, + "nodeType": "ExpressionStatement", + "src": "1928:28:14" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2567, + "name": "voucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2554, + "src": "1974:7:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_storage_ptr", + "typeString": "struct Vouchers.Data storage pointer" + } + }, + "id": 2568, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_claimant", + "nodeType": "MemberAccess", + "referencedDeclaration": 2412, + "src": "1974:17:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 2570, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2003:1:14", + "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": 2569, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1995:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2571, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1995:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1974:31:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2566, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 3161, + 3162 + ], + "referencedDeclaration": 3161, + "src": "1966:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1966:40:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2574, + "nodeType": "ExpressionStatement", + "src": "1966:40:14" + }, + { + "expression": { + "argumentTypes": null, + "id": 2581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2575, + "name": "vouchers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2419, + "src": "2084:8:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$2415_storage_$", + "typeString": "mapping(bytes32 => struct Vouchers.Data storage ref)" + } + }, + "id": 2577, + "indexExpression": { + "argumentTypes": null, + "id": 2576, + "name": "hashedVoucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2548, + "src": "2093:13:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2084:23:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_storage", + "typeString": "struct Vouchers.Data storage ref" + } + }, + "id": 2578, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "_claimant", + "nodeType": "MemberAccess", + "referencedDeclaration": 2412, + "src": "2084:33:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2579, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "2120:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2120:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2084:46:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2582, + "nodeType": "ExpressionStatement", + "src": "2084:46:14" + }, + { + "assignments": [ + 2584 + ], + "declarations": [ + { + "constant": false, + "id": 2584, + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 2611, + "src": "2196:18:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + }, + "typeName": { + "contractScope": null, + "id": 2583, + "name": "ParatiiToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 871, + "src": "2196:12:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2591, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "50617261746969546f6b656e", + "id": 2588, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2251:14:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7631507f3f7bc8a54ae4ffd3c749e7cce6ebb390bbd0a742160abd113aa9ca0c", + "typeString": "literal_string \"ParatiiToken\"" + }, + "value": "ParatiiToken" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7631507f3f7bc8a54ae4ffd3c749e7cce6ebb390bbd0a742160abd113aa9ca0c", + "typeString": "literal_string \"ParatiiToken\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 2586, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2410, + "src": "2230:8:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Registry_$1096", + "typeString": "contract Registry" + } + }, + "id": 2587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 983, + "src": "2230:20:14", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory) view external returns (address)" + } + }, + "id": 2589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2230:36:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2585, + "name": "ParatiiToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 871, + "src": "2217:12:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ParatiiToken_$871_$", + "typeString": "type(contract ParatiiToken)" + } + }, + "id": 2590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2217:50:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2196:71:14" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2595, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "2292:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2292:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2597, + "name": "voucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2554, + "src": "2304:7:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_storage_ptr", + "typeString": "struct Vouchers.Data storage pointer" + } + }, + "id": 2598, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2414, + "src": "2304:15:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2592, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2584, + "src": "2277:5:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ParatiiToken_$871", + "typeString": "contract ParatiiToken" + } + }, + "id": 2594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 2827, + "src": "2277:14:14", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 2599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2277:43:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2600, + "nodeType": "ExpressionStatement", + "src": "2277:43:14" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2602, + "name": "hashedVoucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2548, + "src": "2352:13:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2603, + "name": "_voucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2542, + "src": "2367:8:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2604, + "name": "voucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2554, + "src": "2377:7:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$2415_storage_ptr", + "typeString": "struct Vouchers.Data storage pointer" + } + }, + "id": 2605, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 2414, + "src": "2377:15:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2606, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3158, + "src": "2394:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2394:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2601, + "name": "LogRedeemVoucher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2439, + "src": "2335:16:14", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (bytes32,string memory,uint256,address)" + } + }, + "id": 2608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2335:70:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2609, + "nodeType": "EmitStatement", + "src": "2330:75:14" + } + ] + }, + "documentation": null, + "id": 2611, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "redeem", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2543, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2542, + "name": "_voucher", + "nodeType": "VariableDeclaration", + "scope": 2611, + "src": "1702:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2541, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1702:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1701:17:14" + }, + "payable": false, + "returnParameters": { + "id": 2546, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2545, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2611, + "src": "1734:4:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2544, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1734:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1733:6:14" + }, + "scope": 2612, + "src": "1686:726:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 2613, + "src": "141:2273:14" + } + ], + "src": "0:2415:14" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.1", + "updatedAt": "2018-06-29T16:29:38.970Z" +} \ No newline at end of file diff --git a/contracts/paratii/Avatar.sol b/contracts/paratii/Avatar.sol index 7d1c8da..215e350 100644 --- a/contracts/paratii/Avatar.sol +++ b/contracts/paratii/Avatar.sol @@ -1,6 +1,6 @@ pragma solidity ^0.4.18; -import './Registry.sol'; -import './ParatiiToken.sol'; +import "./Registry.sol"; +import "./ParatiiToken.sol"; import "zeppelin-solidity/contracts/ownership/Ownable.sol"; /* * @dev A contract that holds PTI for the paratii DAO @@ -17,48 +17,48 @@ contract Avatar is Ownable { _; } - function Avatar(Registry _registry) public { + constructor(Registry _registry) public { registry = _registry; owner = msg.sender; } function addToWhitelist(address _address) public onlyOwner { - // check if the address is already known, and if there is a free space in the whitelist - uint freeSpace = whitelist.length; - for (uint i=0; i < whitelist.length; i++) { - if (whitelist[i] == _address) { - return; - } - if (whitelist[i] == address(0)) { - freeSpace = i; - } - } - if (freeSpace == whitelist.length){ - whitelist.push(_address); - } else { - whitelist[freeSpace] = _address; - } + // check if the address is already known, and if there is a free space in the whitelist + uint freeSpace = whitelist.length; + for (uint i = 0; i < whitelist.length; i++) { + if (whitelist[i] == _address) { + return; + } + if (whitelist[i] == address(0)) { + freeSpace = i; + } + } + if (freeSpace == whitelist.length){ + whitelist.push(_address); + } else { + whitelist[freeSpace] = _address; + } } function removeFromWhitelist(address _address) public onlyOwner { - for (uint i=0; i < whitelist.length; i++) { - if (whitelist[i] == _address) { - delete whitelist[i]; - } - } + for (uint i = 0; i < whitelist.length; i++) { + if (whitelist[i] == _address) { + delete whitelist[i]; + } + } } function isOnWhiteList(address _address) public constant returns(bool) { - for (uint i=0; i < whitelist.length; i++) { - if (whitelist[i] == _address) { - return true; - } - } - return false; + for (uint i = 0; i < whitelist.length; i++) { + if (whitelist[i] == _address) { + return true; + } + } + return false; } function transferFrom(address _from, address _to, uint256 _value) public onlyWhitelist returns (bool) { - ParatiiToken token = ParatiiToken(registry.getContract('ParatiiToken')); + ParatiiToken token = ParatiiToken(registry.getContract("ParatiiToken")); return token.transferFrom(_from, _to, _value); } } diff --git a/contracts/paratii/Likes.sol b/contracts/paratii/Likes.sol index 95f775a..c070116 100644 --- a/contracts/paratii/Likes.sol +++ b/contracts/paratii/Likes.sol @@ -1,8 +1,8 @@ pragma solidity ^0.4.18; import "zeppelin-solidity/contracts/ownership/Ownable.sol"; -import 'zeppelin-solidity/contracts/math/SafeMath.sol'; -import './Registry.sol'; +import "zeppelin-solidity/contracts/math/SafeMath.sol"; +import "./Registry.sol"; contract Likes is Ownable { @@ -19,83 +19,83 @@ contract Likes is Ownable { event LogLikeVideo(address _address, string _videoId, bool _liked); - function Likes(Registry _paratiiRegistry) public { + constructor(Registry _paratiiRegistry) public { owner = msg.sender; paratiiRegistry = _paratiiRegistry; } - function likeVideo(string _videoId, bool _liked) public { - address _address = msg.sender ; - bytes32 _videoHash = keccak256(_videoId); - bool _userLikesVideo = userLikesVideo(_address, _videoId); - bool _userDislikesVideo = userDislikesVideo(_address, _videoId); - - if (_liked && _userLikesVideo) { - // this user already liked the video before - return; - } - - if (!_liked && _userDislikesVideo) { - // this user already disliked the video before - return; - } - - if (_liked) { - // msg.sender likes his video and did not do so before - _likes[_address][_videoHash] = true; - _userLikes[_address] += 1; - _vidLikes[_videoHash] += 1; - - if (_userDislikesVideo) { - _dislikes[_address][_videoHash] = false; - _userDislikes[_address] -= 1; - _vidDislikes[_videoHash] -= 1; - } - - LogLikeVideo(_address, _videoId, _liked); + function likeVideo(string _videoId, bool _liked) public { + address _address = msg.sender; + bytes32 _videoHash = keccak256(_videoId); + bool _userLikesVideo = userLikesVideo(_address, _videoId); + bool _userDislikesVideo = userDislikesVideo(_address, _videoId); + + if (_liked && _userLikesVideo) { + // this user already liked the video before + return; + } + + if (!_liked && _userDislikesVideo) { + // this user already disliked the video before + return; + } + + if (_liked) { + // msg.sender likes his video and did not do so before + _likes[_address][_videoHash] = true; + _userLikes[_address] += 1; + _vidLikes[_videoHash] += 1; + + if (_userDislikesVideo) { + _dislikes[_address][_videoHash] = false; + _userDislikes[_address] -= 1; + _vidDislikes[_videoHash] -= 1; + } + + emit LogLikeVideo(_address, _videoId, _liked); } if (!_liked) { - // msg.sender likes his video and did not do so before - _dislikes[_address][_videoHash] = true; - _userDislikes[_address] += 1; - _vidDislikes[_videoHash] += 1; - - if (_userLikesVideo) { - _likes[_address][_videoHash] = false; - _userLikes[_address] -= 1; - _vidLikes[_videoHash] -= 1; - } - LogLikeVideo(_address, _videoId, _liked); - LogLikeVideo(_address, 'this passed here', _liked); + // msg.sender likes his video and did not do so before + _dislikes[_address][_videoHash] = true; + _userDislikes[_address] += 1; + _vidDislikes[_videoHash] += 1; + + if (_userLikesVideo) { + _likes[_address][_videoHash] = false; + _userLikes[_address] -= 1; + _vidLikes[_videoHash] -= 1; + } + emit LogLikeVideo(_address, _videoId, _liked); + emit LogLikeVideo(_address, "this passed here", _liked); } } - function userLikes(address _address) public constant returns(uint) { - return _userLikes[_address]; + function userLikes(address _address) public view returns(uint) { + return _userLikes[_address]; } /** * @dev returns total of dislikes registered by this user * @param _address Address of the user */ - function userDislikes(address _address) public constant returns(uint) { - return _userDislikes[_address]; + function userDislikes(address _address) public view returns(uint) { + return _userDislikes[_address]; } - function vidLikes(string _videoId) public constant returns(uint) { - return _vidLikes[keccak256(_videoId)]; + function vidLikes(string _videoId) public view returns(uint) { + return _vidLikes[keccak256(_videoId)]; } - function vidDislikes(string _videoId) public constant returns(uint) { - return _vidDislikes[keccak256(_videoId)]; + function vidDislikes(string _videoId) public view returns(uint) { + return _vidDislikes[keccak256(_videoId)]; } - function userLikesVideo(address _address, string _videoId) public constant returns(bool) { + function userLikesVideo(address _address, string _videoId) public view returns(bool) { return _likes[_address][keccak256(_videoId)]; } - function userDislikesVideo(address _address, string _videoId) public constant returns(bool) { + function userDislikesVideo(address _address, string _videoId) public view returns(bool) { return _dislikes[_address][keccak256(_videoId)]; } } diff --git a/contracts/paratii/PTIDistributor.sol b/contracts/paratii/PTIDistributor.sol index 9e6a76f..0fa4455 100644 --- a/contracts/paratii/PTIDistributor.sol +++ b/contracts/paratii/PTIDistributor.sol @@ -1,8 +1,8 @@ pragma solidity ^0.4.18; import "zeppelin-solidity/contracts/ownership/Ownable.sol"; -import './ParatiiToken.sol'; -import './Registry.sol'; +import "./ParatiiToken.sol"; +import "./Registry.sol"; contract PTIDistributor is Ownable { @@ -15,37 +15,37 @@ contract PTIDistributor is Ownable { mapping(bytes32 => bool) public isUsed; - function PTIDistributor(Registry _registry) public { + constructor(Registry _registry) public { owner = msg.sender; registry = _registry; } - function distribute(address _toAddress, uint256 _amount, bytes32 _salt, string _reason, uint8 _v, bytes32 _r, bytes32 _s) { - bytes32 message = keccak256(_toAddress, _amount, _salt, _reason); - bytes memory prefix = "\x19Ethereum Signed Message:\n32"; - bytes32 prefixedHash = keccak256(prefix, message); - require(!isUsed[_salt] && ecrecover(prefixedHash, _v, _r, _s) == owner); - isUsed[_salt] = true; - ParatiiToken token = ParatiiToken(registry.getContract('ParatiiToken')); - require(token.transfer(_toAddress, _amount)); - LogDistribute(_toAddress, _amount, _reason); + function distribute(address _toAddress, uint256 _amount, bytes32 _salt, string _reason, uint8 _v, bytes32 _r, bytes32 _s) public { + bytes32 message = keccak256(_toAddress, _amount, _salt, _reason); + bytes memory prefix = "\x19Ethereum Signed Message:\n32"; + bytes32 prefixedHash = keccak256(prefix, message); + require(!isUsed[_salt] && ecrecover(prefixedHash, _v, _r, _s) == owner); + isUsed[_salt] = true; + ParatiiToken token = ParatiiToken(registry.getContract("ParatiiToken")); + require(token.transfer(_toAddress, _amount)); + emit LogDistribute(_toAddress, _amount, _reason); } - function checkOwnerPacked(address _toAddress, uint256 _amount, bytes32 _salt, string _reason, uint8 _v, bytes32 _r, bytes32 _s) { - bytes32 message = keccak256(_toAddress, _amount, _salt, _reason); - bytes memory prefix = "\x19Ethereum Signed Message:\n32"; - bytes32 prefixedHash = keccak256(prefix, message); - LogDebugOwner( ecrecover(prefixedHash, _v, _r, _s) ); + function checkOwnerPacked(address _toAddress, uint256 _amount, bytes32 _salt, string _reason, uint8 _v, bytes32 _r, bytes32 _s) public { + bytes32 message = keccak256(_toAddress, _amount, _salt, _reason); + bytes memory prefix = "\x19Ethereum Signed Message:\n32"; + bytes32 prefixedHash = keccak256(prefix, message); + emit LogDebugOwner(ecrecover(prefixedHash, _v, _r, _s)); } - function checkOwner(bytes32 _hash, uint8 _v, bytes32 _r, bytes32 _s) constant returns (address) { - bytes memory prefix = "\x19Ethereum Signed Message:\n32"; - bytes32 prefixedHash = keccak256(prefix, _hash); - return ecrecover(prefixedHash, _v, _r, _s); + function checkOwner(bytes32 _hash, uint8 _v, bytes32 _r, bytes32 _s) public view returns (address) { + bytes memory prefix = "\x19Ethereum Signed Message:\n32"; + bytes32 prefixedHash = keccak256(prefix, _hash); + return ecrecover(prefixedHash, _v, _r, _s); } - function checkHashing(address _toAddress, uint256 _amount, bytes32 _salt, string _reason) { - bytes32 hashing = keccak256(_toAddress, _amount, _salt, _reason); - LogDebug( hashing ); + function checkHashing(address _toAddress, uint256 _amount, bytes32 _salt, string _reason) public { + bytes32 hashing = keccak256(_toAddress, _amount, _salt, _reason); + emit LogDebug(hashing); } } diff --git a/contracts/paratii/ParatiiToken.sol b/contracts/paratii/ParatiiToken.sol index 4fec139..f06e850 100644 --- a/contracts/paratii/ParatiiToken.sol +++ b/contracts/paratii/ParatiiToken.sol @@ -9,7 +9,7 @@ contract ParatiiToken is StandardToken { uint public decimals = 18; uint public INITIAL_SUPPLY = 21000000 * (10**decimals); - function ParatiiToken() public { + constructor() public { totalSupply = INITIAL_SUPPLY; balances[msg.sender] = INITIAL_SUPPLY; } diff --git a/contracts/paratii/Registry.sol b/contracts/paratii/Registry.sol index 3a6ff80..3f84252 100644 --- a/contracts/paratii/Registry.sol +++ b/contracts/paratii/Registry.sol @@ -8,60 +8,60 @@ import "zeppelin-solidity/contracts/ownership/Ownable.sol"; **/ contract Registry is Ownable { - mapping (bytes32=>address) public contracts; - mapping (bytes32=>uint) public numbers; - mapping (bytes32=>string) public strings; + mapping (bytes32=>address) public contracts; + mapping (bytes32=>uint) public numbers; + mapping (bytes32=>string) public strings; - event LogRegisterAddress(string _name, address _address); - event LogUnregisterAddress(string _name); - event LogRegisterUint(string _name, uint _number); - event LogUnregisterUint(string _name); - event LogRegisterString(string _name, string _string); - event LogUnregisterString(string _name); + event LogRegisterAddress(string _name, address _address); + event LogUnregisterAddress(string _name); + event LogRegisterUint(string _name, uint _number); + event LogUnregisterUint(string _name); + event LogRegisterString(string _name, string _string); + event LogUnregisterString(string _name); - function Registry() public { - owner = msg.sender; - } + constructor() public { + owner = msg.sender; + } - function registerAddress(string _name, address _address) public onlyOwner { - contracts[keccak256(_name)] = _address; - LogRegisterAddress(_name, _address); - } + function registerAddress(string _name, address _address) public onlyOwner { + contracts[keccak256(_name)] = _address; + emit LogRegisterAddress(_name, _address); + } - function unregisterAddress(string _name) public onlyOwner { - delete contracts[keccak256(_name)]; - LogUnregisterAddress(_name); - } + function unregisterAddress(string _name) public onlyOwner { + delete contracts[keccak256(_name)]; + emit LogUnregisterAddress(_name); + } - function getContract(string _name) public constant returns(address) { - return contracts[keccak256(_name)]; - } + function getContract(string _name) public view returns(address) { + return contracts[keccak256(_name)]; + } - function registerUint(string _name, uint _number) public onlyOwner { - numbers[keccak256(_name)] = _number; - LogRegisterUint(_name, _number); - } + function registerUint(string _name, uint _number) public onlyOwner { + numbers[keccak256(_name)] = _number; + emit LogRegisterUint(_name, _number); + } - function unregisterUint(string _name) public onlyOwner { - delete numbers[keccak256(_name)]; - LogUnregisterUint(_name); - } + function unregisterUint(string _name) public onlyOwner { + delete numbers[keccak256(_name)]; + emit LogUnregisterUint(_name); + } - function getUint(string _name) public constant returns(uint) { - return numbers[keccak256(_name)]; - } + function getUint(string _name) public view returns(uint) { + return numbers[keccak256(_name)]; + } - function registerString(string _name, string _string) public onlyOwner { - strings[keccak256(_name)] = _string; - LogRegisterString(_name, _string); - } + function registerString(string _name, string _string) public onlyOwner { + strings[keccak256(_name)] = _string; + emit LogRegisterString(_name, _string); + } - function unregisterString(string _name) public onlyOwner { - delete strings[keccak256(_name)]; - LogUnregisterString(_name); - } + function unregisterString(string _name) public onlyOwner { + delete strings[keccak256(_name)]; + emit LogUnregisterString(_name); + } - function getString(string _name) public constant returns(string) { - return strings[keccak256(_name)]; - } + function getString(string _name) public view returns(string) { + return strings[keccak256(_name)]; + } } diff --git a/contracts/paratii/Sales.sol b/contracts/paratii/Sales.sol index ec1f4b3..d94890c 100644 --- a/contracts/paratii/Sales.sol +++ b/contracts/paratii/Sales.sol @@ -1,17 +1,17 @@ pragma solidity ^0.4.18; import "zeppelin-solidity/contracts/ownership/Ownable.sol"; -import 'zeppelin-solidity/contracts/math/SafeMath.sol'; -import './Registry.sol'; +import "zeppelin-solidity/contracts/math/SafeMath.sol"; +import "./Registry.sol"; contract Sales is Ownable { Registry public registry; struct Data { - bool _isRegistered; - uint _price; - string _ipfsData; + bool _isRegistered; + uint _price; + string _ipfsData; } @@ -22,11 +22,11 @@ contract Sales is Ownable { event LogRemoveSale(address _buyer, string _videoId); modifier onlyOwnerOrStore() { - require((msg.sender == owner) || (msg.sender == registry.getContract('Store'))); + require((msg.sender == owner) || (msg.sender == registry.getContract("Store"))); _; } - function Sales(Registry _registry) public { + constructor(Registry _registry) public { owner = msg.sender; registry = _registry; } @@ -43,7 +43,7 @@ contract Sales is Ownable { function create(address _buyer, string _videoId, uint _price, string _ipfsData) public onlyOwnerOrStore { _sales[_buyer][keccak256(_videoId)] = Data(true, _price, _ipfsData); - LogCreateSale(_buyer, _videoId, _price, _ipfsData); + emit LogCreateSale(_buyer, _videoId, _price, _ipfsData); } /** @@ -53,7 +53,7 @@ contract Sales is Ownable { function remove(address _buyer, string _videoId) public onlyOwnerOrStore { delete _sales[_buyer][keccak256(_videoId)]; - LogRemoveSale(_buyer, _videoId); + emit LogRemoveSale(_buyer, _videoId); } /** @@ -61,7 +61,7 @@ contract Sales is Ownable { * Only the Store contract or the owner can remove a sale * @return price and ipfsData */ - function get(address _buyer, string _videoId) public constant returns(uint, string) { + function get(address _buyer, string _videoId) public view returns(uint, string) { Data storage _data = _sales[_buyer][keccak256(_videoId)]; return ( _data._price, @@ -69,7 +69,7 @@ contract Sales is Ownable { ); } - function userBoughtVideo(address _buyer, string _videoId) public constant returns(bool) { + function userBoughtVideo(address _buyer, string _videoId) public view returns(bool) { return _sales[_buyer][keccak256(_videoId)]._isRegistered; } } diff --git a/contracts/paratii/SendEther.sol b/contracts/paratii/SendEther.sol index ed6eb3b..b0e98ea 100644 --- a/contracts/paratii/SendEther.sol +++ b/contracts/paratii/SendEther.sol @@ -8,14 +8,14 @@ pragma solidity ^0.4.18; contract SendEther { event LogSendEther( - address from, - address to, - uint value, - string description + address from, + address to, + uint value, + string description ); // If someone accidentally sends ether to this contract, revert; - function () { + function () public { revert(); } @@ -25,10 +25,10 @@ contract SendEther { * @param _to recipient of the ETH * @param _description A description to log */ - function transfer(address _to, string _description) payable returns(bool) { - _to.transfer(msg.value); - LogSendEther(msg.sender, _to, msg.value, _description); - return true; + function transfer(address _to, string _description) public payable returns(bool) { + _to.transfer(msg.value); + emit LogSendEther(msg.sender, _to, msg.value, _description); + return true; } } diff --git a/contracts/paratii/Store.sol b/contracts/paratii/Store.sol index e7283d9..32be68b 100644 --- a/contracts/paratii/Store.sol +++ b/contracts/paratii/Store.sol @@ -1,13 +1,13 @@ pragma solidity ^0.4.18; -import 'zeppelin-solidity/contracts/math/SafeMath.sol'; -import './Avatar.sol'; -import './ParatiiToken.sol'; -import './Registry.sol'; -import './Sales.sol'; -import './Users.sol'; -import './Videos.sol'; -import '../debug/Debug.sol'; +import "zeppelin-solidity/contracts/math/SafeMath.sol"; +import "./Avatar.sol"; +import "./ParatiiToken.sol"; +import "./Registry.sol"; +import "./Sales.sol"; +import "./Users.sol"; +import "./Videos.sol"; +import "../debug/Debug.sol"; /** @@ -24,8 +24,8 @@ contract Store is Ownable, Debug { event LogBuyVideo(string _videoId, address _buyer, uint _price); - function Store(Registry _registry) public { - registry = _registry; + constructor(Registry _registry) public { + registry = _registry; } // If someone accidentally sends ether to this contract, revert; @@ -40,21 +40,21 @@ contract Store is Ownable, Debug { * the sum to the owner and the redistribution pool. */ function buyVideo(string videoId, string ipfsData) public returns(bool) { - // get the info about the video - Avatar avatar = Avatar(registry.getContract('Avatar')); - /*Videos videos = Videos(registry.getContract('Videos'));*/ - var (owner, price, _3, _4_, _5, _6) = Videos(registry.getContract('Videos')).get(videoId); - uint256 paratiiPart = price.mul(redistributionPoolShare()).div(10 ** 18); - avatar.transferFrom(msg.sender, address(avatar), paratiiPart); - uint256 ownerPart = price.sub(paratiiPart); - avatar.transferFrom(msg.sender, owner, ownerPart); - Sales(registry.getContract('Sales')).create(msg.sender, videoId, price, ipfsData); - LogBuyVideo(videoId, msg.sender, price); - return true; + // get the info about the video + Avatar avatar = Avatar(registry.getContract("Avatar")); + /*Videos videos = Videos(registry.getContract("Videos"));*/ + var (owner, price, _3, _4_, _5, _6) = Videos(registry.getContract("Videos")).get(videoId); + uint256 paratiiPart = price.mul(redistributionPoolShare()).div(10 ** 18); + avatar.transferFrom(msg.sender, address(avatar), paratiiPart); + uint256 ownerPart = price.sub(paratiiPart); + avatar.transferFrom(msg.sender, owner, ownerPart); + Sales(registry.getContract("Sales")).create(msg.sender, videoId, price, ipfsData); + emit LogBuyVideo(videoId, msg.sender, price); + return true; } function redistributionPoolShare() internal constant returns(uint256) { // the "percentage" in precision 10**18 - return registry.getUint('VideoRedistributionPoolShare'); + return registry.getUint("VideoRedistributionPoolShare"); } } diff --git a/contracts/paratii/TcrPlaceholder.sol b/contracts/paratii/TcrPlaceholder.sol index 6125527..7fdd3e7 100644 --- a/contracts/paratii/TcrPlaceholder.sol +++ b/contracts/paratii/TcrPlaceholder.sol @@ -2,206 +2,206 @@ pragma solidity ^0.4.18; import "zeppelin-solidity/contracts/ownership/Ownable.sol"; import "./ParatiiToken.sol"; -import './Registry.sol'; +import "./Registry.sol"; /// WARNING , NOT PRODUCTION READY, based on ADCHAIN Registry. /// THIS IS JUST A PLACEHOLDER.. contract TcrPlaceholder is Ownable { - // Events - // --------- - - event _Application(string videoId, uint deposit); - event _NewVideoWhitelisted(string videoId); - - struct Listing { - uint applicationExpiry; // Expiration date of apply stage - bool whitelisted; // registration status - address owner; // Owner of the video. - uint unstakedDeposit; // Number of tokens in the listing not locked in a challenge - uint challengeID; // ID of canonical challenge - } - - // Maps of videoId Hashes to listing data. - mapping(bytes32 => Listing) public listings; - - ParatiiToken public token; - uint public minDeposit; - uint public applyStageLen; - Registry public registry; - - // --------------------------------------------------------------------------- - // CONSTRUCTOR - // ------------------ - - function TcrPlaceholder( - Registry _registry, - address _tokenAddr, - uint _minDeposit, - uint _applyStageLen - ) { - owner = msg.sender; - registry = _registry; - token = ParatiiToken(_tokenAddr); - minDeposit = _minDeposit; - applyStageLen = _applyStageLen; // 100 blocks. - } - - // --------------------------------------------------------------------------- - // Video creator functions - //------------------------ - - /** - * allow video creator to apply for whitelisting for a video. - * @param _videoId the videoId - * @param _amount the amount to Stake - */ - function apply(string _videoId, uint _amount) external { - require(!isWhitelisted(_videoId)); - require(!appWasMade(_videoId)); - require(_amount >= minDeposit); - - // set owner - Listing storage listing = listings[keccak256(_videoId)]; - listing.owner = msg.sender; - - // transfer tokens from user to TcrPlaceholder contract - require(token.transferFrom(listing.owner, this, _amount)); - - // sets apply stage and end time. - listing.applicationExpiry = block.number + applyStageLen; - listing.unstakedDeposit = _amount; - - _Application(_videoId, _amount); - } - - /** - * deposit an amount of tokens. (unstaked) - * @param amount the amount to deposit - * @return {EVENT} returns event log of deposit event. - */ - function deposit(uint amount) external { - - } - - /** - * take out an amount of tokens from the unstaked tokens. - * @param amount the amount to take out - */ - function withdraw(uint amount) external { - - } - - /** - * allow video creator to remove a video from the listing and return tokens. - * @param _videoId videoId to remove - */ - function exit(string _videoId) external { - Listing storage listing = listings[keccak256(_videoId)]; - - require(msg.sender == listing.owner); - require(isWhitelisted(_videoId)); - - // Cannot exit during ongoing challenge - /* require(!challenges[listing.challengeID].isInitialized() || - challenges[listing.challengeID].isResolved()); */ - - // Remove domain & return tokens - resetListing(_videoId); - } - - /** - * remove a video , Only the TCR owner can do this. - * @param _videoId id of the video to remove. - */ - function removeListing(string _videoId) public onlyOwner { - resetListing(_videoId); - } - - /** - @notice Updates a videos's status from 'application' to 'listing' - @notice or resolves a challenge if one exists. - @param _videoId The videoId whose status is being updated - */ - function updateStatus(string _videoId) public { - if (canBeWhitelisted(_videoId)) { - whitelistApplication(_videoId); - _NewVideoWhitelisted(_videoId); - } else { - revert(); + // Events + // --------- + + event _Application(string videoId, uint deposit); + event _NewVideoWhitelisted(string videoId); + + struct Listing { + uint applicationExpiry; // Expiration date of apply stage + bool whitelisted; // registration status + address owner; // Owner of the video. + uint unstakedDeposit; // Number of tokens in the listing not locked in a challenge + uint challengeID; // ID of canonical challenge + } + + // Maps of videoId Hashes to listing data. + mapping(bytes32 => Listing) public listings; + + ParatiiToken public token; + uint public minDeposit; + uint public applyStageLen; + Registry public registry; + + // --------------------------------------------------------------------------- + // CONSTRUCTOR + // ------------------ + + constructor( + Registry _registry, + address _tokenAddr, + uint _minDeposit, + uint _applyStageLen + ) public { + owner = msg.sender; + registry = _registry; + token = ParatiiToken(_tokenAddr); + minDeposit = _minDeposit; + applyStageLen = _applyStageLen; // 100 blocks. + } + + // --------------------------------------------------------------------------- + // Video creator functions + //------------------------ + + /** + * allow video creator to apply for whitelisting for a video. + * @param _videoId the videoId + * @param _amount the amount to Stake + */ + function apply(string _videoId, uint _amount) external { + require(!isWhitelisted(_videoId)); + require(!appWasMade(_videoId)); + require(_amount >= minDeposit); + + // set owner + Listing storage listing = listings[keccak256(_videoId)]; + listing.owner = msg.sender; + + // transfer tokens from user to TcrPlaceholder contract + require(token.transferFrom(listing.owner, this, _amount)); + + // sets apply stage and end time. + listing.applicationExpiry = block.number + applyStageLen; + listing.unstakedDeposit = _amount; + + emit _Application(_videoId, _amount); + } + + /** + * deposit an amount of tokens. (unstaked) + * @param amount the amount to deposit + * @return {EVENT} returns event log of deposit event. + */ + function deposit(uint amount) external { + + } + + /** + * take out an amount of tokens from the unstaked tokens. + * @param amount the amount to take out + */ + function withdraw(uint amount) external { + + } + + /** + * allow video creator to remove a video from the listing and return tokens. + * @param _videoId videoId to remove + */ + function exit(string _videoId) external { + Listing storage listing = listings[keccak256(_videoId)]; + + require(msg.sender == listing.owner); + require(isWhitelisted(_videoId)); + + // Cannot exit during ongoing challenge + /* require(!challenges[listing.challengeID].isInitialized() || + challenges[listing.challengeID].isResolved()); */ + + // Remove domain & return tokens + resetListing(_videoId); + } + + /** + * remove a video , Only the TCR owner can do this. + * @param _videoId id of the video to remove. + */ + function removeListing(string _videoId) public onlyOwner { + resetListing(_videoId); + } + + /** + @notice Updates a videos's status from 'application' to 'listing' + @notice or resolves a challenge if one exists. + @param _videoId The videoId whose status is being updated + */ + function updateStatus(string _videoId) public { + if (canBeWhitelisted(_videoId)) { + whitelistApplication(_videoId); + emit _NewVideoWhitelisted(_videoId); + } else { + revert(); + } + } + + /** + @dev Called by updateStatus() if the applicationExpiry date passed without a + challenge being made + @dev Called by resolveChallenge() if an application/listing beat a challenge. + @param _videoId The _videoId of an application/listing to be whitelisted + */ + function whitelistApplication(string _videoId) private { + bytes32 videoHash = keccak256(_videoId); + + listings[videoHash].whitelisted = true; + } + + //---------------------------------------------------------------------------- + // Token HODLers functions + //-------------------------- + + // --------------------------------------------------------------------------- + // Utilities + //------------------------ + /// @dev returns true if video is whitelisted + function isWhitelisted(string _videoId) view public returns (bool whitelisted) { + return listings[keccak256(_videoId)].whitelisted; + } + + // @dev returns true if apply was called for this video + function appWasMade(string _videoId) view public returns (bool exists) { + return listings[keccak256(_videoId)].applicationExpiry > 0; + } + + /// @dev returns true if the provided termDate has passed + function isExpired(uint _termDate) view public returns (bool expired) { + return _termDate < block.number; + } + + function getMinDeposit() view public returns (uint) { + return minDeposit; + } + + /** + @dev Determines whether the video of an application can be whitelisted. + @param _videoId The videoId whose status should be examined + */ + function canBeWhitelisted(string _videoId) view public returns (bool) { + bytes32 videoHash = keccak256(_videoId); + + // Ensures that the application was made, + // the application period has ended, + // the video can be whitelisted, + if ( + appWasMade(_videoId) && + isExpired(listings[videoHash].applicationExpiry) && + !isWhitelisted(_videoId) + ) { return true; } + + return false; + } + + /** + @dev deletes a listing from the whitelist and transfers tokens back to owner + @param _videoId the videoId to be removed + */ + function resetListing(string _videoId) private { + bytes32 videoHash = keccak256(_videoId); + Listing storage listing = listings[videoHash]; + + // Transfers any remaining balance back to the owner + if (listing.unstakedDeposit > 0) + require(token.transfer(listing.owner, listing.unstakedDeposit)); + + delete listings[videoHash]; } - } - - /** - @dev Called by updateStatus() if the applicationExpiry date passed without a - challenge being made - @dev Called by resolveChallenge() if an application/listing beat a challenge. - @param _videoId The _videoId of an application/listing to be whitelisted - */ - function whitelistApplication(string _videoId) private { - bytes32 videoHash = keccak256(_videoId); - - listings[videoHash].whitelisted = true; - } - - //---------------------------------------------------------------------------- - // Token HODLers functions - //-------------------------- - - // --------------------------------------------------------------------------- - // Utilities - //------------------------ - /// @dev returns true if video is whitelisted - function isWhitelisted(string _videoId) constant public returns (bool whitelisted) { - return listings[keccak256(_videoId)].whitelisted; - } - - // @dev returns true if apply was called for this video - function appWasMade(string _videoId) constant public returns (bool exists) { - return listings[keccak256(_videoId)].applicationExpiry > 0; - } - - /// @dev returns true if the provided termDate has passed - function isExpired(uint _termDate) constant public returns (bool expired) { - return _termDate < block.number; - } - - function getMinDeposit() constant public returns (uint) { - return minDeposit; - } - - /** - @dev Determines whether the video of an application can be whitelisted. - @param _videoId The videoId whose status should be examined - */ - function canBeWhitelisted(string _videoId) constant public returns (bool) { - bytes32 videoHash = keccak256(_videoId); - - // Ensures that the application was made, - // the application period has ended, - // the video can be whitelisted, - if ( - appWasMade(_videoId) && - isExpired(listings[videoHash].applicationExpiry) && - !isWhitelisted(_videoId) - ) { return true; } - - return false; - } - - /** - @dev deletes a listing from the whitelist and transfers tokens back to owner - @param _videoId the videoId to be removed - */ - function resetListing(string _videoId) private { - bytes32 videoHash = keccak256(_videoId); - Listing storage listing = listings[videoHash]; - - // Transfers any remaining balance back to the owner - if (listing.unstakedDeposit > 0) - require(token.transfer(listing.owner, listing.unstakedDeposit)); - - delete listings[videoHash]; - } } diff --git a/contracts/paratii/Users.sol b/contracts/paratii/Users.sol index 4d37ada..bd34e23 100644 --- a/contracts/paratii/Users.sol +++ b/contracts/paratii/Users.sol @@ -1,35 +1,35 @@ pragma solidity ^0.4.18; import "zeppelin-solidity/contracts/ownership/Ownable.sol"; -import './Registry.sol'; +import "./Registry.sol"; contract Users is Ownable { Registry registry; struct UserInfo { - string name; - string email; - string ipfsData; + string name; + string email; + string ipfsData; } mapping (address=>UserInfo) public users; event LogCreateUser( - address indexed _address, - string _name, - string _email, - string _ipfsData + address indexed _address, + string _name, + string _email, + string _ipfsData ); event LogRemoveUser(address indexed _address); modifier onlyOwnerOrUser(address _address) { - require(msg.sender == owner || msg.sender == _address); - _; + require(msg.sender == owner || msg.sender == _address); + _; } - function Users(Registry _registry) public { + constructor(Registry _registry) public { owner = msg.sender; registry = _registry; } @@ -42,18 +42,20 @@ contract Users is Ownable { * @param _ipfsData - the hash of a JSON file with data of the video */ function create( - address _address, - string _name, - string _email, - string _ipfsData - ) public onlyOwnerOrUser(_address) { - users[_address] = UserInfo({ - name: _name, - email: _email, - ipfsData: _ipfsData - }); + address _address, + string _name, + string _email, + string _ipfsData + ) + public onlyOwnerOrUser(_address) + { + users[_address] = UserInfo({ + name: _name, + email: _email, + ipfsData: _ipfsData + }); - LogCreateUser(_address, _name, _email, _ipfsData); + emit LogCreateUser(_address, _name, _email, _ipfsData); } /** @@ -63,7 +65,7 @@ contract Users is Ownable { */ function remove(address _address) public onlyOwnerOrUser(_address) { delete users[_address]; - LogRemoveUser(_address); + emit LogRemoveUser(_address); } /** @@ -71,8 +73,8 @@ contract Users is Ownable { * @param _address the address of the user * @return a tuple (name, email, ipfsData) */ - function get(address _address) public constant returns(string, string, string) { - UserInfo storage userInfo = users[_address]; - return (userInfo.name, userInfo.email, userInfo.ipfsData); + function get(address _address) public view returns(string, string, string) { + UserInfo storage userInfo = users[_address]; + return (userInfo.name, userInfo.email, userInfo.ipfsData); } } diff --git a/contracts/paratii/Videos.sol b/contracts/paratii/Videos.sol index 61f9378..c63cdc5 100644 --- a/contracts/paratii/Videos.sol +++ b/contracts/paratii/Videos.sol @@ -1,50 +1,50 @@ pragma solidity ^0.4.18; import "zeppelin-solidity/contracts/ownership/Ownable.sol"; -import 'zeppelin-solidity/contracts/math/SafeMath.sol'; -import './Registry.sol'; +import "zeppelin-solidity/contracts/math/SafeMath.sol"; +import "./Registry.sol"; contract Videos is Ownable { struct VideoInfo { - bytes32 _id; - string ipfsHashOrig; // the hash of the original file on IPFS - string ipfsHash; // the hash of the streamable (transcoded) file on IPFS - string ipfsData; // optional addition data about this video, stored in IPFS - uint256 price; // price in PTI-wei - address owner; // the owner - address registrar; // the account that has registered this video and can update and delete the info + bytes32 _id; + string ipfsHashOrig; // the hash of the original file on IPFS + string ipfsHash; // the hash of the streamable (transcoded) file on IPFS + string ipfsData; // optional addition data about this video, stored in IPFS + uint256 price; // price in PTI-wei + address owner; // the owner + address registrar; // the account that has registered this video and can update and delete the info } mapping (bytes32=>VideoInfo) videos; Registry public paratiiRegistry; event LogCreateVideo( - string videoId, - address owner, - uint price, - string ipfsHashOrig, - string ipfsHash, - string ipfsData, - address registrar + string videoId, + address owner, + uint price, + string ipfsHashOrig, + string ipfsHash, + string ipfsData, + address registrar ); event LogRemoveVideo(string videoId); // ??? modifier onlyUserRegistry() { - require(msg.sender == paratiiRegistry.getContract('Users')); + require(msg.sender == paratiiRegistry.getContract("Users")); _; } modifier onlyRegistrarOrAvatar(string _videoId) { - bytes32 id = keccak256(_videoId); - VideoInfo storage videoInfo = videos[id]; - require(msg.sender == owner || (videoInfo.registrar == 0 || msg.sender == videoInfo.registrar)); - _; + bytes32 id = keccak256(_videoId); + VideoInfo storage videoInfo = videos[id]; + require(msg.sender == owner || (videoInfo.registrar == 0 || msg.sender == videoInfo.registrar)); + _; } - function Videos(Registry _paratiiRegistry) public { + constructor(Registry _paratiiRegistry) public { owner = msg.sender; paratiiRegistry = _paratiiRegistry; } @@ -78,15 +78,15 @@ contract Videos is Ownable { ipfsHash: _ipfsHash, ipfsData: _ipfsData, registrar: msg.sender - }); + }); - LogCreateVideo(_videoId, _owner, _price, _ipfsHashOrig, _ipfsHash, _ipfsData, msg.sender); + emit LogCreateVideo(_videoId, _owner, _price, _ipfsHashOrig, _ipfsHash, _ipfsData, msg.sender); } function remove(string _videoId) public onlyRegistrarOrAvatar(_videoId) { bytes32 id = keccak256(_videoId); delete videos[id]; - LogRemoveVideo(_videoId); + emit LogRemoveVideo(_videoId); } /** @@ -94,11 +94,13 @@ contract Videos is Ownable { * @return a tuple (owner, price, ipfsHashOrig, ipfsHash, ipfsData, registrar) */ - function get(string _videoId) public constant - returns(address, uint256, string, string, string, address) + function get(string _videoId) + public + view + returns(address, uint256, string, string, string, address) { - VideoInfo storage videoInfo = videos[keccak256(_videoId)]; - return (videoInfo.owner, videoInfo.price, videoInfo.ipfsHashOrig, videoInfo.ipfsHash, videoInfo.ipfsData, videoInfo.registrar); + VideoInfo storage videoInfo = videos[keccak256(_videoId)]; + return (videoInfo.owner, videoInfo.price, videoInfo.ipfsHashOrig, videoInfo.ipfsHash, videoInfo.ipfsData, videoInfo.registrar); } /* function likeVideo(string _videoId, bool changed_opinion) public onlyUserRegistry { @@ -119,7 +121,7 @@ contract Videos is Ownable { } } - function getStats(string _videoId) public constant returns (uint256, uint256, uint256) { + function getStats(string _videoId) public view returns (uint256, uint256, uint256) { VideoInfo storage videoInfo = videos[keccak256(_videoId)]; Stats storage stats = videoInfo.stats; return (stats.views, stats.likes, stats.dislikes); diff --git a/contracts/paratii/Views.sol b/contracts/paratii/Views.sol index 4858507..36a17a0 100644 --- a/contracts/paratii/Views.sol +++ b/contracts/paratii/Views.sol @@ -1,15 +1,15 @@ pragma solidity ^0.4.18; import "zeppelin-solidity/contracts/ownership/Ownable.sol"; -import './Registry.sol'; +import "./Registry.sol"; contract Views is Ownable { Registry public registry; struct Data { - bool _isRegistered; - string _ipfsData; + bool _isRegistered; + string _ipfsData; } // mapping from user addrsses and video ids to booleans @@ -19,31 +19,31 @@ contract Views is Ownable { event LogRemoveView(address _address, string _videoId); modifier onlyOwnerOrAvatar() { - require((msg.sender == owner) || (msg.sender == registry.getContract('Avatar'))); + require((msg.sender == owner) || (msg.sender == registry.getContract("Avatar"))); _; } - function Views(Registry _registry) public { + constructor(Registry _registry) public { owner = msg.sender; registry = _registry; } function create(address _viewer, string _videoId, string _ipfsData) public onlyOwnerOrAvatar { - _views[_viewer][keccak256(_videoId)] = Data(true, _ipfsData); - LogCreateView(_viewer, _videoId, _ipfsData); + _views[_viewer][keccak256(_videoId)] = Data(true, _ipfsData); + emit LogCreateView(_viewer, _videoId, _ipfsData); } function remove(address _viewer, string _videoId) public onlyOwnerOrAvatar { - delete _views[_viewer][keccak256(_videoId)]; - LogRemoveView(_viewer, _videoId); + delete _views[_viewer][keccak256(_videoId)]; + emit LogRemoveView(_viewer, _videoId); } - function get(address _viewer, string _videoId) public constant onlyOwnerOrAvatar returns(bool, string) { - Data data = _views[_viewer][keccak256(_videoId)]; - return (data._isRegistered, data._ipfsData); + function get(address _viewer, string _videoId) public view onlyOwnerOrAvatar returns(bool, string) { + Data data = _views[_viewer][keccak256(_videoId)]; + return (data._isRegistered, data._ipfsData); } - function userViewedVideo(address _viewer, string _videoId) public constant returns(bool) { - return _views[_viewer][keccak256(_videoId)]._isRegistered; + function userViewedVideo(address _viewer, string _videoId) public view returns(bool) { + return _views[_viewer][keccak256(_videoId)]._isRegistered; } } diff --git a/contracts/paratii/Vouchers.sol b/contracts/paratii/Vouchers.sol index f9d6382..b901927 100644 --- a/contracts/paratii/Vouchers.sol +++ b/contracts/paratii/Vouchers.sol @@ -1,16 +1,16 @@ pragma solidity ^0.4.18; import "zeppelin-solidity/contracts/ownership/Ownable.sol"; -import './ParatiiToken.sol'; -import './Registry.sol'; +import "./ParatiiToken.sol"; +import "./Registry.sol"; contract Vouchers is Ownable { Registry public registry; struct Data { - address _claimant; - uint _amount; + address _claimant; + uint _amount; } mapping (bytes32 => Data) public vouchers; @@ -20,11 +20,11 @@ contract Vouchers is Ownable { event LogRedeemVoucher(bytes32 _hashedVoucher, string _voucher, uint _amount, address _claimant); modifier onlyOwnerOrAvatar() { - require((msg.sender == owner) || (msg.sender == registry.getContract('Avatar'))); + require((msg.sender == owner) || (msg.sender == registry.getContract("Avatar"))); _; } - function Vouchers(Registry _registry) public { + constructor(Registry _registry) public { owner = msg.sender; registry = _registry; } @@ -35,17 +35,17 @@ contract Vouchers is Ownable { function create(bytes32 _hashedVoucher, uint _amount) public onlyOwnerOrAvatar { require(_amount > 0); vouchers[_hashedVoucher] = Data(address(0), _amount); - LogCreateVoucher(_hashedVoucher, _amount); + emit LogCreateVoucher(_hashedVoucher, _amount); } function remove(bytes32 _hashedVoucher) public onlyOwnerOrAvatar { - delete vouchers[_hashedVoucher]; - LogRemoveVoucher(_hashedVoucher); + delete vouchers[_hashedVoucher]; + emit LogRemoveVoucher(_hashedVoucher); } - /* A convenience function that hashes teh voucher, to be call'ed locally */ + /* A convenience function that hashes teh voucher, to be call"ed locally */ function hashVoucher(string _voucher) public pure returns(bytes32 _hashedVoucher) { - return keccak256(_voucher); + return keccak256(_voucher); } /* @@ -62,8 +62,8 @@ contract Vouchers is Ownable { // invalidate the voucher, and send the money to the sender vouchers[hashedVoucher]._claimant = msg.sender; // get the pti token contract from the registry - ParatiiToken token = ParatiiToken(registry.getContract('ParatiiToken')); + ParatiiToken token = ParatiiToken(registry.getContract("ParatiiToken")); token.transfer(msg.sender, voucher._amount); - LogRedeemVoucher(hashedVoucher, _voucher, voucher._amount, msg.sender); + emit LogRedeemVoucher(hashedVoucher, _voucher, voucher._amount, msg.sender); } } diff --git a/package-lock.json b/package-lock.json index 43b10ba..4409bbb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1530,16 +1530,6 @@ } } }, - "cli": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/cli/-/cli-0.11.3.tgz", - "integrity": "sha1-ewzT3pkORSklZnwNuv/cn38qmhU=", - "dev": true, - "requires": { - "exit": "0.1.2", - "glob": "7.1.2" - } - }, "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", @@ -2892,12 +2882,6 @@ } } }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true - }, "exit-hook": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", @@ -3531,11 +3515,11 @@ "dev": true }, "for-each": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.2.tgz", - "integrity": "sha1-LEBFC5NI6X8oEyJZO6lnBLmr1NQ=", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "requires": { - "is-function": "1.0.1" + "is-callable": "1.1.3" } }, "for-in": { @@ -3930,12 +3914,6 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", - "dev": true - }, "grouped-queue": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/grouped-queue/-/grouped-queue-0.3.3.tgz", @@ -3945,12 +3923,6 @@ "lodash": "4.17.10" } }, - "growl": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", - "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=", - "dev": true - }, "gunzip-maybe": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/gunzip-maybe/-/gunzip-maybe-1.4.1.tgz", @@ -4380,8 +4352,7 @@ "is-callable": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", - "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", - "dev": true + "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=" }, "is-ci": { "version": "1.1.0", @@ -4848,12 +4819,6 @@ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, - "json3": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", - "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", - "dev": true - }, "json5": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", @@ -5170,40 +5135,6 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" }, - "lodash._baseassign": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", - "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", - "dev": true, - "requires": { - "lodash._basecopy": "3.0.1", - "lodash.keys": "3.1.2" - } - }, - "lodash._basecopy": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", - "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", - "dev": true - }, - "lodash._basecreate": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz", - "integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=", - "dev": true - }, - "lodash._getnative": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", - "dev": true - }, - "lodash._isiterateecall": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", - "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", - "dev": true - }, "lodash.assign": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", @@ -5216,40 +5147,6 @@ "integrity": "sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=", "dev": true }, - "lodash.create": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz", - "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=", - "dev": true, - "requires": { - "lodash._baseassign": "3.2.0", - "lodash._basecreate": "3.0.3", - "lodash._isiterateecall": "3.0.9" - } - }, - "lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", - "dev": true - }, - "lodash.isarray": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", - "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", - "dev": true - }, - "lodash.keys": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", - "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", - "dev": true, - "requires": { - "lodash._getnative": "3.9.1", - "lodash.isarguments": "3.1.0", - "lodash.isarray": "3.0.4" - } - }, "lodash.toarray": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", @@ -5630,81 +5527,6 @@ "minimist": "0.0.8" } }, - "mocha": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.5.3.tgz", - "integrity": "sha512-/6na001MJWEtYxHOV1WLfsmR4YIynkUEhBwzsb+fk2qmQ3iqsi258l/Q2MWHJMImAcNpZ8DEdYAK72NHoIQ9Eg==", - "dev": true, - "requires": { - "browser-stdout": "1.3.0", - "commander": "2.9.0", - "debug": "2.6.8", - "diff": "3.2.0", - "escape-string-regexp": "1.0.5", - "glob": "7.1.1", - "growl": "1.9.2", - "he": "1.1.1", - "json3": "3.3.2", - "lodash.create": "3.1.1", - "mkdirp": "0.5.1", - "supports-color": "3.1.2" - }, - "dependencies": { - "commander": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", - "dev": true, - "requires": { - "graceful-readlink": "1.0.1" - } - }, - "debug": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "diff": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz", - "integrity": "sha1-yc45Okt8vQsFinJck98pkCeGj/k=", - "dev": true - }, - "glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", - "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "supports-color": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", - "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", - "dev": true, - "requires": { - "has-flag": "1.0.0" - } - } - } - }, "moment": { "version": "2.22.1", "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.1.tgz", @@ -6081,11 +5903,6 @@ "mimic-fn": "1.2.0" } }, - "zeppelin-solidity": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/zeppelin-solidity/-/zeppelin-solidity-1.9.0.tgz", - "integrity": "sha512-MGI8clDbjrfWUg90AM82O+CHOaabtE2u9HyaUhBMKfWdIaO1urRUIgXIrEuloLvFEBHb5rtcgTARb5DkhUB4KQ==" - }, "optionator": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", @@ -6282,7 +6099,7 @@ "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.1.tgz", "integrity": "sha1-aug6eqJanZtwCswoaYzR8e1+lTY=", "requires": { - "for-each": "0.3.2", + "for-each": "0.3.3", "trim": "0.0.1" } }, @@ -7813,18 +7630,6 @@ } } }, - "solc-cli": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/solc-cli/-/solc-cli-0.3.0.tgz", - "integrity": "sha1-1Xqpn7djSIa9tDFetlh0BDlhPQ8=", - "dev": true, - "requires": { - "babel-polyfill": "6.26.0", - "cli": "0.11.3", - "glob": "7.1.2", - "mkdirp": "0.5.1" - } - }, "sort-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", @@ -8021,6 +7826,14 @@ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "5.1.2" + } + }, "string-template": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", @@ -8054,14 +7867,6 @@ } } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "5.1.2" - } - }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -8315,190 +8120,74 @@ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" }, "truffle": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/truffle/-/truffle-4.1.8.tgz", - "integrity": "sha512-btDML3J9Ao+UDqR725ajTybcEqyXzxFzJDC/NAXOyOXoXf2HJwKq6VEvnjP9qc6owA+fJ50d87MmsPRXk+riCg==", + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/truffle/-/truffle-4.1.12.tgz", + "integrity": "sha1-9F9LbBzhWGX817v19jNA9eFuKVA=", "dev": true, "requires": { - "mocha": "3.5.3", + "mocha": "4.1.0", "original-require": "1.0.1", - "solc": "0.4.23" + "solc": "0.4.24" }, "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "commander": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", "dev": true }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" - } - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "requires": { - "lcid": "1.0.0" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "1.3.1" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "2.0.1" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "ms": "2.0.0" } }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "diff": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", + "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==", "dev": true }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" - } - }, - "solc": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.23.tgz", - "integrity": "sha512-AT7anLHY6uIRg2It6N0UlCHeZ7YeecIkUhnlirrCgCPCUevtnoN48BxvgigN/4jJTRljv5oFhAJtI6gvHzT5DQ==", - "dev": true, - "requires": { - "fs-extra": "0.30.0", - "memorystream": "0.3.1", - "require-from-string": "1.2.1", - "semver": "5.5.0", - "yargs": "4.8.1" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } + "growl": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz", + "integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==", + "dev": true }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", "dev": true }, - "yargs": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", - "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", + "mocha": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-4.1.0.tgz", + "integrity": "sha512-0RVnjg1HJsXY2YFDoTNzcc1NKhYuXKRrBAG2gDygmJJA136Cs2QlRliZG1mA0ap7cuaT30mw16luAeln+4RiNA==", "dev": true, "requires": { - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "lodash.assign": "4.2.0", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "window-size": "0.2.0", - "y18n": "3.2.1", - "yargs-parser": "2.4.1" + "browser-stdout": "1.3.0", + "commander": "2.11.0", + "debug": "3.1.0", + "diff": "3.3.1", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.3", + "he": "1.1.1", + "mkdirp": "0.5.1", + "supports-color": "4.4.0" } }, - "yargs-parser": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", - "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", + "supports-color": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", "dev": true, "requires": { - "camelcase": "3.0.0", - "lodash.assign": "4.2.0" + "has-flag": "2.0.0" } } } @@ -8824,9 +8513,9 @@ "integrity": "sha1-vek+K4jEMWc/JdgSmCIaHsKxqe8=" }, "web3-utils": { - "version": "1.0.0-beta.34", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.34.tgz", - "integrity": "sha1-lBH8OarvOcpOBhafdiKX2f8CCXA=", + "version": "1.0.0-beta.33", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.33.tgz", + "integrity": "sha1-4JG3mU8JtxSwGYpAV9OtLrjL4jg=", "requires": { "bn.js": "4.11.6", "eth-lib": "0.1.27", @@ -9490,6 +9179,11 @@ } } } + }, + "zeppelin-solidity": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/zeppelin-solidity/-/zeppelin-solidity-1.3.0.tgz", + "integrity": "sha512-q+WyqvQjE5gpKgXrhD8LBh0Njg7GI/zs4lKX14y0j7ISJIxe68hihSjaMU05V0M0qAbxgRC43AFTt7CxNsO8nQ==" } } } diff --git a/package.json b/package.json index 49ab3f4..5a5f16d 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "pm2": "^1.1.3", "pre-commit": "^1.2.2", "standard": "^10.0.3", - "truffle": "4.1.6", + "truffle": "4.1.12", "yarn": "^0.27" }, "repository": {