{
  "_format": "hh-sol-artifact-1",
  "contractName": "ChugSplashDictator",
  "sourceName": "contracts/L1/deployment/ChugSplashDictator.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract L1ChugSplashProxy",
          "name": "_target",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_finalOwner",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_codeHash",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "_messengerSlotKey",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "_messengerSlotVal",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "_bridgeSlotKey",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "_bridgeSlotVal",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "_mantleAddressSlotKey",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "_mantleAddressSlotVal",
          "type": "bytes32"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "bridgeSlotKey",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "bridgeSlotVal",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "codeHash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "_code",
          "type": "bytes"
        }
      ],
      "name": "doActions",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "finalOwner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "isUpgrading",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "mantleAddressSlotKey",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "mantleAddressSlotVal",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "messengerSlotKey",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "messengerSlotVal",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "returnOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "target",
      "outputs": [
        {
          "internalType": "contract L1ChugSplashProxy",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x60806040526000805460ff1916600117905534801561001d57600080fd5b5060405161095f38038061095f83398101604081905261003c916100b1565b60008054610100600160a81b0319166101006001600160a01b039b8c1602179055600180546001600160a01b031916989099169790971790975560029490945560039290925560045560055560065560079190915560085561012f565b6001600160a01b03811681146100ae57600080fd5b50565b60008060008060008060008060006101208a8c0312156100d057600080fd5b89516100db81610099565b60208b01519099506100ec81610099565b8098505060408a0151965060608a0151955060808a0151945060a08a0151935060c08a0151925060e08a015191506101008a015190509295985092959850929598565b6108218061013e6000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c8063708518de11610081578063b0175cb01161005b578063b0175cb014610184578063b79472621461018d578063d4b83992146101aa57600080fd5b8063708518de14610169578063907023dd14610172578063a3b2d8a51461017b57600080fd5b8063297d1a34116100b2578063297d1a341461014f57806341cd1c72146101575780635307023b1461016057600080fd5b80630bf56f21146100d957806317ad94ec146100ee57806318edaaf214610138575b600080fd5b6100ec6100e73660046106a9565b6101cf565b005b60015461010e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61014160025481565b60405190815260200161012f565b6100ec610545565b61014160075481565b61014160045481565b61014160035481565b61014160065481565b61014160055481565b61014160085481565b60005461019a9060ff1681565b604051901515815260200161012f565b60005461010e90610100900473ffffffffffffffffffffffffffffffffffffffff1681565b600254815160208301201461026b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4368756753706c6173684469637461746f723a20496e636f727265637420636f60448201527f646520686173682e00000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6000546040517f6c5d4ad000000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff1690636c5d4ad0906102c5908490600401610778565b600060405180830381600087803b1580156102df57600080fd5b505af11580156102f3573d6000803e3d6000fd5b5050600054600354600480546040517f9b0b0fda00000000000000000000000000000000000000000000000000000000815291820192909252602481019190915261010090910473ffffffffffffffffffffffffffffffffffffffff169250639b0b0fda9150604401600060405180830381600087803b15801561037657600080fd5b505af115801561038a573d6000803e3d6000fd5b50506000546005546006546040517f9b0b0fda0000000000000000000000000000000000000000000000000000000081526004810192909252602482015261010090910473ffffffffffffffffffffffffffffffffffffffff169250639b0b0fda9150604401600060405180830381600087803b15801561040a57600080fd5b505af115801561041e573d6000803e3d6000fd5b50506000546007546008546040517f9b0b0fda0000000000000000000000000000000000000000000000000000000081526004810192909252602482015261010090910473ffffffffffffffffffffffffffffffffffffffff169250639b0b0fda9150604401600060405180830381600087803b15801561049e57600080fd5b505af11580156104b2573d6000803e3d6000fd5b50506000546001546040517f13af403500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201526101009092041692506313af40359150602401600060405180830381600087803b15801561052a57600080fd5b505af115801561053e573d6000803e3d6000fd5b5050505050565b60015473ffffffffffffffffffffffffffffffffffffffff1633146105ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4368756753706c6173684469637461746f723a206f6e6c792063616c6c61626c60448201527f652062792066696e616c4f776e657200000000000000000000000000000000006064820152608401610262565b6000546001546040517f13af403500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216600482015261010090920416906313af403590602401600060405180830381600087803b15801561066057600080fd5b505af1158015610674573d6000803e3d6000fd5b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156106bb57600080fd5b813567ffffffffffffffff808211156106d357600080fd5b818401915084601f8301126106e757600080fd5b8135818111156106f9576106f961067a565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561073f5761073f61067a565b8160405282815287602084870101111561075857600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060208083528351808285015260005b818110156107a557858101830151858201604001528201610789565b818111156107b7576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01692909201604001939250505056fea2646970667358221220b1c72242f3f109a2751b8aa79d6c172b786f636fe3925e92ae74307b7be2c48464736f6c63430008090033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100d45760003560e01c8063708518de11610081578063b0175cb01161005b578063b0175cb014610184578063b79472621461018d578063d4b83992146101aa57600080fd5b8063708518de14610169578063907023dd14610172578063a3b2d8a51461017b57600080fd5b8063297d1a34116100b2578063297d1a341461014f57806341cd1c72146101575780635307023b1461016057600080fd5b80630bf56f21146100d957806317ad94ec146100ee57806318edaaf214610138575b600080fd5b6100ec6100e73660046106a9565b6101cf565b005b60015461010e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61014160025481565b60405190815260200161012f565b6100ec610545565b61014160075481565b61014160045481565b61014160035481565b61014160065481565b61014160055481565b61014160085481565b60005461019a9060ff1681565b604051901515815260200161012f565b60005461010e90610100900473ffffffffffffffffffffffffffffffffffffffff1681565b600254815160208301201461026b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4368756753706c6173684469637461746f723a20496e636f727265637420636f60448201527f646520686173682e00000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6000546040517f6c5d4ad000000000000000000000000000000000000000000000000000000000815261010090910473ffffffffffffffffffffffffffffffffffffffff1690636c5d4ad0906102c5908490600401610778565b600060405180830381600087803b1580156102df57600080fd5b505af11580156102f3573d6000803e3d6000fd5b5050600054600354600480546040517f9b0b0fda00000000000000000000000000000000000000000000000000000000815291820192909252602481019190915261010090910473ffffffffffffffffffffffffffffffffffffffff169250639b0b0fda9150604401600060405180830381600087803b15801561037657600080fd5b505af115801561038a573d6000803e3d6000fd5b50506000546005546006546040517f9b0b0fda0000000000000000000000000000000000000000000000000000000081526004810192909252602482015261010090910473ffffffffffffffffffffffffffffffffffffffff169250639b0b0fda9150604401600060405180830381600087803b15801561040a57600080fd5b505af115801561041e573d6000803e3d6000fd5b50506000546007546008546040517f9b0b0fda0000000000000000000000000000000000000000000000000000000081526004810192909252602482015261010090910473ffffffffffffffffffffffffffffffffffffffff169250639b0b0fda9150604401600060405180830381600087803b15801561049e57600080fd5b505af11580156104b2573d6000803e3d6000fd5b50506000546001546040517f13af403500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201526101009092041692506313af40359150602401600060405180830381600087803b15801561052a57600080fd5b505af115801561053e573d6000803e3d6000fd5b5050505050565b60015473ffffffffffffffffffffffffffffffffffffffff1633146105ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4368756753706c6173684469637461746f723a206f6e6c792063616c6c61626c60448201527f652062792066696e616c4f776e657200000000000000000000000000000000006064820152608401610262565b6000546001546040517f13af403500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216600482015261010090920416906313af403590602401600060405180830381600087803b15801561066057600080fd5b505af1158015610674573d6000803e3d6000fd5b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156106bb57600080fd5b813567ffffffffffffffff808211156106d357600080fd5b818401915084601f8301126106e757600080fd5b8135818111156106f9576106f961067a565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561073f5761073f61067a565b8160405282815287602084870101111561075857600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060208083528351808285015260005b818110156107a557858101830151858201604001528201610789565b818111156107b7576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01692909201604001939250505056fea2646970667358221220b1c72242f3f109a2751b8aa79d6c172b786f636fe3925e92ae74307b7be2c48464736f6c63430008090033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
