{
  "_format": "hh-sol-artifact-1",
  "contractName": "BeaconTimelockTrigger",
  "sourceName": "@pooltogether/v4-timelocks/contracts/BeaconTimelockTrigger.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_owner",
          "type": "address"
        },
        {
          "internalType": "contract IPrizeDistributionFactory",
          "name": "_prizeDistributionFactory",
          "type": "address"
        },
        {
          "internalType": "contract IDrawCalculatorTimelock",
          "name": "_timelock",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "contract IPrizeDistributionFactory",
          "name": "prizeDistributionFactory",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "contract IDrawCalculatorTimelock",
          "name": "timelock",
          "type": "address"
        }
      ],
      "name": "Deployed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint32",
          "name": "drawId",
          "type": "uint32"
        },
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "winningRandomNumber",
              "type": "uint256"
            },
            {
              "internalType": "uint32",
              "name": "drawId",
              "type": "uint32"
            },
            {
              "internalType": "uint64",
              "name": "timestamp",
              "type": "uint64"
            },
            {
              "internalType": "uint64",
              "name": "beaconPeriodStartedAt",
              "type": "uint64"
            },
            {
              "internalType": "uint32",
              "name": "beaconPeriodSeconds",
              "type": "uint32"
            }
          ],
          "indexed": false,
          "internalType": "struct IDrawBeacon.Draw",
          "name": "draw",
          "type": "tuple"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "totalNetworkTicketSupply",
          "type": "uint256"
        }
      ],
      "name": "DrawLockedAndTotalNetworkTicketSupplyPushed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousManager",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newManager",
          "type": "address"
        }
      ],
      "name": "ManagerTransferred",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "pendingOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipOffered",
      "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": "claimOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "manager",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "pendingOwner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "prizeDistributionFactory",
      "outputs": [
        {
          "internalType": "contract IPrizeDistributionFactory",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "winningRandomNumber",
              "type": "uint256"
            },
            {
              "internalType": "uint32",
              "name": "drawId",
              "type": "uint32"
            },
            {
              "internalType": "uint64",
              "name": "timestamp",
              "type": "uint64"
            },
            {
              "internalType": "uint64",
              "name": "beaconPeriodStartedAt",
              "type": "uint64"
            },
            {
              "internalType": "uint32",
              "name": "beaconPeriodSeconds",
              "type": "uint32"
            }
          ],
          "internalType": "struct IDrawBeacon.Draw",
          "name": "_draw",
          "type": "tuple"
        },
        {
          "internalType": "uint256",
          "name": "_totalNetworkTicketSupply",
          "type": "uint256"
        }
      ],
      "name": "push",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_newManager",
          "type": "address"
        }
      ],
      "name": "setManager",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "timelock",
      "outputs": [
        {
          "internalType": "contract IDrawCalculatorTimelock",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60c060405234801561001057600080fd5b50604051610bdc380380610bdc83398101604081905261002f916100e5565b8261003981610095565b506001600160601b0319606083811b821660805282901b1660a0526040516001600160a01b0382811691908416907f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec2090600090a350505061014a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806000606084860312156100fa57600080fd5b835161010581610132565b602085015190935061011681610132565b604085015190925061012781610132565b809150509250925092565b6001600160a01b038116811461014757600080fd5b50565b60805160601c60a05160601c610a5961018360003960008181610172015261037501526000818161010401526104a10152610a596000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c8063a913c9da11610076578063d33219b41161005b578063d33219b41461016d578063e30c397814610194578063f2fde38b146101a557600080fd5b8063a913c9da14610137578063d0ebdbe71461014a57600080fd5b8063715018a6116100a7578063715018a6146100f757806378e072a9146100ff5780638da5cb5b1461012657600080fd5b8063481c6a75146100c35780634e71e0c8146100ed575b600080fd5b6002546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6100f56101b8565b005b6100f561024b565b6100d07f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b03166100d0565b6100f561014536600461090a565b6102c0565b61015d6101583660046108b8565b61058b565b60405190151581526020016100e4565b6100d07f000000000000000000000000000000000000000000000000000000000000000081565b6001546001600160a01b03166100d0565b6100f56101b33660046108b8565b610607565b6001546001600160a01b031633146102175760405162461bcd60e51b815260206004820152601f60248201527f4f776e61626c652f63616c6c65722d6e6f742d70656e64696e674f776e65720060448201526064015b60405180910390fd5b60015461022c906001600160a01b0316610743565b6001805473ffffffffffffffffffffffffffffffffffffffff19169055565b3361025e6000546001600160a01b031690565b6001600160a01b0316146102b45760405162461bcd60e51b815260206004820152601860248201527f4f776e61626c652f63616c6c65722d6e6f742d6f776e65720000000000000000604482015260640161020e565b6102be6000610743565b565b336102d36002546001600160a01b031690565b6001600160a01b031614806103015750336102f66000546001600160a01b031690565b6001600160a01b0316145b6103735760405162461bcd60e51b815260206004820152602660248201527f4d616e61676561626c652f63616c6c65722d6e6f742d6d616e616765722d6f7260448201527f2d6f776e65720000000000000000000000000000000000000000000000000000606482015260840161020e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638871189b8360200151846080015163ffffffff1685604001516103c191906109d0565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815263ffffffff92909216600483015267ffffffffffffffff166024820152604401602060405180830381600087803b15801561042757600080fd5b505af115801561043b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045f91906108e8565b5060208201516040517f0348b07600000000000000000000000000000000000000000000000000000000815263ffffffff9091166004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630348b07690604401600060405180830381600087803b1580156104ed57600080fd5b505af1158015610501573d6000803e3d6000fd5b50505050602082810180516040805186518152925163ffffffff908116948401949094528086015167ffffffffffffffff908116848301526060808801519091169084015260808087015185169084015260a08301859052519216917fedb65adbca0b9daa2f70fb5e43a2119fdc09136b9552987e6e82ac54b9131dfa9181900360c00190a25050565b6000336105a06000546001600160a01b031690565b6001600160a01b0316146105f65760405162461bcd60e51b815260206004820152601860248201527f4f776e61626c652f63616c6c65722d6e6f742d6f776e65720000000000000000604482015260640161020e565b6105ff826107a0565b90505b919050565b3361061a6000546001600160a01b031690565b6001600160a01b0316146106705760405162461bcd60e51b815260206004820152601860248201527f4f776e61626c652f63616c6c65722d6e6f742d6f776e65720000000000000000604482015260640161020e565b6001600160a01b0381166106ec5760405162461bcd60e51b815260206004820152602560248201527f4f776e61626c652f70656e64696e674f776e65722d6e6f742d7a65726f2d616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161020e565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040517f239a2ddded15777fa246aed5f7e1a9bc69a39d4eb4a397034d1d85766cca7d4c90600090a250565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6002546000906001600160a01b039081169083168114156108295760405162461bcd60e51b815260206004820152602360248201527f4d616e61676561626c652f6578697374696e672d6d616e616765722d6164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161020e565b6002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0385811691821790925560405190918316907f9cb45c728de594dab506a1f1a8554e24c8eeaf983618d5ec5dd7bc6f3c49feee90600090a350600192915050565b803563ffffffff8116811461060257600080fd5b803567ffffffffffffffff8116811461060257600080fd5b6000602082840312156108ca57600080fd5b81356001600160a01b03811681146108e157600080fd5b9392505050565b6000602082840312156108fa57600080fd5b815180151581146108e157600080fd5b60008082840360c081121561091e57600080fd5b60a081121561092c57600080fd5b5060405160a0810181811067ffffffffffffffff82111715610977577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040528335815261098a6020850161088c565b602082015261099b604085016108a0565b60408201526109ac606085016108a0565b60608201526109bd6080850161088c565b60808201529460a0939093013593505050565b600067ffffffffffffffff808316818516808303821115610a1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b0194935050505056fea26469706673582212208d595c27e720e7672c3a6e1983d1e14cdb95326cd3fc96c721812d1490361c4f64736f6c63430008060033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100be5760003560e01c8063a913c9da11610076578063d33219b41161005b578063d33219b41461016d578063e30c397814610194578063f2fde38b146101a557600080fd5b8063a913c9da14610137578063d0ebdbe71461014a57600080fd5b8063715018a6116100a7578063715018a6146100f757806378e072a9146100ff5780638da5cb5b1461012657600080fd5b8063481c6a75146100c35780634e71e0c8146100ed575b600080fd5b6002546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6100f56101b8565b005b6100f561024b565b6100d07f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b03166100d0565b6100f561014536600461090a565b6102c0565b61015d6101583660046108b8565b61058b565b60405190151581526020016100e4565b6100d07f000000000000000000000000000000000000000000000000000000000000000081565b6001546001600160a01b03166100d0565b6100f56101b33660046108b8565b610607565b6001546001600160a01b031633146102175760405162461bcd60e51b815260206004820152601f60248201527f4f776e61626c652f63616c6c65722d6e6f742d70656e64696e674f776e65720060448201526064015b60405180910390fd5b60015461022c906001600160a01b0316610743565b6001805473ffffffffffffffffffffffffffffffffffffffff19169055565b3361025e6000546001600160a01b031690565b6001600160a01b0316146102b45760405162461bcd60e51b815260206004820152601860248201527f4f776e61626c652f63616c6c65722d6e6f742d6f776e65720000000000000000604482015260640161020e565b6102be6000610743565b565b336102d36002546001600160a01b031690565b6001600160a01b031614806103015750336102f66000546001600160a01b031690565b6001600160a01b0316145b6103735760405162461bcd60e51b815260206004820152602660248201527f4d616e61676561626c652f63616c6c65722d6e6f742d6d616e616765722d6f7260448201527f2d6f776e65720000000000000000000000000000000000000000000000000000606482015260840161020e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638871189b8360200151846080015163ffffffff1685604001516103c191906109d0565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815263ffffffff92909216600483015267ffffffffffffffff166024820152604401602060405180830381600087803b15801561042757600080fd5b505af115801561043b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045f91906108e8565b5060208201516040517f0348b07600000000000000000000000000000000000000000000000000000000815263ffffffff9091166004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630348b07690604401600060405180830381600087803b1580156104ed57600080fd5b505af1158015610501573d6000803e3d6000fd5b50505050602082810180516040805186518152925163ffffffff908116948401949094528086015167ffffffffffffffff908116848301526060808801519091169084015260808087015185169084015260a08301859052519216917fedb65adbca0b9daa2f70fb5e43a2119fdc09136b9552987e6e82ac54b9131dfa9181900360c00190a25050565b6000336105a06000546001600160a01b031690565b6001600160a01b0316146105f65760405162461bcd60e51b815260206004820152601860248201527f4f776e61626c652f63616c6c65722d6e6f742d6f776e65720000000000000000604482015260640161020e565b6105ff826107a0565b90505b919050565b3361061a6000546001600160a01b031690565b6001600160a01b0316146106705760405162461bcd60e51b815260206004820152601860248201527f4f776e61626c652f63616c6c65722d6e6f742d6f776e65720000000000000000604482015260640161020e565b6001600160a01b0381166106ec5760405162461bcd60e51b815260206004820152602560248201527f4f776e61626c652f70656e64696e674f776e65722d6e6f742d7a65726f2d616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161020e565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040517f239a2ddded15777fa246aed5f7e1a9bc69a39d4eb4a397034d1d85766cca7d4c90600090a250565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6002546000906001600160a01b039081169083168114156108295760405162461bcd60e51b815260206004820152602360248201527f4d616e61676561626c652f6578697374696e672d6d616e616765722d6164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161020e565b6002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0385811691821790925560405190918316907f9cb45c728de594dab506a1f1a8554e24c8eeaf983618d5ec5dd7bc6f3c49feee90600090a350600192915050565b803563ffffffff8116811461060257600080fd5b803567ffffffffffffffff8116811461060257600080fd5b6000602082840312156108ca57600080fd5b81356001600160a01b03811681146108e157600080fd5b9392505050565b6000602082840312156108fa57600080fd5b815180151581146108e157600080fd5b60008082840360c081121561091e57600080fd5b60a081121561092c57600080fd5b5060405160a0810181811067ffffffffffffffff82111715610977577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040528335815261098a6020850161088c565b602082015261099b604085016108a0565b60408201526109ac606085016108a0565b60608201526109bd6080850161088c565b60808201529460a0939093013593505050565b600067ffffffffffffffff808316818516808303821115610a1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b0194935050505056fea26469706673582212208d595c27e720e7672c3a6e1983d1e14cdb95326cd3fc96c721812d1490361c4f64736f6c63430008060033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
