@oceanprotocol/keeper-contracts
Version:
Integration of SEAs, DID and OceanToken in Solidity
538 lines (537 loc) • 21.4 kB
JSON
{
"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"
}