@oceanprotocol/keeper-contracts
Version:
Integration of SEAs, DID and OceanToken in Solidity
413 lines (412 loc) • 22.9 kB
JSON
{
"name": "AgreementStoreManager",
"abi": [
{
"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": false,
"inputs": [
{
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function",
"signature": "0xf2fde38b"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "agreementId",
"type": "bytes32"
},
{
"indexed": true,
"name": "did",
"type": "bytes32"
},
{
"indexed": true,
"name": "createdBy",
"type": "address"
},
{
"indexed": false,
"name": "createdAt",
"type": "uint256"
}
],
"name": "AgreementCreated",
"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": "_owner",
"type": "address"
},
{
"name": "_conditionStoreManagerAddress",
"type": "address"
},
{
"name": "_templateStoreManagerAddress",
"type": "address"
},
{
"name": "_didRegistryAddress",
"type": "address"
}
],
"name": "initialize",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function",
"signature": "0xf8c8765e"
},
{
"constant": false,
"inputs": [
{
"name": "sender",
"type": "address"
}
],
"name": "initialize",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function",
"signature": "0xc4d66de8"
},
{
"constant": false,
"inputs": [
{
"name": "_id",
"type": "bytes32"
},
{
"name": "_did",
"type": "bytes32"
},
{
"name": "_conditionTypes",
"type": "address[]"
},
{
"name": "_conditionIds",
"type": "bytes32[]"
},
{
"name": "_timeLocks",
"type": "uint256[]"
},
{
"name": "_timeOuts",
"type": "uint256[]"
}
],
"name": "createAgreement",
"outputs": [
{
"name": "size",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function",
"signature": "0x955d0c2a"
},
{
"constant": false,
"inputs": [
{
"name": "_id",
"type": "bytes32"
},
{
"name": "_did",
"type": "bytes32"
},
{
"name": "_templateId",
"type": "bytes32"
},
{
"name": "_conditionIds",
"type": "bytes32[]"
},
{
"name": "_timeLocks",
"type": "uint256[]"
},
{
"name": "_timeOuts",
"type": "uint256[]"
},
{
"name": "_actors",
"type": "address[]"
}
],
"name": "createAgreement",
"outputs": [
{
"name": "size",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function",
"signature": "0x8ded3b30"
},
{
"constant": true,
"inputs": [
{
"name": "_id",
"type": "bytes32"
}
],
"name": "getAgreement",
"outputs": [
{
"name": "did",
"type": "bytes32"
},
{
"name": "didOwner",
"type": "address"
},
{
"name": "templateId",
"type": "bytes32"
},
{
"name": "conditionIds",
"type": "bytes32[]"
},
{
"name": "lastUpdatedBy",
"type": "address"
},
{
"name": "blockNumberUpdated",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function",
"signature": "0xf42eb765"
},
{
"constant": true,
"inputs": [
{
"name": "_id",
"type": "bytes32"
}
],
"name": "getAgreementDIDOwner",
"outputs": [
{
"name": "didOwner",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function",
"signature": "0x17cfbf5e"
},
{
"constant": true,
"inputs": [
{
"name": "_id",
"type": "bytes32"
},
{
"name": "_owner",
"type": "address"
}
],
"name": "isAgreementDIDOwner",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function",
"signature": "0xd1c1db39"
},
{
"constant": true,
"inputs": [
{
"name": "_id",
"type": "bytes32"
},
{
"name": "_provider",
"type": "address"
}
],
"name": "isAgreementDIDProvider",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function",
"signature": "0xcaf92b8b"
},
{
"constant": true,
"inputs": [],
"name": "getAgreementListSize",
"outputs": [
{
"name": "size",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function",
"signature": "0x8a9013cb"
},
{
"constant": true,
"inputs": [
{
"name": "_did",
"type": "bytes32"
}
],
"name": "getAgreementIdsForDID",
"outputs": [
{
"name": "",
"type": "bytes32[]"
}
],
"payable": false,
"stateMutability": "view",
"type": "function",
"signature": "0x8945226e"
},
{
"constant": true,
"inputs": [
{
"name": "_templateId",
"type": "bytes32"
}
],
"name": "getAgreementIdsForTemplateId",
"outputs": [
{
"name": "",
"type": "bytes32[]"
}
],
"payable": false,
"stateMutability": "view",
"type": "function",
"signature": "0x3387c4b5"
},
{
"constant": true,
"inputs": [],
"name": "getDIDRegistryAddress",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function",
"signature": "0x579e6e3f"
}
],
"bytecode": "0x608060405234801561001057600080fd5b50611c4d806100206000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638f32d59b11610097578063d1c1db3911610066578063d1c1db39146106d7578063f2fde38b14610703578063f42eb76514610729578063f8c8765e146107e157610100565b80638f32d59b14610436578063955d0c2a14610452578063c4d66de814610685578063caf92b8b146106ab57610100565b80638945226e116100d35780638945226e146101bd5780638a9013cb146101da5780638da5cb5b146101f45780638ded3b30146101fc57610100565b806317cfbf5e146101055780633387c4b51461013e578063579e6e3f146101ab578063715018a6146101b3575b600080fd5b6101226004803603602081101561011b57600080fd5b503561081f565b604080516001600160a01b039092168252519081900360200190f35b61015b6004803603602081101561015457600080fd5b50356108ae565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561019757818101518382015260200161017f565b505050509050019250505060405180910390f35b61012261092a565b6101bb61093a565b005b61015b600480360360208110156101d357600080fd5b5035610995565b6101e26109f7565b60408051918252519081900360200190f35b6101226109fd565b6101e2600480360360e081101561021257600080fd5b81359160208101359160408201359190810190608081016060820135600160201b81111561023f57600080fd5b82018360208201111561025157600080fd5b803590602001918460208302840111600160201b8311171561027257600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156102c157600080fd5b8201836020820111156102d357600080fd5b803590602001918460208302840111600160201b831117156102f457600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561034357600080fd5b82018360208201111561035557600080fd5b803590602001918460208302840111600160201b8311171561037657600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156103c557600080fd5b8201836020820111156103d757600080fd5b803590602001918460208302840111600160201b831117156103f857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610a0c945050505050565b61043e610f2f565b604080519115158252519081900360200190f35b6101e2600480360360c081101561046857600080fd5b813591602081013591810190606081016040820135600160201b81111561048e57600080fd5b8201836020820111156104a057600080fd5b803590602001918460208302840111600160201b831117156104c157600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561051057600080fd5b82018360208201111561052257600080fd5b803590602001918460208302840111600160201b8311171561054357600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561059257600080fd5b8201836020820111156105a457600080fd5b803590602001918460208302840111600160201b831117156105c557600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561061457600080fd5b82018360208201111561062657600080fd5b803590602001918460208302840111600160201b8311171561064757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610f40945050505050565b6101bb6004803603602081101561069b57600080fd5b50356001600160a01b03166112b5565b61043e600480360360408110156106c157600080fd5b50803590602001356001600160a01b03166113aa565b61043e600480360360408110156106ed57600080fd5b50803590602001356001600160a01b0316611442565b6101bb6004803603602081101561071957600080fd5b50356001600160a01b03166114e1565b6107466004803603602081101561073f57600080fd5b50356114fe565b60405180878152602001866001600160a01b03166001600160a01b0316815260200185815260200180602001846001600160a01b03166001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b838110156107c85781810151838201526020016107b0565b5050505090500197505050505050505060405180910390f35b6101bb600480360360808110156107f757600080fd5b506001600160a01b03813581169160208101358216916040820135811691606001351661164b565b600081815260666020908152604080832054606c548251600160e21b631b0bbd4902815260048101839052925191936001600160a01b0390911692636c2ef5249260248083019392829003018186803b15801561087b57600080fd5b505afa15801561088f573d6000803e3d6000fd5b505050506040513d60208110156108a557600080fd5b50519392505050565b606060006108bb836117d6565b6001600160a01b038116600090815260686020908152604091829020805483518184028101840190945280845293945091929083018282801561091d57602002820191906000526020600020905b815481526020019060010190808311610909575b5050505050915050919050565b606c546001600160a01b03165b90565b610942610f2f565b61094b57600080fd5b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319169055565b6000818152606760209081526040918290208054835181840281018401909452808452606093928301828280156109eb57602002820191906000526020600020905b8154815260200190600101908083116109d7575b50505050509050919050565b60695490565b6033546001600160a01b031690565b606b5460408051600160e21b6315007f210281526004810188905290516000926001600160a01b031691635401fc84916024808301926020929190829003018186803b158015610a5b57600080fd5b505afa158015610a6f573d6000803e3d6000fd5b505050506040513d6020811015610a8557600080fd5b50511515600114610ae05760408051600160e51b62461bcd02815260206004820152601560248201527f54656d706c617465206e6f7420417070726f7665640000000000000000000000604482015290519081900360640190fd5b606c5460408051600160e11b635de0ef6f028152600481018a905290516000926001600160a01b03169163bbc1dede916024808301926020929190829003018186803b158015610b2f57600080fd5b505afa158015610b43573d6000803e3d6000fd5b505050506040513d6020811015610b5957600080fd5b505111610ba85760408051600160e51b62461bcd0281526020600482015260126024820152600160721b71111251081b9bdd081c9959da5cdd195c995902604482015290519081900360640190fd5b606b5460408051600160e01b639757739b02815260048101899052905160609283926001600160a01b0390911691639757739b91602480820192600092909190829003018186803b158015610bfc57600080fd5b505afa158015610c10573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260c0811015610c3957600080fd5b815160208301516040840151606085015160808601805194969395929491939283019291600160201b811115610c6e57600080fd5b82016020810184811115610c8157600080fd5b81518560208202830111600160201b82111715610c9d57600080fd5b50509291906020018051600160201b811115610cb857600080fd5b82016020810184811115610ccb57600080fd5b81518560208202830111600160201b82111715610ce757600080fd5b5050929190505050909192939450909192935090919250909150809250819350505081518751148015610d1b575081518651145b8015610d28575081518551145b8015610d35575080518451145b610d895760408051600160e51b62461bcd02815260206004820152601b60248201527f417267756d656e747320686176652077726f6e67206c656e6774680000000000604482015290519081900360640190fd5b60005b8251811015610e8d57606a5488516001600160a01b039091169063fe3ae90f908a9084908110610db857fe5b6020026020010151858481518110610dcc57fe5b60200260200101518a8581518110610de057fe5b60200260200101518a8681518110610df457fe5b60200260200101516040518563ffffffff1660e01b815260040180858152602001846001600160a01b03166001600160a01b03168152602001838152602001828152602001945050505050602060405180830381600087803b158015610e5957600080fd5b505af1158015610e6d573d6000803e3d6000fd5b505050506040513d6020811015610e8357600080fd5b5050600101610d8c565b506000610e99896117d6565b6001600160a01b0381166000908152606e602052604090208a90559050610eca60668c8c848c63ffffffff61187c16565b50610ede606d8c878563ffffffff6119ef16565b60408051438152905133918c918e917f2b5b2a0bba109d66e716c66ab0737b054eaf5cf4786c8d794647840a4a3c6db6919081900360200190a4610f206109f7565b9b9a5050505050505050505050565b6033546001600160a01b0316331490565b606b5460408051600160e01b63b727a25502815233600482015290516000926001600160a01b03169163b727a255916024808301926020929190829003018186803b158015610f8e57600080fd5b505afa158015610fa2573d6000803e3d6000fd5b505050506040513d6020811015610fb857600080fd5b505115156001146110135760408051600160e51b62461bcd02815260206004820152601560248201527f54656d706c617465206e6f7420417070726f7665640000000000000000000000604482015290519081900360640190fd5b606c5460408051600160e11b635de0ef6f0281526004810189905290516000926001600160a01b03169163bbc1dede916024808301926020929190829003018186803b15801561106257600080fd5b505afa158015611076573d6000803e3d6000fd5b505050506040513d602081101561108c57600080fd5b5051116110db5760408051600160e51b62461bcd0281526020600482015260126024820152600160721b71111251081b9bdd081c9959da5cdd195c995902604482015290519081900360640190fd5b845184511480156110ed575084518351145b80156110fa575084518251145b61114e5760408051600160e51b62461bcd02815260206004820152601b60248201527f417267756d656e747320686176652077726f6e67206c656e6774680000000000604482015290519081900360640190fd5b60005b855181101561125257606a5485516001600160a01b039091169063fe3ae90f9087908490811061117d57fe5b602002602001015188848151811061119157fe5b60200260200101518785815181106111a557fe5b60200260200101518786815181106111b957fe5b60200260200101516040518563ffffffff1660e01b815260040180858152602001846001600160a01b03166001600160a01b03168152602001838152602001828152602001945050505050602060405180830381600087803b15801561121e57600080fd5b505af1158015611232573d6000803e3d6000fd5b505050506040513d602081101561124857600080fd5b5050600101611151565b5061126760668888338863ffffffff61187c16565b50604080514381529051339188918a917f2b5b2a0bba109d66e716c66ab0737b054eaf5cf4786c8d794647840a4a3c6db6919081900360200190a46112aa6109f7565b979650505050505050565b600054610100900460ff16806112ce57506112ce611af3565b806112dc575060005460ff16155b61131a57604051600160e51b62461bcd02815260040180806020018281038252602e815260200180611bf4602e913960400191505060405180910390fd5b600054610100900460ff16158015611345576000805460ff1961ff0019909116610100171660011790555b603380546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a380156113a6576000805461ff00191690555b5050565b600082815260666020908152604080832054606c548251600160e01b633c6aa7b7028152600481018390526001600160a01b038781166024830152935192949390911692633c6aa7b792604480840193829003018186803b15801561140e57600080fd5b505afa158015611422573d6000803e3d6000fd5b505050506040513d602081101561143857600080fd5b5051949350505050565b600082815260666020908152604080832054606c548251600160e21b631b0bbd4902815260048101839052925191936001600160a01b0390911692636c2ef5249260248083019392829003018186803b15801561149e57600080fd5b505afa1580156114b2573d6000803e3d6000fd5b505050506040513d60208110156114c857600080fd5b50516001600160a01b0384811691161491505092915050565b6114e9610f2f565b6114f257600080fd5b6114fb81611af9565b50565b600081815260666020908152604080832054606c548251600160e21b631b0bbd490281526004810183905292519194938493606093859384936001600160a01b0390911692636c2ef5249260248083019392829003018186803b15801561156457600080fd5b505afa158015611578573d6000803e3d6000fd5b505050506040513d602081101561158e57600080fd5b5051600088815260666020818152604080842060018101546001600160a01b0316808652606e845282862054958e90529383526002018054825181850281018501909352808352959a5093985091939192919083018282801561161057602002820191906000526020600020905b8154815260200190600101908083116115fc575b50505060009a8b52505060666020526040909820600381015460049091015497999698959795966001600160a01b0390911695945092505050565b600054610100900460ff16806116645750611664611af3565b80611672575060005460ff16155b6116b057604051600160e51b62461bcd02815260040180806020018281038252602e815260200180611bf4602e913960400191505060405180910390fd5b600054610100900460ff161580156116db576000805460ff1961ff0019909116610100171660011790555b6001600160a01b038516158015906116fb57506001600160a01b03841615155b801561170f57506001600160a01b03831615155b801561172357506001600160a01b03821615155b6117775760408051600160e51b62461bcd02815260206004820152600f60248201527f496e76616c696420616464726573730000000000000000000000000000000000604482015290519081900360640190fd5b611780856112b5565b606a80546001600160a01b038087166001600160a01b031992831617909255606b8054868416908316179055606c80549285169290911691909117905580156117cf576000805461ff00191690555b5050505050565b6000600382604051602001808281526020019150506040516020818303038152906040526040518082805190602001908083835b602083106118295780518252601f19909201916020918201910161180a565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015611868573d6000803e3d6000fd5b5050506040515160601b60601c9050919050565b600084815260208690526040812060040154156118e35760408051600160e51b62461bcd02815260206004820152601160248201527f496420616c726561647920657869737473000000000000000000000000000000604482015290519081900360640190fd5b6040805160a0810182528581526001600160a01b03858116602080840191825283850187815233606086015243608086015260008b81528c8352959095208451815591516001830180546001600160a01b0319169190941617909255925180519293926119569260028501920190611b68565b506060820151600382810180546001600160a01b0319166001600160a01b03938416179055608090930151600490920191909155908701805460018181018355600083815260208082209093018a90559788528981018252604080892080548084018255908a52838a20018a90559690931687526002909801885293852080549182018155855295909320909401929092555054919050565b8051825114611a3257604051600160e51b62461bcd028152600401808060200182810382526026815260200180611bce6026913960400191505060405180910390fd5b60005b82518110156117cf57818181518110611a4a57fe5b60200260200101518560000160008681526020019081526020016000206000858481518110611a7557fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550828181518110611aad57fe5b60200260200101516001600160a01b0316847f2e148872da54b9303e0826efbb32ab938ec50c9ff13c6f096cf297184ac7c52160405160405180910390a3600101611a35565b303b1590565b6001600160a01b038116611b0c57600080fd5b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b0392909216919091179055565b828054828255906000526020600020908101928215611ba3579160200282015b82811115611ba3578251825591602001919060010190611b88565b50611baf929150611bb3565b5090565b61093791905b80821115611baf5760008155600101611bb956fe496e76616c6964206163746f722f6163746f72207479706573206172726179206c656e677468436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a165627a7a723058201a2662ba2caaacdca7d8d9f2d3c116dea717c42b62130363b049d5470b3c44310029",
"address": "0x10f763D50600462F7253dc721dC895754b3Aee26",
"implementation": "0x413A49cbA6fD7e1A2FB24C5CCbF7eccB3e613329",
"version": "v0.13.1"
}