{
    "_format": "hh-sol-artifact-1",
    "contractName": "TimelockAuthorizerTransitionMigrator",
    "sourceName": "contracts/TimelockAuthorizerTransitionMigrator.sol",
    "abi": [
        {
            "inputs": [
                {
                    "internalType": "contract IBasicAuthorizer",
                    "name": "_oldAuthorizer",
                    "type": "address"
                },
                {
                    "internalType": "contract TimelockAuthorizer",
                    "name": "_timelockAuthorizer",
                    "type": "address"
                },
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "grantee",
                            "type": "address"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "role",
                            "type": "bytes32"
                        },
                        {
                            "internalType": "address",
                            "name": "target",
                            "type": "address"
                        }
                    ],
                    "internalType": "struct TimelockAuthorizerTransitionMigrator.RoleData[]",
                    "name": "_rolesData",
                    "type": "tuple[]"
                }
            ],
            "stateMutability": "nonpayable",
            "type": "constructor"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "bytes32",
                    "name": "role",
                    "type": "bytes32"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "grantee",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "target",
                    "type": "address"
                }
            ],
            "name": "PermissionSkipped",
            "type": "event"
        },
        {
            "inputs": [],
            "name": "executeDelays",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "migratePermissions",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "oldAuthorizer",
            "outputs": [
                {
                    "internalType": "contract IBasicAuthorizer",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "name": "rolesData",
            "outputs": [
                {
                    "internalType": "address",
                    "name": "grantee",
                    "type": "address"
                },
                {
                    "internalType": "bytes32",
                    "name": "role",
                    "type": "bytes32"
                },
                {
                    "internalType": "address",
                    "name": "target",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "name": "scheduledExecutionIds",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "timelockAuthorizer",
            "outputs": [
                {
                    "internalType": "contract TimelockAuthorizer",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        }
    ],
    "bytecode": "0x60c06040523480156200001157600080fd5b50604051620013d4380380620013d4833981016040819052620000349162000298565b6001600160601b0319606084811b821660805283901b1660a05260005b8151811015620001f15762000065620001fb565b8282815181106200007257fe5b60200260200101519050846001600160a01b0316639be2a8848260200151836000015184604001516040518463ffffffff1660e01b8152600401620000ba939291906200037c565b60206040518083038186803b158015620000d357600080fd5b505afa158015620000e8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200010e91906200026f565b620001365760405162461bcd60e51b81526004016200012d906200039b565b60405180910390fd5b600080546001808201835591805282517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563600390920291820180546001600160a01b03199081166001600160a01b039384161790915560208501517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5648401556040909401517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56590920180549094169116179091550162000051565b5050505062000404565b604080516060810182526000808252602082018190529181019190915290565b6000606082840312156200022d578081fd5b620002396060620003c4565b905081516200024881620003eb565b81526020828101519082015260408201516200026481620003eb565b604082015292915050565b60006020828403121562000281578081fd5b8151801515811462000291578182fd5b9392505050565b60008060006060808587031215620002ae578283fd5b8451620002bb81620003eb565b80945050602080860151620002d081620003eb565b60408701519094506001600160401b0380821115620002ed578485fd5b818801915088601f83011262000301578485fd5b81518181111562000310578586fd5b6200031f8485830201620003c4565b8181528481019250838501868302850186018c10156200033d578788fd5b8794505b828510156200036b57620003568c826200021b565b84526001949094019392850192860162000341565b508096505050505050509250925092565b9283526001600160a01b03918216602084015216604082015260600190565b6020808252600f908201526e554e45585045435445445f524f4c4560881b604082015260600190565b6040518181016001600160401b0381118282101715620003e357600080fd5b604052919050565b6001600160a01b03811681146200040157600080fd5b50565b60805160601c60a05160601c610f746200046060003980610162528061024b5280610305528061050d52806105d0528061065b5280610753528061088852806108c4528061096352508061043c5280610aa05250610f746000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c80639c763195116100505780639c763195146100a7578063c6bfe9ae146100c9578063df829a6f146100d157610072565b80633c44172d146100775780633d6b35b114610081578063866658221461009f575b600080fd5b61007f6100f1565b005b610089610303565b6040516100969190610eaf565b60405180910390f35b61007f610327565b6100ba6100b5366004610cfc565b610a56565b60405161009693929190610d64565b610089610a9e565b6100e46100df366004610cfc565b610ac2565b6040516100969190610dfd565b60025460ff16610136576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161012d90610ed0565b60405180910390fd5b60015460005b818110156102ff5760006001828154811061015357fe5b906000526020600020015490507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663cc63604a826040518263ffffffff1660e01b81526004016101b99190610dfd565b60206040518083038186803b1580156101d157600080fd5b505afa1580156101e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102099190610beb565b156102f6576040517ffe0d94c100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063fe0d94c190610280908490600401610dfd565b600060405180830381600087803b15801561029a57600080fd5b505af11580156102ae573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526102f49190810190610c23565b505b5060010161013c565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60025460ff1615610364576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161012d90610f07565b600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055600054606061039d30610ae0565b905060005b82811015610885576103b2610b90565b600082815481106103bf57fe5b6000918252602091829020604080516060810182526003909302909101805473ffffffffffffffffffffffffffffffffffffffff9081168085526001830154958501869052600290920154811684840181905292517f9be2a8840000000000000000000000000000000000000000000000000000000081529395507f00000000000000000000000000000000000000000000000000000000000000001693639be2a884936104739391929190600401610e06565b60206040518083038186803b15801561048b57600080fd5b505afa15801561049f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c39190610beb565b156108145760208101516040517f151b89d100000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163151b89d19161054091600401610dfd565b60206040518083038186803b15801561055857600080fd5b505afa15801561056c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105909190610c0b565b6040517f3bf4679700000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690633bf4679790610605908490600401610dfd565b60206040518083038186803b15801561061d57600080fd5b505afa158015610631573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106559190610c0b565b610707577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636f8bc5966106a28460200151610b4f565b845160408601516106b290610ae0565b6040518463ffffffff1660e01b81526004016106d093929190610d94565b600060405180830381600087803b1580156106ea57600080fd5b505af11580156106fe573d6000803e3d6000fd5b5050505061080e565b6020820151825160408085015190517f863bac6b00000000000000000000000000000000000000000000000000000000815260009373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169363863bac6b93610788938b90600401610e32565b602060405180830381600087803b1580156107a257600080fd5b505af11580156107b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107da9190610c0b565b6001805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60155505b5061087c565b806040015173ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1682602001517fbef2bec3f1473fa86e851888846fe82a6337ef167ee9529955a2c8ff97d88bb760405160405180910390a45b506001016103a2565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166378a083777f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663fc78a2286040518163ffffffff1660e01b815260040160206040518083038186803b15801561092857600080fd5b505afa15801561093c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109609190610c0b565b307f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166362cde1ba6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109c757600080fd5b505afa1580156109db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ff9190610bb0565b60006040518563ffffffff1660e01b8152600401610a209493929190610e7b565b600060405180830381600087803b158015610a3a57600080fd5b505af1158015610a4e573d6000803e3d6000fd5b505050505050565b60008181548110610a6357fe5b600091825260209091206003909102018054600182015460029092015473ffffffffffffffffffffffffffffffffffffffff91821693501683565b7f000000000000000000000000000000000000000000000000000000000000000081565b60018181548110610acf57fe5b600091825260209091200154905081565b604080516001808252818301909252606091602080830190803683370190505090508181600081518110610b1057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050919050565b604080516001808252818301909252606091602080830190803683370190505090508181600081518110610b7f57fe5b602002602001018181525050919050565b604080516060810182526000808252602082018190529181019190915290565b600060208284031215610bc1578081fd5b815173ffffffffffffffffffffffffffffffffffffffff81168114610be4578182fd5b9392505050565b600060208284031215610bfc578081fd5b81518015158114610be4578182fd5b600060208284031215610c1c578081fd5b5051919050565b60006020808385031215610c35578182fd5b825167ffffffffffffffff80821115610c4c578384fd5b818501915085601f830112610c5f578384fd5b815181811115610c6d578485fd5b604051847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401168201018181108482111715610caa578687fd5b6040528181528382018501881015610cc0578586fd5b8592505b81831015610ce15783830185015181840186015291840191610cc4565b81831115610cf157858583830101525b979650505050505050565b600060208284031215610d0d578081fd5b5035919050565b6000815180845260208085019450808401835b83811015610d5957815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101610d27565b509495945050505050565b73ffffffffffffffffffffffffffffffffffffffff93841681526020810192909252909116604082015260600190565b606080825284519082018190526000906020906080840190828801845b82811015610dcd57815184529284019290840190600101610db1565b50505073ffffffffffffffffffffffffffffffffffffffff8616828501528381036040850152610cf18186610d14565b90815260200190565b92835273ffffffffffffffffffffffffffffffffffffffff918216602084015216604082015260600190565b600085825273ffffffffffffffffffffffffffffffffffffffff808616602084015280851660408401525060806060830152610e716080830184610d14565b9695505050505050565b93845273ffffffffffffffffffffffffffffffffffffffff9283166020850152911660408301521515606082015260800190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b60208082526014908201527f4d4947524154494f4e5f494e434f4d504c455445000000000000000000000000604082015260600190565b60208082526010908201527f414c52454144595f4d494752415445440000000000000000000000000000000060408201526060019056fea264697066735822122070a6d3a35752c9f63d6919f39afa5b7d010fae6e19b7d36a7a5892cf9c676ea864736f6c63430007010033",
    "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100725760003560e01c80639c763195116100505780639c763195146100a7578063c6bfe9ae146100c9578063df829a6f146100d157610072565b80633c44172d146100775780633d6b35b114610081578063866658221461009f575b600080fd5b61007f6100f1565b005b610089610303565b6040516100969190610eaf565b60405180910390f35b61007f610327565b6100ba6100b5366004610cfc565b610a56565b60405161009693929190610d64565b610089610a9e565b6100e46100df366004610cfc565b610ac2565b6040516100969190610dfd565b60025460ff16610136576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161012d90610ed0565b60405180910390fd5b60015460005b818110156102ff5760006001828154811061015357fe5b906000526020600020015490507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663cc63604a826040518263ffffffff1660e01b81526004016101b99190610dfd565b60206040518083038186803b1580156101d157600080fd5b505afa1580156101e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102099190610beb565b156102f6576040517ffe0d94c100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063fe0d94c190610280908490600401610dfd565b600060405180830381600087803b15801561029a57600080fd5b505af11580156102ae573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526102f49190810190610c23565b505b5060010161013c565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60025460ff1615610364576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161012d90610f07565b600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055600054606061039d30610ae0565b905060005b82811015610885576103b2610b90565b600082815481106103bf57fe5b6000918252602091829020604080516060810182526003909302909101805473ffffffffffffffffffffffffffffffffffffffff9081168085526001830154958501869052600290920154811684840181905292517f9be2a8840000000000000000000000000000000000000000000000000000000081529395507f00000000000000000000000000000000000000000000000000000000000000001693639be2a884936104739391929190600401610e06565b60206040518083038186803b15801561048b57600080fd5b505afa15801561049f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c39190610beb565b156108145760208101516040517f151b89d100000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163151b89d19161054091600401610dfd565b60206040518083038186803b15801561055857600080fd5b505afa15801561056c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105909190610c0b565b6040517f3bf4679700000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690633bf4679790610605908490600401610dfd565b60206040518083038186803b15801561061d57600080fd5b505afa158015610631573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106559190610c0b565b610707577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636f8bc5966106a28460200151610b4f565b845160408601516106b290610ae0565b6040518463ffffffff1660e01b81526004016106d093929190610d94565b600060405180830381600087803b1580156106ea57600080fd5b505af11580156106fe573d6000803e3d6000fd5b5050505061080e565b6020820151825160408085015190517f863bac6b00000000000000000000000000000000000000000000000000000000815260009373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169363863bac6b93610788938b90600401610e32565b602060405180830381600087803b1580156107a257600080fd5b505af11580156107b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107da9190610c0b565b6001805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60155505b5061087c565b806040015173ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1682602001517fbef2bec3f1473fa86e851888846fe82a6337ef167ee9529955a2c8ff97d88bb760405160405180910390a45b506001016103a2565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166378a083777f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663fc78a2286040518163ffffffff1660e01b815260040160206040518083038186803b15801561092857600080fd5b505afa15801561093c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109609190610c0b565b307f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166362cde1ba6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109c757600080fd5b505afa1580156109db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ff9190610bb0565b60006040518563ffffffff1660e01b8152600401610a209493929190610e7b565b600060405180830381600087803b158015610a3a57600080fd5b505af1158015610a4e573d6000803e3d6000fd5b505050505050565b60008181548110610a6357fe5b600091825260209091206003909102018054600182015460029092015473ffffffffffffffffffffffffffffffffffffffff91821693501683565b7f000000000000000000000000000000000000000000000000000000000000000081565b60018181548110610acf57fe5b600091825260209091200154905081565b604080516001808252818301909252606091602080830190803683370190505090508181600081518110610b1057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050919050565b604080516001808252818301909252606091602080830190803683370190505090508181600081518110610b7f57fe5b602002602001018181525050919050565b604080516060810182526000808252602082018190529181019190915290565b600060208284031215610bc1578081fd5b815173ffffffffffffffffffffffffffffffffffffffff81168114610be4578182fd5b9392505050565b600060208284031215610bfc578081fd5b81518015158114610be4578182fd5b600060208284031215610c1c578081fd5b5051919050565b60006020808385031215610c35578182fd5b825167ffffffffffffffff80821115610c4c578384fd5b818501915085601f830112610c5f578384fd5b815181811115610c6d578485fd5b604051847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401168201018181108482111715610caa578687fd5b6040528181528382018501881015610cc0578586fd5b8592505b81831015610ce15783830185015181840186015291840191610cc4565b81831115610cf157858583830101525b979650505050505050565b600060208284031215610d0d578081fd5b5035919050565b6000815180845260208085019450808401835b83811015610d5957815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101610d27565b509495945050505050565b73ffffffffffffffffffffffffffffffffffffffff93841681526020810192909252909116604082015260600190565b606080825284519082018190526000906020906080840190828801845b82811015610dcd57815184529284019290840190600101610db1565b50505073ffffffffffffffffffffffffffffffffffffffff8616828501528381036040850152610cf18186610d14565b90815260200190565b92835273ffffffffffffffffffffffffffffffffffffffff918216602084015216604082015260600190565b600085825273ffffffffffffffffffffffffffffffffffffffff808616602084015280851660408401525060806060830152610e716080830184610d14565b9695505050505050565b93845273ffffffffffffffffffffffffffffffffffffffff9283166020850152911660408301521515606082015260800190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b60208082526014908201527f4d4947524154494f4e5f494e434f4d504c455445000000000000000000000000604082015260600190565b60208082526010908201527f414c52454144595f4d494752415445440000000000000000000000000000000060408201526060019056fea264697066735822122070a6d3a35752c9f63d6919f39afa5b7d010fae6e19b7d36a7a5892cf9c676ea864736f6c63430007010033",
    "linkReferences": {},
    "deployedLinkReferences": {}
}
