UNPKG

@daostack/arc-experimental

Version:

A platform for building DAOs

170 lines (169 loc) 12.8 kB
{ "contractName": "ImplementationDirectory", "abi": [ { "anonymous": false, "inputs": [], "name": "Frozen", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "contractName", "type": "string" }, { "indexed": true, "internalType": "address", "name": "implementation", "type": "address" } ], "name": "ImplementationChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "inputs": [], "name": "freeze", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "frozen", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "contractName", "type": "string" } ], "name": "getImplementation", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isOwner", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "contractName", "type": "string" }, { "internalType": "address", "name": "implementation", "type": "address" } ], "name": "setImplementation", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "contractName", "type": "string" } ], "name": "unsetImplementation", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36108ef806100696000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80636b683896116100665780636b68389614610215578063715018a6146102d75780638da5cb5b146102df5780638f32d59b146102e7578063f2fde38b146102ef57610093565b8063054f7d9c1461009857806306419fe5146100b457806330b7be291461016757806362a5af3b1461020d575b600080fd5b6100a0610315565b604080519115158252519081900360200190f35b610165600480360360408110156100ca57600080fd5b8101906020810181356401000000008111156100e557600080fd5b8201836020820111156100f757600080fd5b8035906020019184600183028401116401000000008311171561011957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550505090356001600160a01b0316915061031e9050565b005b6101656004803603602081101561017d57600080fd5b81019060208101813564010000000081111561019857600080fd5b8201836020820111156101aa57600080fd5b803590602001918460018302840111640100000000831117156101cc57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506104c9945050505050565b610165610634565b6102bb6004803603602081101561022b57600080fd5b81019060208101813564010000000081111561024657600080fd5b82018360208201111561025857600080fd5b8035906020019184600183028401116401000000008311171561027a57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506106bf945050505050565b604080516001600160a01b039092168252519081900360200190f35b610165610730565b6102bb61078b565b6100a061079a565b6101656004803603602081101561030557600080fd5b50356001600160a01b03166107ab565b60025460ff1681565b61032661079a565b61032f57600080fd5b60025460ff16156103715760405162461bcd60e51b815260040180806020018281038252603b81526020018061087f603b913960400191505060405180910390fd5b61037a816107c8565b6103b55760405162461bcd60e51b815260040180806020018281038252604281526020018061083d6042913960600191505060405180910390fd5b806001836040518082805190602001908083835b602083106103e85780518252601f1990920191602091820191016103c9565b51815160209384036101000a600019018019909216911617905292019485525060408051948590038201852080546001600160a01b0319166001600160a01b039788161790558185528751858301528751958716957fd46d20dadc2a85a470fddb00aee90ec2cc1f302e7e2dbf61ffaef72527f3c65995899550935083929183019185019080838360005b8381101561048b578181015183820152602001610473565b50505050905090810190601f1680156104b85780820380516001836020036101000a031916815260200191505b509250505060405180910390a25050565b6104d161079a565b6104da57600080fd5b60025460ff161561051c5760405162461bcd60e51b815260040180806020018281038252603b81526020018061087f603b913960400191505060405180910390fd5b60006001826040518082805190602001908083835b602083106105505780518252601f199092019160209182019101610531565b51815160209384036101000a600019018019909216911617905292019485525060408051948590038201852080546001600160a01b0319166001600160a01b03979097169690961790955580845285518482015285516000957fd46d20dadc2a85a470fddb00aee90ec2cc1f302e7e2dbf61ffaef72527f3c659958895509350839290830191908501908083838a5b838110156105f75781810151838201526020016105df565b50505050905090810190601f1680156106245780820380516001836020036101000a031916815260200191505b509250505060405180910390a250565b61063c61079a565b61064557600080fd5b60025460ff16156106875760405162461bcd60e51b815260040180806020018281038252603b81526020018061087f603b913960400191505060405180910390fd5b6002805460ff191660011790556040517fa8cab3d1893ed53071b052fafa843143492f25d1d6b0170d460789f7ab1954be90600090a1565b60006001826040518082805190602001908083835b602083106106f35780518252601f1990920191602091820191016106d4565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220546001600160a01b0316949350505050565b61073861079a565b61074157600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6107b361079a565b6107bc57600080fd5b6107c5816107ce565b50565b3b151590565b6001600160a01b0381166107e157600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fe43616e6e6f742073657420696d706c656d656e746174696f6e20696e206469726563746f727920776974682061206e6f6e2d636f6e7472616374206164647265737343616e6e6f7420706572666f726d20616374696f6e20666f7220612066726f7a656e20696d706c656d656e746174696f6e206469726563746f7279a26469706673582212201b61a40eb1a799140a5130cf0a901917d043f09205b5c688f426a52c64f6cdce64736f6c634300060c0033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c80636b683896116100665780636b68389614610215578063715018a6146102d75780638da5cb5b146102df5780638f32d59b146102e7578063f2fde38b146102ef57610093565b8063054f7d9c1461009857806306419fe5146100b457806330b7be291461016757806362a5af3b1461020d575b600080fd5b6100a0610315565b604080519115158252519081900360200190f35b610165600480360360408110156100ca57600080fd5b8101906020810181356401000000008111156100e557600080fd5b8201836020820111156100f757600080fd5b8035906020019184600183028401116401000000008311171561011957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550505090356001600160a01b0316915061031e9050565b005b6101656004803603602081101561017d57600080fd5b81019060208101813564010000000081111561019857600080fd5b8201836020820111156101aa57600080fd5b803590602001918460018302840111640100000000831117156101cc57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506104c9945050505050565b610165610634565b6102bb6004803603602081101561022b57600080fd5b81019060208101813564010000000081111561024657600080fd5b82018360208201111561025857600080fd5b8035906020019184600183028401116401000000008311171561027a57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506106bf945050505050565b604080516001600160a01b039092168252519081900360200190f35b610165610730565b6102bb61078b565b6100a061079a565b6101656004803603602081101561030557600080fd5b50356001600160a01b03166107ab565b60025460ff1681565b61032661079a565b61032f57600080fd5b60025460ff16156103715760405162461bcd60e51b815260040180806020018281038252603b81526020018061087f603b913960400191505060405180910390fd5b61037a816107c8565b6103b55760405162461bcd60e51b815260040180806020018281038252604281526020018061083d6042913960600191505060405180910390fd5b806001836040518082805190602001908083835b602083106103e85780518252601f1990920191602091820191016103c9565b51815160209384036101000a600019018019909216911617905292019485525060408051948590038201852080546001600160a01b0319166001600160a01b039788161790558185528751858301528751958716957fd46d20dadc2a85a470fddb00aee90ec2cc1f302e7e2dbf61ffaef72527f3c65995899550935083929183019185019080838360005b8381101561048b578181015183820152602001610473565b50505050905090810190601f1680156104b85780820380516001836020036101000a031916815260200191505b509250505060405180910390a25050565b6104d161079a565b6104da57600080fd5b60025460ff161561051c5760405162461bcd60e51b815260040180806020018281038252603b81526020018061087f603b913960400191505060405180910390fd5b60006001826040518082805190602001908083835b602083106105505780518252601f199092019160209182019101610531565b51815160209384036101000a600019018019909216911617905292019485525060408051948590038201852080546001600160a01b0319166001600160a01b03979097169690961790955580845285518482015285516000957fd46d20dadc2a85a470fddb00aee90ec2cc1f302e7e2dbf61ffaef72527f3c659958895509350839290830191908501908083838a5b838110156105f75781810151838201526020016105df565b50505050905090810190601f1680156106245780820380516001836020036101000a031916815260200191505b509250505060405180910390a250565b61063c61079a565b61064557600080fd5b60025460ff16156106875760405162461bcd60e51b815260040180806020018281038252603b81526020018061087f603b913960400191505060405180910390fd5b6002805460ff191660011790556040517fa8cab3d1893ed53071b052fafa843143492f25d1d6b0170d460789f7ab1954be90600090a1565b60006001826040518082805190602001908083835b602083106106f35780518252601f1990920191602091820191016106d4565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220546001600160a01b0316949350505050565b61073861079a565b61074157600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6107b361079a565b6107bc57600080fd5b6107c5816107ce565b50565b3b151590565b6001600160a01b0381166107e157600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fe43616e6e6f742073657420696d706c656d656e746174696f6e20696e206469726563746f727920776974682061206e6f6e2d636f6e7472616374206164647265737343616e6e6f7420706572666f726d20616374696f6e20666f7220612066726f7a656e20696d706c656d656e746174696f6e206469726563746f7279a26469706673582212201b61a40eb1a799140a5130cf0a901917d043f09205b5c688f426a52c64f6cdce64736f6c634300060c0033", "linkReferences": {}, "deployedLinkReferences": {} }