UNPKG

@oceanprotocol/keeper-contracts

Version:

Integration of SEAs, DID and OceanToken in Solidity

538 lines (537 loc) 21.4 kB
{ "name": "OceanToken", "abi": [ { "constant": true, "inputs": [], "name": "name", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x06fdde03" }, { "constant": false, "inputs": [ { "name": "spender", "type": "address" }, { "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", "signature": "0x095ea7b3" }, { "constant": true, "inputs": [], "name": "totalSupply", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x18160ddd" }, { "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", "signature": "0x23b872dd" }, { "constant": true, "inputs": [], "name": "decimals", "outputs": [ { "name": "", "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x313ce567" }, { "constant": true, "inputs": [], "name": "cap", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x355274ea" }, { "constant": false, "inputs": [ { "name": "spender", "type": "address" }, { "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", "signature": "0x39509351" }, { "constant": false, "inputs": [ { "name": "to", "type": "address" }, { "name": "value", "type": "uint256" } ], "name": "mint", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", "signature": "0x40c10f19" }, { "constant": true, "inputs": [ { "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x70a08231" }, { "constant": false, "inputs": [], "name": "renounceOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "signature": "0x715018a6" }, { "constant": true, "inputs": [], "name": "owner", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x8da5cb5b" }, { "constant": true, "inputs": [], "name": "isOwner", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x8f32d59b" }, { "constant": true, "inputs": [], "name": "symbol", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x95d89b41" }, { "constant": false, "inputs": [ { "name": "account", "type": "address" } ], "name": "addMinter", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "signature": "0x983b2d56" }, { "constant": false, "inputs": [], "name": "renounceMinter", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "signature": "0x98650275" }, { "constant": false, "inputs": [ { "name": "spender", "type": "address" }, { "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", "signature": "0xa457c2d7" }, { "constant": false, "inputs": [ { "name": "to", "type": "address" }, { "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", "signature": "0xa9059cbb" }, { "constant": true, "inputs": [ { "name": "account", "type": "address" } ], "name": "isMinter", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0xaa271e1a" }, { "constant": true, "inputs": [ { "name": "owner", "type": "address" }, { "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0xdd62ed3e" }, { "constant": false, "inputs": [ { "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "signature": "0xf2fde38b" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "account", "type": "address" } ], "name": "MinterAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "account", "type": "address" } ], "name": "MinterRemoved", "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" }, { "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": "previousOwner", "type": "address" }, { "indexed": true, "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "constant": false, "inputs": [ { "name": "name", "type": "string" }, { "name": "symbol", "type": "string" }, { "name": "decimals", "type": "uint8" } ], "name": "initialize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "signature": "0x1624f6c6" }, { "constant": false, "inputs": [ { "name": "_owner", "type": "address" }, { "name": "_initialMinter", "type": "address" } ], "name": "initialize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "signature": "0x485cc955" }, { "constant": false, "inputs": [ { "name": "sender", "type": "address" } ], "name": "initialize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "signature": "0xc4d66de8" }, { "constant": false, "inputs": [ { "name": "cap", "type": "uint256" }, { "name": "sender", "type": "address" } ], "name": "initialize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "signature": "0xda35a26f" } ], "bytecode": "0x608060405234801561001057600080fd5b506114db806100206000396000f3fe608060405234801561001057600080fd5b5060043610610175576000357c0100000000000000000000000000000000000000000000000000000000900480638da5cb5b116100e0578063a9059cbb11610099578063a9059cbb14610523578063aa271e1a1461054f578063c4d66de814610575578063da35a26f1461059b578063dd62ed3e146105c7578063f2fde38b146105f557610175565b80638da5cb5b146104955780638f32d59b146104b957806395d89b41146104c1578063983b2d56146104c957806398650275146104ef578063a457c2d7146104f757610175565b8063355274ea11610132578063355274ea146103d957806339509351146103e157806340c10f191461040d578063485cc9551461043957806370a0823114610467578063715018a61461048d57610175565b806306fdde031461017a578063095ea7b3146101f75780631624f6c61461023757806318160ddd1461036b57806323b872dd14610385578063313ce567146103bb575b600080fd5b61018261061b565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101bc5781810151838201526020016101a4565b50505050905090810190601f1680156101e95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102236004803603604081101561020d57600080fd5b50600160a060020a0381351690602001356106b2565b604080519115158252519081900360200190f35b6103696004803603606081101561024d57600080fd5b81019060208101813564010000000081111561026857600080fd5b82018360208201111561027a57600080fd5b8035906020019184600183028401116401000000008311171561029c57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156102ef57600080fd5b82018360208201111561030157600080fd5b8035906020019184600183028401116401000000008311171561032357600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050903560ff16915061072f9050565b005b61037361080e565b60408051918252519081900360200190f35b6102236004803603606081101561039b57600080fd5b50600160a060020a03813581169160208101359091169060400135610814565b6103c36108dd565b6040805160ff9092168252519081900360200190f35b6103736108e6565b610223600480360360408110156103f757600080fd5b50600160a060020a0381351690602001356108ed565b6102236004803603604081101561042357600080fd5b50600160a060020a03813516906020013561099b565b6103696004803603604081101561044f57600080fd5b50600160a060020a03813581169160200135166109c2565b6103736004803603602081101561047d57600080fd5b5035600160a060020a0316610b1e565b610369610b39565b61049d610ba1565b60408051600160a060020a039092168252519081900360200190f35b610223610bb0565b610182610bc1565b610369600480360360208110156104df57600080fd5b5035600160a060020a0316610c22565b610369610c40565b6102236004803603604081101561050d57600080fd5b50600160a060020a038135169060200135610c4b565b6102236004803603604081101561053957600080fd5b50600160a060020a038135169060200135610c94565b6102236004803603602081101561056557600080fd5b5035600160a060020a0316610ca1565b6103696004803603602081101561058b57600080fd5b5035600160a060020a0316610cb4565b610369600480360360408110156105b157600080fd5b5080359060200135600160a060020a0316610d63565b610373600480360360408110156105dd57600080fd5b50600160a060020a0381358116916020013516610e25565b6103696004803603602081101561060b57600080fd5b5035600160a060020a0316610e50565b60668054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106a75780601f1061067c576101008083540402835291602001916106a7565b820191906000526020600020905b81548152906001019060200180831161068a57829003601f168201915b505050505090505b90565b6000600160a060020a0383166106c757600080fd5b336000818152609c60209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b600054610100900460ff16806107485750610748610e6a565b80610756575060005460ff16155b6107945760405160e560020a62461bcd02815260040180806020018281038252602e815260200180611482602e913960400191505060405180910390fd5b600054610100900460ff161580156107bf576000805460ff1961ff0019909116610100171660011790555b83516107d29060669060208701906113e9565b5082516107e69060679060208601906113e9565b506068805460ff191660ff84161790558015610808576000805461ff00191690555b50505050565b609d5490565b600160a060020a0383166000908152609c60209081526040808320338452909152812054610848908363ffffffff610e7016565b600160a060020a0385166000908152609c60209081526040808320338452909152902055610877848484610e85565b600160a060020a0384166000818152609c60209081526040808320338085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b60685460ff1690565b6101355490565b6000600160a060020a03831661090257600080fd5b336000908152609c60209081526040808320600160a060020a0387168452909152902054610936908363ffffffff610f5216565b336000818152609c60209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b60006109a633610ca1565b6109af57600080fd5b6109b98383610f6b565b50600192915050565b600054610100900460ff16806109db57506109db610e6a565b806109e9575060005460ff16155b610a275760405160e560020a62461bcd02815260040180806020018281038252602e815260200180611482602e913960400191505060405180910390fd5b600054610100900460ff16158015610a52576000805460ff1961ff0019909116610100171660011790555b63540ae4806000610a7182670de0b6b3a764000063ffffffff610f9c16565b9050610ae96040518060400160405280600a81526020017f4f6365616e546f6b656e000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f4f4345414e000000000000000000000000000000000000000000000000000000815250601261072f565b610af38186610d63565b610afc85610fc3565b610b05846110c4565b50508015610b19576000805461ff00191690555b505050565b600160a060020a03166000908152609b602052604090205490565b610b41610bb0565b610b4a57600080fd5b603354604051600091600160a060020a0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36033805473ffffffffffffffffffffffffffffffffffffffff19169055565b603354600160a060020a031690565b603354600160a060020a0316331490565b60678054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106a75780601f1061067c576101008083540402835291602001916106a7565b610c2b33610ca1565b610c3457600080fd5b610c3d816110c4565b50565b610c493361110c565b565b6000600160a060020a038316610c6057600080fd5b336000908152609c60209081526040808320600160a060020a0387168452909152902054610936908363ffffffff610e7016565b60006109b9338484610e85565b600061072960d08363ffffffff61115416565b600054610100900460ff1680610ccd5750610ccd610e6a565b80610cdb575060005460ff16155b610d195760405160e560020a62461bcd02815260040180806020018281038252602e815260200180611482602e913960400191505060405180910390fd5b600054610100900460ff16158015610d44576000805460ff1961ff0019909116610100171660011790555b610d4d82611189565b8015610d5f576000805461ff00191690555b5050565b600054610100900460ff1680610d7c5750610d7c610e6a565b80610d8a575060005460ff16155b610dc85760405160e560020a62461bcd02815260040180806020018281038252602e815260200180611482602e913960400191505060405180910390fd5b600054610100900460ff16158015610df3576000805460ff1961ff0019909116610100171660011790555b610dfc82610cb4565b60008311610e0957600080fd5b6101358390558015610b19576000805461ff0019169055505050565b600160a060020a039182166000908152609c6020908152604080832093909416825291909152205490565b610e58610bb0565b610e6157600080fd5b610c3d8161122f565b303b1590565b600082821115610e7f57600080fd5b50900390565b600160a060020a038216610e9857600080fd5b600160a060020a0383166000908152609b6020526040902054610ec1908263ffffffff610e7016565b600160a060020a038085166000908152609b60205260408082209390935590841681522054610ef6908263ffffffff610f5216565b600160a060020a038084166000818152609b602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082820183811015610f6457600080fd5b9392505050565b61013554610f8782610f7b61080e565b9063ffffffff610f5216565b1115610f9257600080fd5b610d5f82826112ab565b600082610fab57506000610729565b82820282848281610fb857fe5b0414610f6457600080fd5b600054610100900460ff1680610fdc5750610fdc610e6a565b80610fea575060005460ff16155b6110285760405160e560020a62461bcd02815260040180806020018281038252602e815260200180611482602e913960400191505060405180910390fd5b600054610100900460ff16158015611053576000805460ff1961ff0019909116610100171660011790555b6033805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a38015610d5f576000805461ff00191690555050565b6110d560d08263ffffffff61135516565b604051600160a060020a038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b61111d60d08263ffffffff6113a116565b604051600160a060020a038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b6000600160a060020a03821661116957600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b600054610100900460ff16806111a257506111a2610e6a565b806111b0575060005460ff16155b6111ee5760405160e560020a62461bcd02815260040180806020018281038252602e815260200180611482602e913960400191505060405180910390fd5b600054610100900460ff16158015611219576000805460ff1961ff0019909116610100171660011790555b61122282610ca1565b610d4d57610d4d826110c4565b600160a060020a03811661124257600080fd5b603354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36033805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a0382166112be57600080fd5b609d546112d1908263ffffffff610f5216565b609d55600160a060020a0382166000908152609b60205260409020546112fd908263ffffffff610f5216565b600160a060020a0383166000818152609b602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600160a060020a03811661136857600080fd5b6113728282611154565b1561137c57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a0381166113b457600080fd5b6113be8282611154565b6113c757600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061142a57805160ff1916838001178555611457565b82800160010185558215611457579182015b8281111561145757825182559160200191906001019061143c565b50611463929150611467565b5090565b6106af91905b80821115611463576000815560010161146d56fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a165627a7a7230582023fb2815f01704b09ddd0f6887d45ab72ec7e9ad54f8dc392ac4156dc27539ba0029", "address": "0xB57C4D626548eB8AC0B82b086721516493E2908d", "implementation": "0xC702aF592D2C0719F27a488943E7Eac9475FF0B2", "version": "v0.10.3" }