@daostack/arc-experimental
Version:
A platform for building DAOs
170 lines (169 loc) • 12.8 kB
JSON
{
"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": {}
}