@lukso/lsp-smart-contracts
Version:
The reference smart contract implementation for the LUKSO LSP standards
520 lines • 14.4 kB
JSON
{
"_format": "hh3-artifact-1",
"contractName": "ILSP23LinkedContractsFactory",
"sourceName": "contracts/ILSP23LinkedContractsFactory.sol",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "primaryContract",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "secondaryContract",
"type": "address"
},
{
"components": [
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "fundingAmount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "creationBytecode",
"type": "bytes"
}
],
"indexed": false,
"internalType": "struct ILSP23LinkedContractsFactory.PrimaryContractDeployment",
"name": "primaryContractDeployment",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint256",
"name": "fundingAmount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "creationBytecode",
"type": "bytes"
},
{
"internalType": "bool",
"name": "addPrimaryContractAddress",
"type": "bool"
},
{
"internalType": "bytes",
"name": "extraConstructorParams",
"type": "bytes"
}
],
"indexed": false,
"internalType": "struct ILSP23LinkedContractsFactory.SecondaryContractDeployment",
"name": "secondaryContractDeployment",
"type": "tuple"
},
{
"indexed": false,
"internalType": "address",
"name": "postDeploymentModule",
"type": "address"
},
{
"indexed": false,
"internalType": "bytes",
"name": "postDeploymentModuleCalldata",
"type": "bytes"
}
],
"name": "DeployedContracts",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "primaryContract",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "secondaryContract",
"type": "address"
},
{
"components": [
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "fundingAmount",
"type": "uint256"
},
{
"internalType": "address",
"name": "implementationContract",
"type": "address"
},
{
"internalType": "bytes",
"name": "initializationCalldata",
"type": "bytes"
}
],
"indexed": false,
"internalType": "struct ILSP23LinkedContractsFactory.PrimaryContractDeploymentInit",
"name": "primaryContractDeploymentInit",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint256",
"name": "fundingAmount",
"type": "uint256"
},
{
"internalType": "address",
"name": "implementationContract",
"type": "address"
},
{
"internalType": "bytes",
"name": "initializationCalldata",
"type": "bytes"
},
{
"internalType": "bool",
"name": "addPrimaryContractAddress",
"type": "bool"
},
{
"internalType": "bytes",
"name": "extraInitializationParams",
"type": "bytes"
}
],
"indexed": false,
"internalType": "struct ILSP23LinkedContractsFactory.SecondaryContractDeploymentInit",
"name": "secondaryContractDeploymentInit",
"type": "tuple"
},
{
"indexed": false,
"internalType": "address",
"name": "postDeploymentModule",
"type": "address"
},
{
"indexed": false,
"internalType": "bytes",
"name": "postDeploymentModuleCalldata",
"type": "bytes"
}
],
"name": "DeployedERC1167Proxies",
"type": "event"
},
{
"inputs": [
{
"components": [
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "fundingAmount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "creationBytecode",
"type": "bytes"
}
],
"internalType": "struct ILSP23LinkedContractsFactory.PrimaryContractDeployment",
"name": "primaryContractDeployment",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint256",
"name": "fundingAmount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "creationBytecode",
"type": "bytes"
},
{
"internalType": "bool",
"name": "addPrimaryContractAddress",
"type": "bool"
},
{
"internalType": "bytes",
"name": "extraConstructorParams",
"type": "bytes"
}
],
"internalType": "struct ILSP23LinkedContractsFactory.SecondaryContractDeployment",
"name": "secondaryContractDeployment",
"type": "tuple"
},
{
"internalType": "address",
"name": "postDeploymentModule",
"type": "address"
},
{
"internalType": "bytes",
"name": "postDeploymentModuleCalldata",
"type": "bytes"
}
],
"name": "computeAddresses",
"outputs": [
{
"internalType": "address",
"name": "primaryContractAddress",
"type": "address"
},
{
"internalType": "address",
"name": "secondaryContractAddress",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "fundingAmount",
"type": "uint256"
},
{
"internalType": "address",
"name": "implementationContract",
"type": "address"
},
{
"internalType": "bytes",
"name": "initializationCalldata",
"type": "bytes"
}
],
"internalType": "struct ILSP23LinkedContractsFactory.PrimaryContractDeploymentInit",
"name": "primaryContractDeploymentInit",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint256",
"name": "fundingAmount",
"type": "uint256"
},
{
"internalType": "address",
"name": "implementationContract",
"type": "address"
},
{
"internalType": "bytes",
"name": "initializationCalldata",
"type": "bytes"
},
{
"internalType": "bool",
"name": "addPrimaryContractAddress",
"type": "bool"
},
{
"internalType": "bytes",
"name": "extraInitializationParams",
"type": "bytes"
}
],
"internalType": "struct ILSP23LinkedContractsFactory.SecondaryContractDeploymentInit",
"name": "secondaryContractDeploymentInit",
"type": "tuple"
},
{
"internalType": "address",
"name": "postDeploymentModule",
"type": "address"
},
{
"internalType": "bytes",
"name": "postDeploymentModuleCalldata",
"type": "bytes"
}
],
"name": "computeERC1167Addresses",
"outputs": [
{
"internalType": "address",
"name": "primaryContractAddress",
"type": "address"
},
{
"internalType": "address",
"name": "secondaryContractAddress",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "fundingAmount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "creationBytecode",
"type": "bytes"
}
],
"internalType": "struct ILSP23LinkedContractsFactory.PrimaryContractDeployment",
"name": "primaryContractDeployment",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint256",
"name": "fundingAmount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "creationBytecode",
"type": "bytes"
},
{
"internalType": "bool",
"name": "addPrimaryContractAddress",
"type": "bool"
},
{
"internalType": "bytes",
"name": "extraConstructorParams",
"type": "bytes"
}
],
"internalType": "struct ILSP23LinkedContractsFactory.SecondaryContractDeployment",
"name": "secondaryContractDeployment",
"type": "tuple"
},
{
"internalType": "address",
"name": "postDeploymentModule",
"type": "address"
},
{
"internalType": "bytes",
"name": "postDeploymentModuleCalldata",
"type": "bytes"
}
],
"name": "deployContracts",
"outputs": [
{
"internalType": "address",
"name": "primaryContractAddress",
"type": "address"
},
{
"internalType": "address",
"name": "secondaryContractAddress",
"type": "address"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "fundingAmount",
"type": "uint256"
},
{
"internalType": "address",
"name": "implementationContract",
"type": "address"
},
{
"internalType": "bytes",
"name": "initializationCalldata",
"type": "bytes"
}
],
"internalType": "struct ILSP23LinkedContractsFactory.PrimaryContractDeploymentInit",
"name": "primaryContractDeploymentInit",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint256",
"name": "fundingAmount",
"type": "uint256"
},
{
"internalType": "address",
"name": "implementationContract",
"type": "address"
},
{
"internalType": "bytes",
"name": "initializationCalldata",
"type": "bytes"
},
{
"internalType": "bool",
"name": "addPrimaryContractAddress",
"type": "bool"
},
{
"internalType": "bytes",
"name": "extraInitializationParams",
"type": "bytes"
}
],
"internalType": "struct ILSP23LinkedContractsFactory.SecondaryContractDeploymentInit",
"name": "secondaryContractDeploymentInit",
"type": "tuple"
},
{
"internalType": "address",
"name": "postDeploymentModule",
"type": "address"
},
{
"internalType": "bytes",
"name": "postDeploymentModuleCalldata",
"type": "bytes"
}
],
"name": "deployERC1167Proxies",
"outputs": [
{
"internalType": "address",
"name": "primaryContractAddress",
"type": "address"
},
{
"internalType": "address",
"name": "secondaryContractAddress",
"type": "address"
}
],
"stateMutability": "payable",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {},
"immutableReferences": {},
"inputSourceName": "project/contracts/ILSP23LinkedContractsFactory.sol",
"buildInfoId": "solc-0_8_17-8c4c2ea990fda04bb667010949fa3affc1e1dccd"
}