diff --git a/deployments/rinkeby/Active7DaysFundingCycleBallot.json b/deployments/rinkeby/Active7DaysFundingCycleBallot.json new file mode 100644 index 0000000..689791d --- /dev/null +++ b/deployments/rinkeby/Active7DaysFundingCycleBallot.json @@ -0,0 +1,55 @@ +{ + "address": "0x6A769804102770781e46843e0100FaF558F2120F", + "abi": [ + { + "inputs": [], + "name": "duration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "reconfigurationDelay", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_configured", + "type": "uint256" + } + ], + "name": "state", + "outputs": [ + { + "internalType": "enum BallotState", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + } + ] +} diff --git a/deployments/rinkeby/FundingCycles.json b/deployments/rinkeby/FundingCycles.json new file mode 100644 index 0000000..89fdc0d --- /dev/null +++ b/deployments/rinkeby/FundingCycles.json @@ -0,0 +1,839 @@ +{ + "address": "0x234985c467E90483bA42fB2C7C2f71A1874D805D", + "abi": [ + { + "inputs": [ + { + "internalType": "contract ITerminalDirectory", + "name": "_terminalDirectory", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "prod1", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "denominator", + "type": "uint256" + } + ], + "name": "PRBMath__MulDivOverflow", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "fundingCycleId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reconfigured", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "target", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "currency", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "cycleLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "discountRate", + "type": "uint256" + }, + { + "internalType": "contract IFundingCycleBallot", + "name": "ballot", + "type": "address" + } + ], + "indexed": false, + "internalType": "struct FundingCycleProperties", + "name": "_properties", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "metadata", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "Configure", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "fundingCycleId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "number", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "previous", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "weight", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "start", + "type": "uint256" + } + ], + "name": "Init", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "fundingCycleId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newTappedAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "Tap", + "type": "event" + }, + { + "inputs": [], + "name": "BASE_WEIGHT", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_CYCLE_LIMIT", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "target", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "currency", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "cycleLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "discountRate", + "type": "uint256" + }, + { + "internalType": "contract IFundingCycleBallot", + "name": "ballot", + "type": "address" + } + ], + "internalType": "struct FundingCycleProperties", + "name": "_properties", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_metadata", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_fee", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "_configureActiveFundingCycle", + "type": "bool" + } + ], + "name": "configure", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "basedOn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "configured", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "cycleLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "weight", + "type": "uint256" + }, + { + "internalType": "contract IFundingCycleBallot", + "name": "ballot", + "type": "address" + }, + { + "internalType": "uint256", + "name": "start", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "target", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "currency", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "fee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "discountRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tapped", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "metadata", + "type": "uint256" + } + ], + "internalType": "struct FundingCycle", + "name": "fundingCycle", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "count", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + } + ], + "name": "currentBallotStateOf", + "outputs": [ + { + "internalType": "enum BallotState", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + } + ], + "name": "currentOf", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "basedOn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "configured", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "cycleLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "weight", + "type": "uint256" + }, + { + "internalType": "contract IFundingCycleBallot", + "name": "ballot", + "type": "address" + }, + { + "internalType": "uint256", + "name": "start", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "target", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "currency", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "fee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "discountRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tapped", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "metadata", + "type": "uint256" + } + ], + "internalType": "struct FundingCycle", + "name": "fundingCycle", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_fundingCycleId", + "type": "uint256" + } + ], + "name": "get", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "basedOn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "configured", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "cycleLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "weight", + "type": "uint256" + }, + { + "internalType": "contract IFundingCycleBallot", + "name": "ballot", + "type": "address" + }, + { + "internalType": "uint256", + "name": "start", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "target", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "currency", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "fee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "discountRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tapped", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "metadata", + "type": "uint256" + } + ], + "internalType": "struct FundingCycle", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "latestIdOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + } + ], + "name": "queuedOf", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "basedOn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "configured", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "cycleLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "weight", + "type": "uint256" + }, + { + "internalType": "contract IFundingCycleBallot", + "name": "ballot", + "type": "address" + }, + { + "internalType": "uint256", + "name": "start", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "target", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "currency", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "fee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "discountRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tapped", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "metadata", + "type": "uint256" + } + ], + "internalType": "struct FundingCycle", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "tap", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "basedOn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "configured", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "cycleLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "weight", + "type": "uint256" + }, + { + "internalType": "contract IFundingCycleBallot", + "name": "ballot", + "type": "address" + }, + { + "internalType": "uint256", + "name": "start", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "target", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "currency", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "fee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "discountRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tapped", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "metadata", + "type": "uint256" + } + ], + "internalType": "struct FundingCycle", + "name": "fundingCycle", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "terminalDirectory", + "outputs": [ + { + "internalType": "contract ITerminalDirectory", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ] +} diff --git a/deployments/rinkeby/Governance.json b/deployments/rinkeby/Governance.json new file mode 100644 index 0000000..802ed47 --- /dev/null +++ b/deployments/rinkeby/Governance.json @@ -0,0 +1,365 @@ +{ + "address": "0xfeCeD4eBe0529a429d7DEE321Ec6F57287B8f415", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "contract ITerminalDirectory", + "name": "_terminalDirectory", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "contract ITerminalV1", + "name": "_terminalV1", + "type": "address" + } + ], + "name": "acceptGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IPrices", + "name": "_prices", + "type": "address" + }, + { + "internalType": "contract AggregatorV3Interface", + "name": "_feed", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_currency", + "type": "uint256" + } + ], + "name": "addPriceFeed", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ITerminal", + "name": "_from", + "type": "address" + }, + { + "internalType": "contract ITerminal", + "name": "_to", + "type": "address" + } + ], + "name": "allowMigration", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ITerminalV1", + "name": "_terminalV1", + "type": "address" + }, + { + "internalType": "address payable", + "name": "_newGovernance", + "type": "address" + } + ], + "name": "appointGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "onERC721Received", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_beneficiary", + "type": "address" + }, + { + "internalType": "string", + "name": "_memo", + "type": "string" + }, + { + "internalType": "bool", + "name": "_preferUnstakedTickets", + "type": "bool" + } + ], + "name": "pay", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "projectId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ITerminalV1", + "name": "_terminalV1", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_fee", + "type": "uint256" + } + ], + "name": "setFee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IOperatorStore", + "name": "_operatorStore", + "type": "address" + }, + { + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "_permissionIndexes", + "type": "uint256[]" + } + ], + "name": "setOperator", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IOperatorStore", + "name": "_operatorStore", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_operators", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_projectIds", + "type": "uint256[]" + }, + { + "internalType": "uint256[][]", + "name": "_permissionIndexes", + "type": "uint256[][]" + } + ], + "name": "setOperators", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + } + ], + "name": "setProjectId", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "terminalDirectory", + "outputs": [ + { + "internalType": "contract ITerminalDirectory", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IProjects", + "name": "_projects", + "type": "address" + }, + { + "internalType": "address", + "name": "_newOwner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "transferProjectOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address payable", + "name": "_beneficiary", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ] +} diff --git a/deployments/rinkeby/ModStore.json b/deployments/rinkeby/ModStore.json new file mode 100644 index 0000000..ee4726e --- /dev/null +++ b/deployments/rinkeby/ModStore.json @@ -0,0 +1,383 @@ +{ + "address": "0x5C091AfF0b5A5B211b7828242343e5ec2306a95B", + "abi": [ + { + "inputs": [ + { + "internalType": "contract IProjects", + "name": "_projects", + "type": "address" + }, + { + "internalType": "contract IOperatorStore", + "name": "_operatorStore", + "type": "address" + }, + { + "internalType": "contract ITerminalDirectory", + "name": "_terminalDirectory", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "configuration", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "bool", + "name": "preferUnstaked", + "type": "bool" + }, + { + "internalType": "uint16", + "name": "percent", + "type": "uint16" + }, + { + "internalType": "uint48", + "name": "lockedUntil", + "type": "uint48" + }, + { + "internalType": "address payable", + "name": "beneficiary", + "type": "address" + }, + { + "internalType": "contract IModAllocator", + "name": "allocator", + "type": "address" + }, + { + "internalType": "uint56", + "name": "projectId", + "type": "uint56" + } + ], + "indexed": false, + "internalType": "struct PayoutMod", + "name": "mods", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "SetPayoutMod", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "configuration", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "bool", + "name": "preferUnstaked", + "type": "bool" + }, + { + "internalType": "uint16", + "name": "percent", + "type": "uint16" + }, + { + "internalType": "uint48", + "name": "lockedUntil", + "type": "uint48" + }, + { + "internalType": "address payable", + "name": "beneficiary", + "type": "address" + } + ], + "indexed": false, + "internalType": "struct TicketMod", + "name": "mods", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "SetTicketMod", + "type": "event" + }, + { + "inputs": [], + "name": "operatorStore", + "outputs": [ + { + "internalType": "contract IOperatorStore", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_configuration", + "type": "uint256" + } + ], + "name": "payoutModsOf", + "outputs": [ + { + "components": [ + { + "internalType": "bool", + "name": "preferUnstaked", + "type": "bool" + }, + { + "internalType": "uint16", + "name": "percent", + "type": "uint16" + }, + { + "internalType": "uint48", + "name": "lockedUntil", + "type": "uint48" + }, + { + "internalType": "address payable", + "name": "beneficiary", + "type": "address" + }, + { + "internalType": "contract IModAllocator", + "name": "allocator", + "type": "address" + }, + { + "internalType": "uint56", + "name": "projectId", + "type": "uint56" + } + ], + "internalType": "struct PayoutMod[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "projects", + "outputs": [ + { + "internalType": "contract IProjects", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_configuration", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "bool", + "name": "preferUnstaked", + "type": "bool" + }, + { + "internalType": "uint16", + "name": "percent", + "type": "uint16" + }, + { + "internalType": "uint48", + "name": "lockedUntil", + "type": "uint48" + }, + { + "internalType": "address payable", + "name": "beneficiary", + "type": "address" + }, + { + "internalType": "contract IModAllocator", + "name": "allocator", + "type": "address" + }, + { + "internalType": "uint56", + "name": "projectId", + "type": "uint56" + } + ], + "internalType": "struct PayoutMod[]", + "name": "_mods", + "type": "tuple[]" + } + ], + "name": "setPayoutMods", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_configuration", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "bool", + "name": "preferUnstaked", + "type": "bool" + }, + { + "internalType": "uint16", + "name": "percent", + "type": "uint16" + }, + { + "internalType": "uint48", + "name": "lockedUntil", + "type": "uint48" + }, + { + "internalType": "address payable", + "name": "beneficiary", + "type": "address" + } + ], + "internalType": "struct TicketMod[]", + "name": "_mods", + "type": "tuple[]" + } + ], + "name": "setTicketMods", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "terminalDirectory", + "outputs": [ + { + "internalType": "contract ITerminalDirectory", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_configuration", + "type": "uint256" + } + ], + "name": "ticketModsOf", + "outputs": [ + { + "components": [ + { + "internalType": "bool", + "name": "preferUnstaked", + "type": "bool" + }, + { + "internalType": "uint16", + "name": "percent", + "type": "uint16" + }, + { + "internalType": "uint48", + "name": "lockedUntil", + "type": "uint48" + }, + { + "internalType": "address payable", + "name": "beneficiary", + "type": "address" + } + ], + "internalType": "struct TicketMod[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + } + ] +} diff --git a/deployments/rinkeby/OperatorStore.json b/deployments/rinkeby/OperatorStore.json new file mode 100644 index 0000000..57f5e61 --- /dev/null +++ b/deployments/rinkeby/OperatorStore.json @@ -0,0 +1,185 @@ +{ + "address": "0x5dA2E4Ba83569fb7A22a4aDE14bBEf1236168406", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "domain", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "permissionIndexes", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "packed", + "type": "uint256" + } + ], + "name": "SetOperator", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_domain", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_permissionIndex", + "type": "uint256" + } + ], + "name": "hasPermission", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_domain", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "_permissionIndexes", + "type": "uint256[]" + } + ], + "name": "hasPermissions", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "permissionsOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_domain", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "_permissionIndexes", + "type": "uint256[]" + } + ], + "name": "setOperator", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_operators", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_domains", + "type": "uint256[]" + }, + { + "internalType": "uint256[][]", + "name": "_permissionIndexes", + "type": "uint256[][]" + } + ], + "name": "setOperators", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] +} diff --git a/deployments/rinkeby/Prices.json b/deployments/rinkeby/Prices.json new file mode 100644 index 0000000..4ec4d5d --- /dev/null +++ b/deployments/rinkeby/Prices.json @@ -0,0 +1,164 @@ +{ + "address": "0x22c2580c58D2F84165CD5af02729Af344cE7d637", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "currency", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "contract AggregatorV3Interface", + "name": "feed", + "type": "address" + } + ], + "name": "AddFeed", + "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": [ + { + "internalType": "contract AggregatorV3Interface", + "name": "_feed", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_currency", + "type": "uint256" + } + ], + "name": "addFeed", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "feedDecimalAdjuster", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "feedFor", + "outputs": [ + { + "internalType": "contract AggregatorV3Interface", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_currency", + "type": "uint256" + } + ], + "name": "getETHPriceFor", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "targetDecimals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] +} diff --git a/deployments/rinkeby/Projects.json b/deployments/rinkeby/Projects.json new file mode 100644 index 0000000..7a0fb70 --- /dev/null +++ b/deployments/rinkeby/Projects.json @@ -0,0 +1,845 @@ +{ + "address": "0x34A1d33e49907ADFE05fb4E21411a06a8c4300eE", + "abi": [ + { + "inputs": [ + { + "internalType": "contract IOperatorStore", + "name": "_operatorStore", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "handle", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "challengeExpiry", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "ChallengeHandle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "handle", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "ClaimHandle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "handle", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "string", + "name": "uri", + "type": "string" + }, + { + "indexed": false, + "internalType": "contract ITerminal", + "name": "terminal", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "Create", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "handle", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "RenewHandle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "handle", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "SetHandle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "uri", + "type": "string" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "SetUri", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "handle", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "newHandle", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "TransferHandle", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "challengeExpiryOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_handle", + "type": "bytes32" + } + ], + "name": "challengeHandle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_handle", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "_for", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + } + ], + "name": "claimHandle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "count", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_handle", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "_uri", + "type": "string" + }, + { + "internalType": "contract ITerminal", + "name": "_terminal", + "type": "address" + } + ], + "name": "create", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + } + ], + "name": "exists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "handleOf", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "operatorStore", + "outputs": [ + { + "internalType": "contract IOperatorStore", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "projectFor", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + } + ], + "name": "renewHandle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_handle", + "type": "bytes32" + } + ], + "name": "setHandle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_uri", + "type": "string" + } + ], + "name": "setUri", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "transferAddressFor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_newHandle", + "type": "bytes32" + } + ], + "name": "transferHandle", + "outputs": [ + { + "internalType": "bytes32", + "name": "_handle", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "uriOf", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + } + ] +} diff --git a/deployments/rinkeby/ProxyPaymentAddressManager.json b/deployments/rinkeby/ProxyPaymentAddressManager.json new file mode 100644 index 0000000..ee05c14 --- /dev/null +++ b/deployments/rinkeby/ProxyPaymentAddressManager.json @@ -0,0 +1,115 @@ +{ + "address": "0x6c1Ea739c6b065AF6B9E612e55ed7C8Ab004Fd17", + "abi": [ + { + "inputs": [ + { + "internalType": "contract ITerminalDirectory", + "name": "_terminalDirectory", + "type": "address" + }, + { + "internalType": "contract ITicketBooth", + "name": "_ticketBooth", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "memo", + "type": "string" + }, + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "Deploy", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + } + ], + "name": "addressesOf", + "outputs": [ + { + "internalType": "contract IProxyPaymentAddress[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_memo", + "type": "string" + } + ], + "name": "deploy", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "terminalDirectory", + "outputs": [ + { + "internalType": "contract ITerminalDirectory", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ticketBooth", + "outputs": [ + { + "internalType": "contract ITicketBooth", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ] +} diff --git a/deployments/rinkeby/TerminalDirectory.json b/deployments/rinkeby/TerminalDirectory.json new file mode 100644 index 0000000..05057f0 --- /dev/null +++ b/deployments/rinkeby/TerminalDirectory.json @@ -0,0 +1,252 @@ +{ + "address": "0x88d8c9E98E6EdE75252c2473abc9724965fe7474", + "abi": [ + { + "inputs": [ + { + "internalType": "contract IProjects", + "name": "_projects", + "type": "address" + }, + { + "internalType": "contract IOperatorStore", + "name": "_operatorStore", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "memo", + "type": "string" + }, + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "DeployAddress", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "beneficiary", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "preferUnstakedTickets", + "type": "bool" + } + ], + "name": "SetPayerPreferences", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "contract ITerminal", + "name": "terminal", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "SetTerminal", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + } + ], + "name": "addressesOf", + "outputs": [ + { + "internalType": "contract IDirectPaymentAddress[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "beneficiaryOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_memo", + "type": "string" + } + ], + "name": "deployAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "operatorStore", + "outputs": [ + { + "internalType": "contract IOperatorStore", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "projects", + "outputs": [ + { + "internalType": "contract IProjects", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_beneficiary", + "type": "address" + }, + { + "internalType": "bool", + "name": "_preferUnstakedTickets", + "type": "bool" + } + ], + "name": "setPayerPreferences", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "contract ITerminal", + "name": "_terminal", + "type": "address" + } + ], + "name": "setTerminal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "terminalOf", + "outputs": [ + { + "internalType": "contract ITerminal", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "unstakedTicketsPreferenceOf", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ] +} diff --git a/deployments/rinkeby/TerminalV1.json b/deployments/rinkeby/TerminalV1.json new file mode 100644 index 0000000..e73abe6 --- /dev/null +++ b/deployments/rinkeby/TerminalV1.json @@ -0,0 +1,1417 @@ +{ + "address": "0x9A5EbE744DF7B66E8Bdd41DB8d6C52073556eD93", + "abi": [ + { + "inputs": [ + { + "internalType": "contract IProjects", + "name": "_projects", + "type": "address" + }, + { + "internalType": "contract IFundingCycles", + "name": "_fundingCycles", + "type": "address" + }, + { + "internalType": "contract ITicketBooth", + "name": "_ticketBooth", + "type": "address" + }, + { + "internalType": "contract IOperatorStore", + "name": "_operatorStore", + "type": "address" + }, + { + "internalType": "contract IModStore", + "name": "_modStore", + "type": "address" + }, + { + "internalType": "contract IPrices", + "name": "_prices", + "type": "address" + }, + { + "internalType": "contract ITerminalDirectory", + "name": "_terminalDirectory", + "type": "address" + }, + { + "internalType": "address payable", + "name": "_governance", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "prod1", + "type": "uint256" + } + ], + "name": "PRBMath__MulDivFixedPointOverflow", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "prod1", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "denominator", + "type": "uint256" + } + ], + "name": "PRBMath__MulDivOverflow", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "governance", + "type": "address" + } + ], + "name": "AcceptGovernance", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "AddToBalance", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract ITerminal", + "name": "allowed", + "type": "address" + } + ], + "name": "AllowMigration", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "governance", + "type": "address" + } + ], + "name": "AppointGovernance", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "fundingCycleId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "Configure", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "fundingCycleId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "bool", + "name": "preferUnstaked", + "type": "bool" + }, + { + "internalType": "uint16", + "name": "percent", + "type": "uint16" + }, + { + "internalType": "uint48", + "name": "lockedUntil", + "type": "uint48" + }, + { + "internalType": "address payable", + "name": "beneficiary", + "type": "address" + }, + { + "internalType": "contract IModAllocator", + "name": "allocator", + "type": "address" + }, + { + "internalType": "uint56", + "name": "projectId", + "type": "uint56" + } + ], + "indexed": false, + "internalType": "struct PayoutMod", + "name": "mod", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "modCut", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "DistributeToPayoutMod", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "fundingCycleId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "bool", + "name": "preferUnstaked", + "type": "bool" + }, + { + "internalType": "uint16", + "name": "percent", + "type": "uint16" + }, + { + "internalType": "uint48", + "name": "lockedUntil", + "type": "uint48" + }, + { + "internalType": "address payable", + "name": "beneficiary", + "type": "address" + } + ], + "indexed": false, + "internalType": "struct TicketMod", + "name": "mod", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "modCut", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "DistributeToTicketMod", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "target", + "type": "uint256" + } + ], + "name": "EnsureTargetLocalWei", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "contract ITerminal", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "Migrate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "fundingCycleId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "beneficiary", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "note", + "type": "string" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "Pay", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "beneficiary", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "currency", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "memo", + "type": "string" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "PrintPreminedTickets", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "fundingCycleId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "beneficiary", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "count", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "beneficiaryTicketAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "PrintReserveTickets", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "holder", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "beneficiary", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "returnAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "Redeem", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "SetFee", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "SetTargetLocalWei", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract IYielder", + "name": "newYielder", + "type": "address" + } + ], + "name": "SetYielder", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "fundingCycleId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "beneficiary", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "currency", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "netTransferAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "beneficiaryTransferAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "govFeeAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "Tap", + "type": "event" + }, + { + "inputs": [], + "name": "acceptGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + } + ], + "name": "addToBalance", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ITerminal", + "name": "_contract", + "type": "address" + } + ], + "name": "allowMigration", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address payable", + "name": "_pendingGovernance", + "type": "address" + } + ], + "name": "appointGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + } + ], + "name": "canPrintPreminedTickets", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_count", + "type": "uint256" + } + ], + "name": "claimableOverflowOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "target", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "currency", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "cycleLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "discountRate", + "type": "uint256" + }, + { + "internalType": "contract IFundingCycleBallot", + "name": "ballot", + "type": "address" + } + ], + "internalType": "struct FundingCycleProperties", + "name": "_properties", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "reservedRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bondingCurveRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reconfigurationBondingCurveRate", + "type": "uint256" + } + ], + "internalType": "struct FundingCycleMetadata", + "name": "_metadata", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "bool", + "name": "preferUnstaked", + "type": "bool" + }, + { + "internalType": "uint16", + "name": "percent", + "type": "uint16" + }, + { + "internalType": "uint48", + "name": "lockedUntil", + "type": "uint48" + }, + { + "internalType": "address payable", + "name": "beneficiary", + "type": "address" + }, + { + "internalType": "contract IModAllocator", + "name": "allocator", + "type": "address" + }, + { + "internalType": "uint56", + "name": "projectId", + "type": "uint56" + } + ], + "internalType": "struct PayoutMod[]", + "name": "_payoutMods", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "bool", + "name": "preferUnstaked", + "type": "bool" + }, + { + "internalType": "uint16", + "name": "percent", + "type": "uint16" + }, + { + "internalType": "uint48", + "name": "lockedUntil", + "type": "uint48" + }, + { + "internalType": "address payable", + "name": "beneficiary", + "type": "address" + } + ], + "internalType": "struct TicketMod[]", + "name": "_ticketMods", + "type": "tuple[]" + } + ], + "name": "configure", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + } + ], + "name": "currentOverflowOf", + "outputs": [ + { + "internalType": "uint256", + "name": "overflow", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_handle", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "_uri", + "type": "string" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "target", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "currency", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "cycleLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "discountRate", + "type": "uint256" + }, + { + "internalType": "contract IFundingCycleBallot", + "name": "ballot", + "type": "address" + } + ], + "internalType": "struct FundingCycleProperties", + "name": "_properties", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "reservedRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bondingCurveRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reconfigurationBondingCurveRate", + "type": "uint256" + } + ], + "internalType": "struct FundingCycleMetadata", + "name": "_metadata", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "bool", + "name": "preferUnstaked", + "type": "bool" + }, + { + "internalType": "uint16", + "name": "percent", + "type": "uint16" + }, + { + "internalType": "uint48", + "name": "lockedUntil", + "type": "uint48" + }, + { + "internalType": "address payable", + "name": "beneficiary", + "type": "address" + }, + { + "internalType": "contract IModAllocator", + "name": "allocator", + "type": "address" + }, + { + "internalType": "uint56", + "name": "projectId", + "type": "uint56" + } + ], + "internalType": "struct PayoutMod[]", + "name": "_payoutMods", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "bool", + "name": "preferUnstaked", + "type": "bool" + }, + { + "internalType": "uint16", + "name": "percent", + "type": "uint16" + }, + { + "internalType": "uint48", + "name": "lockedUntil", + "type": "uint48" + }, + { + "internalType": "address payable", + "name": "beneficiary", + "type": "address" + } + ], + "internalType": "struct TicketMod[]", + "name": "_ticketMods", + "type": "tuple[]" + } + ], + "name": "deploy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "fee", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "fundingCycles", + "outputs": [ + { + "internalType": "contract IFundingCycles", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governance", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "contract ITerminal", + "name": "_to", + "type": "address" + } + ], + "name": "migrate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ITerminal", + "name": "", + "type": "address" + } + ], + "name": "migrationIsAllowed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "modStore", + "outputs": [ + { + "internalType": "contract IModStore", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "operatorStore", + "outputs": [ + { + "internalType": "contract IOperatorStore", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_beneficiary", + "type": "address" + }, + { + "internalType": "string", + "name": "_memo", + "type": "string" + }, + { + "internalType": "bool", + "name": "_preferUnstakedTickets", + "type": "bool" + } + ], + "name": "pay", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "pendingGovernance", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "prices", + "outputs": [ + { + "internalType": "contract IPrices", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_currency", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_beneficiary", + "type": "address" + }, + { + "internalType": "string", + "name": "_memo", + "type": "string" + }, + { + "internalType": "bool", + "name": "_preferUnstakedTickets", + "type": "bool" + } + ], + "name": "printPreminedTickets", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + } + ], + "name": "printReservedTickets", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "projects", + "outputs": [ + { + "internalType": "contract IProjects", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_count", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minReturnedWei", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "_beneficiary", + "type": "address" + }, + { + "internalType": "bool", + "name": "_preferUnstaked", + "type": "bool" + } + ], + "name": "redeem", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_reservedRate", + "type": "uint256" + } + ], + "name": "reservedTicketBalanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_fee", + "type": "uint256" + } + ], + "name": "setFee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_currency", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minReturnedWei", + "type": "uint256" + } + ], + "name": "tap", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "terminalDirectory", + "outputs": [ + { + "internalType": "contract ITerminalDirectory", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ticketBooth", + "outputs": [ + { + "internalType": "contract ITicketBooth", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ] +} diff --git a/deployments/rinkeby/TicketBooth.json b/deployments/rinkeby/TicketBooth.json new file mode 100644 index 0000000..6983b1a --- /dev/null +++ b/deployments/rinkeby/TicketBooth.json @@ -0,0 +1,700 @@ +{ + "address": "0x0d038636a670E8bd8cF7D56BC4626f2a6446cF11", + "abi": [ + { + "inputs": [ + { + "internalType": "contract IProjects", + "name": "_projects", + "type": "address" + }, + { + "internalType": "contract IOperatorStore", + "name": "_operatorStore", + "type": "address" + }, + { + "internalType": "contract ITerminalDirectory", + "name": "_terminalDirectory", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "indexed": false, + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "Issue", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "holder", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "Lock", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "holder", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "convertedTickets", + "type": "bool" + }, + { + "indexed": false, + "internalType": "bool", + "name": "preferUnstakedTickets", + "type": "bool" + }, + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "Print", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "holder", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "stakedTickets", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "preferUnstaked", + "type": "bool" + }, + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "Redeem", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "holder", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "Stake", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "holder", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "holder", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "Unlock", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "holder", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "projectId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "Unstake", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_holder", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + } + ], + "name": "issue", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_holder", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "lock", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "lockedBalanceBy", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "lockedBalanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "operatorStore", + "outputs": [ + { + "internalType": "contract IOperatorStore", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_holder", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "_preferUnstakedTickets", + "type": "bool" + } + ], + "name": "print", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "projects", + "outputs": [ + { + "internalType": "contract IProjects", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_holder", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "_preferUnstaked", + "type": "bool" + } + ], + "name": "redeem", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_holder", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "stake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "stakedBalanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "stakedTotalSupplyOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "terminalDirectory", + "outputs": [ + { + "internalType": "contract ITerminalDirectory", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "ticketsOf", + "outputs": [ + { + "internalType": "contract ITickets", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + } + ], + "name": "totalSupplyOf", + "outputs": [ + { + "internalType": "uint256", + "name": "supply", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_holder", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_recipient", + "type": "address" + } + ], + "name": "transfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_holder", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "unlock", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_holder", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_projectId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "unstake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] +}