From 4beb26146bae77b269cc61b769690c6aaea9eee0 Mon Sep 17 00:00:00 2001 From: Guilherme Dantas Date: Tue, 11 Jul 2023 10:42:58 -0300 Subject: [PATCH] chore(contracts): prepack --- .../AuthorityHistoryPairFactory.json | 155 ++++++++++ .../IAuthorityHistoryPairFactory.json | 139 +++++++++ .../AuthorityHistoryPairFactory.json | 280 ++++++++++++++++++ .../IAuthorityHistoryPairFactory.json | 241 +++++++++++++++ 4 files changed, 815 insertions(+) create mode 100644 onchain/rollups/abi/contracts/consensus/authority/AuthorityHistoryPairFactory.sol/AuthorityHistoryPairFactory.json create mode 100644 onchain/rollups/abi/contracts/consensus/authority/IAuthorityHistoryPairFactory.sol/IAuthorityHistoryPairFactory.json create mode 100644 onchain/rollups/export/artifacts/contracts/consensus/authority/AuthorityHistoryPairFactory.sol/AuthorityHistoryPairFactory.json create mode 100644 onchain/rollups/export/artifacts/contracts/consensus/authority/IAuthorityHistoryPairFactory.sol/IAuthorityHistoryPairFactory.json diff --git a/onchain/rollups/abi/contracts/consensus/authority/AuthorityHistoryPairFactory.sol/AuthorityHistoryPairFactory.json b/onchain/rollups/abi/contracts/consensus/authority/AuthorityHistoryPairFactory.sol/AuthorityHistoryPairFactory.json new file mode 100644 index 00000000..efbc3e24 --- /dev/null +++ b/onchain/rollups/abi/contracts/consensus/authority/AuthorityHistoryPairFactory.sol/AuthorityHistoryPairFactory.json @@ -0,0 +1,155 @@ +[ + { + "inputs": [ + { + "internalType": "contract IAuthorityFactory", + "name": "_authorityFactory", + "type": "address" + }, + { + "internalType": "contract IHistoryFactory", + "name": "_historyFactory", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract IAuthorityFactory", + "name": "authorityFactory", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract IHistoryFactory", + "name": "historyFactory", + "type": "address" + } + ], + "name": "AuthorityHistoryPairFactoryCreated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "contract IInputBox", + "name": "_inputBox", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_salt", + "type": "bytes32" + } + ], + "name": "calculateAuthorityHistoryAddressPair", + "outputs": [ + { + "internalType": "address", + "name": "authorityAddress_", + "type": "address" + }, + { + "internalType": "address", + "name": "historyAddress_", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAuthorityFactory", + "outputs": [ + { + "internalType": "contract IAuthorityFactory", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getHistoryFactory", + "outputs": [ + { + "internalType": "contract IHistoryFactory", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_authorityOwner", + "type": "address" + }, + { + "internalType": "contract IInputBox", + "name": "_inputBox", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_salt", + "type": "bytes32" + } + ], + "name": "newAuthorityHistoryPair", + "outputs": [ + { + "internalType": "contract Authority", + "name": "authority_", + "type": "address" + }, + { + "internalType": "contract History", + "name": "history_", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_authorityOwner", + "type": "address" + }, + { + "internalType": "contract IInputBox", + "name": "_inputBox", + "type": "address" + } + ], + "name": "newAuthorityHistoryPair", + "outputs": [ + { + "internalType": "contract Authority", + "name": "authority_", + "type": "address" + }, + { + "internalType": "contract History", + "name": "history_", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } +] diff --git a/onchain/rollups/abi/contracts/consensus/authority/IAuthorityHistoryPairFactory.sol/IAuthorityHistoryPairFactory.json b/onchain/rollups/abi/contracts/consensus/authority/IAuthorityHistoryPairFactory.sol/IAuthorityHistoryPairFactory.json new file mode 100644 index 00000000..aed522cb --- /dev/null +++ b/onchain/rollups/abi/contracts/consensus/authority/IAuthorityHistoryPairFactory.sol/IAuthorityHistoryPairFactory.json @@ -0,0 +1,139 @@ +[ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract IAuthorityFactory", + "name": "authorityFactory", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract IHistoryFactory", + "name": "historyFactory", + "type": "address" + } + ], + "name": "AuthorityHistoryPairFactoryCreated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "contract IInputBox", + "name": "_inputBox", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_salt", + "type": "bytes32" + } + ], + "name": "calculateAuthorityHistoryAddressPair", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAuthorityFactory", + "outputs": [ + { + "internalType": "contract IAuthorityFactory", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getHistoryFactory", + "outputs": [ + { + "internalType": "contract IHistoryFactory", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_authorityOwner", + "type": "address" + }, + { + "internalType": "contract IInputBox", + "name": "_inputBox", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_salt", + "type": "bytes32" + } + ], + "name": "newAuthorityHistoryPair", + "outputs": [ + { + "internalType": "contract Authority", + "name": "", + "type": "address" + }, + { + "internalType": "contract History", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_authorityOwner", + "type": "address" + }, + { + "internalType": "contract IInputBox", + "name": "_inputBox", + "type": "address" + } + ], + "name": "newAuthorityHistoryPair", + "outputs": [ + { + "internalType": "contract Authority", + "name": "", + "type": "address" + }, + { + "internalType": "contract History", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } +] diff --git a/onchain/rollups/export/artifacts/contracts/consensus/authority/AuthorityHistoryPairFactory.sol/AuthorityHistoryPairFactory.json b/onchain/rollups/export/artifacts/contracts/consensus/authority/AuthorityHistoryPairFactory.sol/AuthorityHistoryPairFactory.json new file mode 100644 index 00000000..49e4c0df --- /dev/null +++ b/onchain/rollups/export/artifacts/contracts/consensus/authority/AuthorityHistoryPairFactory.sol/AuthorityHistoryPairFactory.json @@ -0,0 +1,280 @@ +{ + "contractName": "AuthorityHistoryPairFactory", + "sourceName": "contracts/consensus/authority/AuthorityHistoryPairFactory.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "contract IAuthorityFactory", + "name": "_authorityFactory", + "type": "address" + }, + { + "internalType": "contract IHistoryFactory", + "name": "_historyFactory", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract IAuthorityFactory", + "name": "authorityFactory", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract IHistoryFactory", + "name": "historyFactory", + "type": "address" + } + ], + "name": "AuthorityHistoryPairFactoryCreated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "contract IInputBox", + "name": "_inputBox", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_salt", + "type": "bytes32" + } + ], + "name": "calculateAuthorityHistoryAddressPair", + "outputs": [ + { + "internalType": "address", + "name": "authorityAddress_", + "type": "address" + }, + { + "internalType": "address", + "name": "historyAddress_", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAuthorityFactory", + "outputs": [ + { + "internalType": "contract IAuthorityFactory", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getHistoryFactory", + "outputs": [ + { + "internalType": "contract IHistoryFactory", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_authorityOwner", + "type": "address" + }, + { + "internalType": "contract IInputBox", + "name": "_inputBox", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_salt", + "type": "bytes32" + } + ], + "name": "newAuthorityHistoryPair", + "outputs": [ + { + "internalType": "contract Authority", + "name": "authority_", + "type": "address" + }, + { + "internalType": "contract History", + "name": "history_", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_authorityOwner", + "type": "address" + }, + { + "internalType": "contract IInputBox", + "name": "_inputBox", + "type": "address" + } + ], + "name": "newAuthorityHistoryPair", + "outputs": [ + { + "internalType": "contract Authority", + "name": "authority_", + "type": "address" + }, + { + "internalType": "contract History", + "name": "history_", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x60c060405234801561001057600080fd5b5060405161087538038061087583398101604081905261002f916100a0565b6001600160a01b03828116608081905290821660a08190526040805192835260208301919091527f030bcdc35fc24f8a53829b016647c842a9d981d1fed3783a7e282b6e6c9ea4a9910160405180910390a150506100da565b6001600160a01b038116811461009d57600080fd5b50565b600080604083850312156100b357600080fd5b82516100be81610088565b60208401519092506100cf81610088565b809150509250929050565b60805160a05161074e6101276000396000818160f6015281816101e1015281816103d7015261050601526000818160a90152818161014b015281816103430152610477015261074e6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063053527741461005c57806339dcd4571461009457806375689f83146100a75780639f8999cc146100e1578063f16b1a5c146100f4575b600080fd5b61006f61006a36600461064e565b61011a565b604080516001600160a01b039384168152929091166020830152015b60405180910390f35b61006f6100a236600461068f565b610312565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161008b565b61006f6100ef3660046106bb565b61044d565b7f00000000000000000000000000000000000000000000000000000000000000006100c9565b604051632a4bcb3760e01b81523060048201526001600160a01b0383811660248301526044820183905260009182917f00000000000000000000000000000000000000000000000000000000000000001690632a4bcb37906064016020604051808303816000875af1158015610194573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b891906106f4565b604051632ab8b11560e01b81526001600160a01b038083166004830152602482018690529193507f000000000000000000000000000000000000000000000000000000000000000090911690632ab8b115906044016020604051808303816000875af115801561022c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025091906106f4565b60405163159c5ea160e01b81526001600160a01b0380831660048301529192509083169063159c5ea190602401600060405180830381600087803b15801561029757600080fd5b505af11580156102ab573d6000803e3d6000fd5b505060405163f2fde38b60e01b81526001600160a01b0388811660048301528516925063f2fde38b9150602401600060405180830381600087803b1580156102f257600080fd5b505af1158015610306573d6000803e3d6000fd5b50505050935093915050565b604051635199997360e01b81523060048201526001600160a01b0383811660248301526044820183905260009182917f00000000000000000000000000000000000000000000000000000000000000001690635199997390606401602060405180830381865afa15801561038a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ae91906106f4565b60405163287ce2dd60e11b81526001600160a01b038083166004830152602482018690529193507f0000000000000000000000000000000000000000000000000000000000000000909116906350f9c5ba90604401602060405180830381865afa158015610420573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044491906106f4565b90509250929050565b604051631809c90b60e31b81523060048201526001600160a01b03828116602483015260009182917f0000000000000000000000000000000000000000000000000000000000000000169063c04e4858906044016020604051808303816000875af11580156104c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e491906106f4565b60405163446a4d3160e11b81526001600160a01b0380831660048301529193507f0000000000000000000000000000000000000000000000000000000000000000909116906388d49a62906024016020604051808303816000875af1158015610551573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057591906106f4565b60405163159c5ea160e01b81526001600160a01b0380831660048301529192509083169063159c5ea190602401600060405180830381600087803b1580156105bc57600080fd5b505af11580156105d0573d6000803e3d6000fd5b505060405163f2fde38b60e01b81526001600160a01b0387811660048301528516925063f2fde38b9150602401600060405180830381600087803b15801561061757600080fd5b505af115801561062b573d6000803e3d6000fd5b505050509250929050565b6001600160a01b038116811461064b57600080fd5b50565b60008060006060848603121561066357600080fd5b833561066e81610636565b9250602084013561067e81610636565b929592945050506040919091013590565b600080604083850312156106a257600080fd5b82356106ad81610636565b946020939093013593505050565b600080604083850312156106ce57600080fd5b82356106d981610636565b915060208301356106e981610636565b809150509250929050565b60006020828403121561070657600080fd5b815161071181610636565b939250505056fea26469706673582212207122f14ef2cdce6058807c1624d576becef1212b287ec2711fd817649ccf1ccd64736f6c63430008130033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c8063053527741461005c57806339dcd4571461009457806375689f83146100a75780639f8999cc146100e1578063f16b1a5c146100f4575b600080fd5b61006f61006a36600461064e565b61011a565b604080516001600160a01b039384168152929091166020830152015b60405180910390f35b61006f6100a236600461068f565b610312565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161008b565b61006f6100ef3660046106bb565b61044d565b7f00000000000000000000000000000000000000000000000000000000000000006100c9565b604051632a4bcb3760e01b81523060048201526001600160a01b0383811660248301526044820183905260009182917f00000000000000000000000000000000000000000000000000000000000000001690632a4bcb37906064016020604051808303816000875af1158015610194573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b891906106f4565b604051632ab8b11560e01b81526001600160a01b038083166004830152602482018690529193507f000000000000000000000000000000000000000000000000000000000000000090911690632ab8b115906044016020604051808303816000875af115801561022c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025091906106f4565b60405163159c5ea160e01b81526001600160a01b0380831660048301529192509083169063159c5ea190602401600060405180830381600087803b15801561029757600080fd5b505af11580156102ab573d6000803e3d6000fd5b505060405163f2fde38b60e01b81526001600160a01b0388811660048301528516925063f2fde38b9150602401600060405180830381600087803b1580156102f257600080fd5b505af1158015610306573d6000803e3d6000fd5b50505050935093915050565b604051635199997360e01b81523060048201526001600160a01b0383811660248301526044820183905260009182917f00000000000000000000000000000000000000000000000000000000000000001690635199997390606401602060405180830381865afa15801561038a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ae91906106f4565b60405163287ce2dd60e11b81526001600160a01b038083166004830152602482018690529193507f0000000000000000000000000000000000000000000000000000000000000000909116906350f9c5ba90604401602060405180830381865afa158015610420573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044491906106f4565b90509250929050565b604051631809c90b60e31b81523060048201526001600160a01b03828116602483015260009182917f0000000000000000000000000000000000000000000000000000000000000000169063c04e4858906044016020604051808303816000875af11580156104c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e491906106f4565b60405163446a4d3160e11b81526001600160a01b0380831660048301529193507f0000000000000000000000000000000000000000000000000000000000000000909116906388d49a62906024016020604051808303816000875af1158015610551573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057591906106f4565b60405163159c5ea160e01b81526001600160a01b0380831660048301529192509083169063159c5ea190602401600060405180830381600087803b1580156105bc57600080fd5b505af11580156105d0573d6000803e3d6000fd5b505060405163f2fde38b60e01b81526001600160a01b0387811660048301528516925063f2fde38b9150602401600060405180830381600087803b15801561061757600080fd5b505af115801561062b573d6000803e3d6000fd5b505050509250929050565b6001600160a01b038116811461064b57600080fd5b50565b60008060006060848603121561066357600080fd5b833561066e81610636565b9250602084013561067e81610636565b929592945050506040919091013590565b600080604083850312156106a257600080fd5b82356106ad81610636565b946020939093013593505050565b600080604083850312156106ce57600080fd5b82356106d981610636565b915060208301356106e981610636565b809150509250929050565b60006020828403121561070657600080fd5b815161071181610636565b939250505056fea26469706673582212207122f14ef2cdce6058807c1624d576becef1212b287ec2711fd817649ccf1ccd64736f6c63430008130033", + "linkReferences": {}, + "deployedLinkReferences": {}, + "devdoc": { + "events": { + "AuthorityHistoryPairFactoryCreated(address,address)": { + "details": "MUST be emitted on construction.", + "params": { + "authorityFactory": "The underlying `Authority` factory", + "historyFactory": "The underlying `History` factory" + } + } + }, + "kind": "dev", + "methods": { + "calculateAuthorityHistoryAddressPair(address,bytes32)": { + "details": "Beware that only the `newAuthorityHistoryPair` function with the `_salt` parameter is able to deterministically deploy an authority-history pair.", + "params": { + "_inputBox": "The input box", + "_salt": "The salt used to deterministically generate the authority-history address pair" + }, + "returns": { + "authorityAddress_": "The deterministic authority address", + "historyAddress_": "The deterministic history address" + } + }, + "constructor": { + "params": { + "_authorityFactory": "The `Authority` factory", + "_historyFactory": "The `History` factory" + } + }, + "getAuthorityFactory()": { + "returns": { + "_0": "The `Authority` factory" + } + }, + "getHistoryFactory()": { + "returns": { + "_0": "The `History` factory" + } + }, + "newAuthorityHistoryPair(address,address)": { + "params": { + "_authorityOwner": "The initial authority owner", + "_inputBox": "The input box" + }, + "returns": { + "authority_": "The authority", + "history_": "The history" + } + }, + "newAuthorityHistoryPair(address,address,bytes32)": { + "params": { + "_authorityOwner": "The initial authority owner", + "_inputBox": "The input box", + "_salt": "The salt used to deterministically generate the authority-history pair address" + }, + "returns": { + "authority_": "The authority", + "history_": "The history" + } + } + }, + "title": "Authority-History Pair Factory", + "version": 1 + }, + "userdoc": { + "events": { + "AuthorityHistoryPairFactoryCreated(address,address)": { + "notice": "The factory was created." + } + }, + "kind": "user", + "methods": { + "calculateAuthorityHistoryAddressPair(address,bytes32)": { + "notice": "Calculate the address of an authority-history pair to be deployed deterministically." + }, + "constructor": { + "notice": "Constructs the factory." + }, + "getAuthorityFactory()": { + "notice": "Get the factory used to deploy `Authority` contracts" + }, + "getHistoryFactory()": { + "notice": "Get the factory used to deploy `History` contracts" + }, + "newAuthorityHistoryPair(address,address)": { + "notice": "Deploy a new authority-history pair." + }, + "newAuthorityHistoryPair(address,address,bytes32)": { + "notice": "Deploy a new authority-history pair deterministically." + } + }, + "notice": "Allows anyone to reliably deploy a new Authority-History pair.", + "version": 1 + }, + "evm": { + "gasEstimates": { + "creation": { + "codeDepositCost": "374000", + "executionCost": "infinite", + "totalCost": "infinite" + }, + "external": { + "calculateAuthorityHistoryAddressPair(address,bytes32)": "infinite", + "getAuthorityFactory()": "infinite", + "getHistoryFactory()": "infinite", + "newAuthorityHistoryPair(address,address)": "infinite", + "newAuthorityHistoryPair(address,address,bytes32)": "infinite" + } + }, + "methodIdentifiers": { + "calculateAuthorityHistoryAddressPair(address,bytes32)": "39dcd457", + "getAuthorityFactory()": "75689f83", + "getHistoryFactory()": "f16b1a5c", + "newAuthorityHistoryPair(address,address)": "9f8999cc", + "newAuthorityHistoryPair(address,address,bytes32)": "05352774" + } + } +} \ No newline at end of file diff --git a/onchain/rollups/export/artifacts/contracts/consensus/authority/IAuthorityHistoryPairFactory.sol/IAuthorityHistoryPairFactory.json b/onchain/rollups/export/artifacts/contracts/consensus/authority/IAuthorityHistoryPairFactory.sol/IAuthorityHistoryPairFactory.json new file mode 100644 index 00000000..3e06091f --- /dev/null +++ b/onchain/rollups/export/artifacts/contracts/consensus/authority/IAuthorityHistoryPairFactory.sol/IAuthorityHistoryPairFactory.json @@ -0,0 +1,241 @@ +{ + "contractName": "IAuthorityHistoryPairFactory", + "sourceName": "contracts/consensus/authority/IAuthorityHistoryPairFactory.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract IAuthorityFactory", + "name": "authorityFactory", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract IHistoryFactory", + "name": "historyFactory", + "type": "address" + } + ], + "name": "AuthorityHistoryPairFactoryCreated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "contract IInputBox", + "name": "_inputBox", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_salt", + "type": "bytes32" + } + ], + "name": "calculateAuthorityHistoryAddressPair", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAuthorityFactory", + "outputs": [ + { + "internalType": "contract IAuthorityFactory", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getHistoryFactory", + "outputs": [ + { + "internalType": "contract IHistoryFactory", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_authorityOwner", + "type": "address" + }, + { + "internalType": "contract IInputBox", + "name": "_inputBox", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_salt", + "type": "bytes32" + } + ], + "name": "newAuthorityHistoryPair", + "outputs": [ + { + "internalType": "contract Authority", + "name": "", + "type": "address" + }, + { + "internalType": "contract History", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_authorityOwner", + "type": "address" + }, + { + "internalType": "contract IInputBox", + "name": "_inputBox", + "type": "address" + } + ], + "name": "newAuthorityHistoryPair", + "outputs": [ + { + "internalType": "contract Authority", + "name": "", + "type": "address" + }, + { + "internalType": "contract History", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {}, + "devdoc": { + "events": { + "AuthorityHistoryPairFactoryCreated(address,address)": { + "details": "MUST be emitted on construction.", + "params": { + "authorityFactory": "The underlying `Authority` factory", + "historyFactory": "The underlying `History` factory" + } + } + }, + "kind": "dev", + "methods": { + "calculateAuthorityHistoryAddressPair(address,bytes32)": { + "details": "Beware that only the `newAuthorityHistoryPair` function with the `_salt` parameter is able to deterministically deploy an authority-history pair.", + "params": { + "_inputBox": "The input box", + "_salt": "The salt used to deterministically generate the authority-history address pair" + }, + "returns": { + "_0": "The deterministic authority address", + "_1": "The deterministic history address" + } + }, + "getAuthorityFactory()": { + "returns": { + "_0": "The `Authority` factory" + } + }, + "getHistoryFactory()": { + "returns": { + "_0": "The `History` factory" + } + }, + "newAuthorityHistoryPair(address,address)": { + "params": { + "_authorityOwner": "The initial authority owner", + "_inputBox": "The input box" + }, + "returns": { + "_0": "The authority", + "_1": "The history" + } + }, + "newAuthorityHistoryPair(address,address,bytes32)": { + "params": { + "_authorityOwner": "The initial authority owner", + "_inputBox": "The input box", + "_salt": "The salt used to deterministically generate the authority-history pair address" + }, + "returns": { + "_0": "The authority", + "_1": "The history" + } + } + }, + "title": "Authority-History Pair Factory interface", + "version": 1 + }, + "userdoc": { + "events": { + "AuthorityHistoryPairFactoryCreated(address,address)": { + "notice": "The factory was created." + } + }, + "kind": "user", + "methods": { + "calculateAuthorityHistoryAddressPair(address,bytes32)": { + "notice": "Calculate the address of an authority-history pair to be deployed deterministically." + }, + "getAuthorityFactory()": { + "notice": "Get the factory used to deploy `Authority` contracts" + }, + "getHistoryFactory()": { + "notice": "Get the factory used to deploy `History` contracts" + }, + "newAuthorityHistoryPair(address,address)": { + "notice": "Deploy a new authority-history pair." + }, + "newAuthorityHistoryPair(address,address,bytes32)": { + "notice": "Deploy a new authority-history pair deterministically." + } + }, + "version": 1 + }, + "evm": { + "gasEstimates": null, + "methodIdentifiers": { + "calculateAuthorityHistoryAddressPair(address,bytes32)": "39dcd457", + "getAuthorityFactory()": "75689f83", + "getHistoryFactory()": "f16b1a5c", + "newAuthorityHistoryPair(address,address)": "9f8999cc", + "newAuthorityHistoryPair(address,address,bytes32)": "05352774" + } + } +} \ No newline at end of file