@jbx-protocol/contracts-v1
Version:
1,418 lines (1,417 loc) • 32.5 kB
JSON
{
"address": "0xd569D3CCE55b71a8a3f3C418c329A66e5f714431",
"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"
}
]
}