diff --git a/mainnet.ts b/mainnet.ts deleted file mode 100644 index 50b2079d23..0000000000 --- a/mainnet.ts +++ /dev/null @@ -1,11855 +0,0 @@ -export const JBDirectory = { - address: '0x65572FB928b46f9aDB7cfe5A4c41226F636161ea', - abi: [ - { - inputs: [ - { - internalType: 'contract IJBOperatorStore', - name: '_operatorStore', - type: 'address', - }, - { - internalType: 'contract IJBProjects', - name: '_projects', - type: 'address', - }, - { - internalType: 'contract IJBFundingCycleStore', - name: '_fundingCycleStore', - type: 'address', - }, - { internalType: 'address', name: '_owner', type: 'address' }, - ], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { inputs: [], name: 'DUPLICATE_TERMINALS', type: 'error' }, - { inputs: [], name: 'INVALID_PROJECT_ID_IN_DIRECTORY', type: 'error' }, - { inputs: [], name: 'SET_CONTROLLER_NOT_ALLOWED', type: 'error' }, - { inputs: [], name: 'SET_TERMINALS_NOT_ALLOWED', type: 'error' }, - { inputs: [], name: 'TOKEN_NOT_ACCEPTED', type: 'error' }, - { inputs: [], name: 'UNAUTHORIZED', type: 'error' }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'contract IJBPaymentTerminal', - name: 'terminal', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'AddTerminal', - 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', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'address', - name: 'controller', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'SetController', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'addr', - type: 'address', - }, - { indexed: true, internalType: 'bool', name: 'flag', type: 'bool' }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'SetIsAllowedToSetFirstController', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'address', - name: 'token', - type: 'address', - }, - { - indexed: true, - internalType: 'contract IJBPaymentTerminal', - name: 'terminal', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'SetPrimaryTerminal', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'contract IJBPaymentTerminal[]', - name: 'terminals', - type: 'address[]', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'SetTerminals', - type: 'event', - }, - { - inputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - name: 'controllerOf', - outputs: [{ internalType: 'address', name: '', type: 'address' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'fundingCycleStore', - outputs: [ - { - internalType: 'contract IJBFundingCycleStore', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: '', type: 'address' }], - name: 'isAllowedToSetFirstController', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { - internalType: 'contract IJBPaymentTerminal', - name: '_terminal', - type: 'address', - }, - ], - name: 'isTerminalOf', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'operatorStore', - outputs: [ - { - internalType: 'contract IJBOperatorStore', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'owner', - outputs: [{ internalType: 'address', name: '', type: 'address' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'address', name: '_token', type: 'address' }, - ], - name: 'primaryTerminalOf', - outputs: [ - { - internalType: 'contract IJBPaymentTerminal', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'projects', - outputs: [ - { internalType: 'contract IJBProjects', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'renounceOwnership', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'address', name: '_controller', type: 'address' }, - ], - name: 'setControllerOf', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: '_address', type: 'address' }, - { internalType: 'bool', name: '_flag', type: 'bool' }, - ], - name: 'setIsAllowedToSetFirstController', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'address', name: '_token', type: 'address' }, - { - internalType: 'contract IJBPaymentTerminal', - name: '_terminal', - type: 'address', - }, - ], - name: 'setPrimaryTerminalOf', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { - internalType: 'contract IJBPaymentTerminal[]', - name: '_terminals', - type: 'address[]', - }, - ], - name: 'setTerminalsOf', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'terminalsOf', - outputs: [ - { - internalType: 'contract IJBPaymentTerminal[]', - name: '', - type: 'address[]', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: 'newOwner', type: 'address' }], - name: 'transferOwnership', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - ], -} - -export const JBProjects = { - address: '0xD8B4359143eda5B2d763E127Ed27c77addBc47d3', - abi: [ - { - inputs: [ - { - internalType: 'contract IJBOperatorStore', - name: '_operatorStore', - type: 'address', - }, - ], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { inputs: [], name: 'UNAUTHORIZED', type: 'error' }, - { - 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: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'address', - name: 'owner', - type: 'address', - }, - { - components: [ - { internalType: 'string', name: 'content', type: 'string' }, - { internalType: 'uint256', name: 'domain', type: 'uint256' }, - ], - indexed: false, - internalType: 'struct JBProjectMetadata', - name: 'metadata', - type: 'tuple', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'Create', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'delegator', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'fromDelegate', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'toDelegate', - type: 'address', - }, - ], - name: 'DelegateChanged', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'delegate', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'previousBalance', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'newBalance', - type: 'uint256', - }, - ], - name: 'DelegateVotesChanged', - 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', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - components: [ - { internalType: 'string', name: 'content', type: 'string' }, - { internalType: 'uint256', name: 'domain', type: 'uint256' }, - ], - indexed: false, - internalType: 'struct JBProjectMetadata', - name: 'metadata', - type: 'tuple', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'SetMetadata', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'contract IJBTokenUriResolver', - name: 'resolver', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'SetTokenUriResolver', - 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', - }, - { - inputs: [], - name: 'DOMAIN_SEPARATOR', - outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }], - stateMutability: 'view', - type: 'function', - }, - { - 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: [], - name: 'count', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: '_owner', type: 'address' }, - { - components: [ - { internalType: 'string', name: 'content', type: 'string' }, - { internalType: 'uint256', name: 'domain', type: 'uint256' }, - ], - internalType: 'struct JBProjectMetadata', - name: '_metadata', - type: 'tuple', - }, - ], - name: 'createFor', - outputs: [ - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: 'delegatee', type: 'address' }], - name: 'delegate', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: 'delegatee', type: 'address' }, - { internalType: 'uint256', name: 'nonce', type: 'uint256' }, - { internalType: 'uint256', name: 'expiry', type: 'uint256' }, - { internalType: 'uint8', name: 'v', type: 'uint8' }, - { internalType: 'bytes32', name: 'r', type: 'bytes32' }, - { internalType: 'bytes32', name: 's', type: 'bytes32' }, - ], - name: 'delegateBySig', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: 'account', type: 'address' }], - name: 'delegates', - outputs: [{ internalType: 'address', name: '', type: 'address' }], - 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: 'blockNumber', type: 'uint256' }, - ], - name: 'getPastTotalSupply', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: 'account', type: 'address' }, - { internalType: 'uint256', name: 'blockNumber', type: 'uint256' }, - ], - name: 'getPastVotes', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: 'account', type: 'address' }], - name: 'getVotes', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - 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: [ - { internalType: 'uint256', name: '', type: 'uint256' }, - { internalType: 'uint256', name: '', type: 'uint256' }, - ], - name: 'metadataContentOf', - outputs: [{ internalType: 'string', name: '', type: 'string' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'name', - outputs: [{ internalType: 'string', name: '', type: 'string' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: 'owner', type: 'address' }], - name: 'nonces', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'operatorStore', - outputs: [ - { - internalType: 'contract IJBOperatorStore', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'owner', - outputs: [{ internalType: 'address', 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: [], - name: 'renounceOwnership', - 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' }, - { - components: [ - { internalType: 'string', name: 'content', type: 'string' }, - { internalType: 'uint256', name: 'domain', type: 'uint256' }, - ], - internalType: 'struct JBProjectMetadata', - name: '_metadata', - type: 'tuple', - }, - ], - name: 'setMetadataOf', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract IJBTokenUriResolver', - name: '_newResolver', - type: 'address', - }, - ], - name: 'setTokenUriResolver', - 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: '_projectId', type: 'uint256' }, - ], - name: 'tokenURI', - outputs: [{ internalType: 'string', name: '', type: 'string' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'tokenUriResolver', - outputs: [ - { - internalType: 'contract IJBTokenUriResolver', - 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: 'address', name: 'newOwner', type: 'address' }], - name: 'transferOwnership', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - ], -} - -export const JBFundingCycleStore = { - address: '0x6f18cF9173136c0B5A6eBF45f19D58d3ff2E17e6', - abi: [ - { - inputs: [ - { - internalType: 'contract IJBDirectory', - name: '_directory', - type: 'address', - }, - ], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { inputs: [], name: 'CONTROLLER_UNAUTHORIZED', type: 'error' }, - { inputs: [], name: 'INVALID_BALLOT', type: 'error' }, - { inputs: [], name: 'INVALID_DISCOUNT_RATE', type: 'error' }, - { inputs: [], name: 'INVALID_DURATION', type: 'error' }, - { inputs: [], name: 'INVALID_TIMEFRAME', type: 'error' }, - { inputs: [], name: 'INVALID_WEIGHT', type: 'error' }, - { inputs: [], name: 'NO_SAME_BLOCK_RECONFIGURATION', type: 'error' }, - { - 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: 'configuration', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - components: [ - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - ], - indexed: false, - internalType: 'struct JBFundingCycleData', - name: 'data', - type: 'tuple', - }, - { - indexed: false, - internalType: 'uint256', - name: 'metadata', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'mustStartAtOrAfter', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'Configure', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'configuration', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'basedOn', - type: 'uint256', - }, - ], - name: 'Init', - type: 'event', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { - components: [ - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - ], - internalType: 'struct JBFundingCycleData', - name: '_data', - type: 'tuple', - }, - { internalType: 'uint256', name: '_metadata', type: 'uint256' }, - { - internalType: 'uint256', - name: '_mustStartAtOrAfter', - type: 'uint256', - }, - ], - name: 'configureFor', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'number', type: 'uint256' }, - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - { internalType: 'uint256', name: 'basedOn', type: 'uint256' }, - { internalType: 'uint256', name: 'start', type: 'uint256' }, - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycle', - name: '', - type: 'tuple', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'currentBallotStateOf', - outputs: [ - { internalType: 'enum JBBallotState', name: '', type: 'uint8' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'currentOf', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'number', type: 'uint256' }, - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - { internalType: 'uint256', name: 'basedOn', type: 'uint256' }, - { internalType: 'uint256', name: 'start', type: 'uint256' }, - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycle', - name: 'fundingCycle', - type: 'tuple', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'directory', - outputs: [ - { internalType: 'contract IJBDirectory', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_configuration', type: 'uint256' }, - ], - name: 'get', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'number', type: 'uint256' }, - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - { internalType: 'uint256', name: 'basedOn', type: 'uint256' }, - { internalType: 'uint256', name: 'start', type: 'uint256' }, - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycle', - name: 'fundingCycle', - type: 'tuple', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - name: 'latestConfigurationOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'latestConfiguredOf', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'number', type: 'uint256' }, - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - { internalType: 'uint256', name: 'basedOn', type: 'uint256' }, - { internalType: 'uint256', name: 'start', type: 'uint256' }, - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycle', - name: 'fundingCycle', - type: 'tuple', - }, - { - internalType: 'enum JBBallotState', - name: 'ballotState', - type: 'uint8', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'queuedOf', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'number', type: 'uint256' }, - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - { internalType: 'uint256', name: 'basedOn', type: 'uint256' }, - { internalType: 'uint256', name: 'start', type: 'uint256' }, - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycle', - name: 'fundingCycle', - type: 'tuple', - }, - ], - stateMutability: 'view', - type: 'function', - }, - ], -} - -export const JBFundAccessConstraintsStore = { - address: '0xA4425A1E5b7B28Cb689719B1428e3088C1F89E30', - abi: [ - { - inputs: [ - { - internalType: 'contract IJBDirectory', - name: '_directory', - type: 'address', - }, - ], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { inputs: [], name: 'CONTROLLER_UNAUTHORIZED', type: 'error' }, - { inputs: [], name: 'INVALID_DISTRIBUTION_LIMIT', type: 'error' }, - { inputs: [], name: 'INVALID_DISTRIBUTION_LIMIT_CURRENCY', type: 'error' }, - { inputs: [], name: 'INVALID_OVERFLOW_ALLOWANCE', type: 'error' }, - { inputs: [], name: 'INVALID_OVERFLOW_ALLOWANCE_CURRENCY', type: 'error' }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleConfiguration', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - components: [ - { - internalType: 'contract IJBPaymentTerminal', - name: 'terminal', - type: 'address', - }, - { internalType: 'address', name: 'token', type: 'address' }, - { - internalType: 'uint256', - name: 'distributionLimit', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'distributionLimitCurrency', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'overflowAllowance', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'overflowAllowanceCurrency', - type: 'uint256', - }, - ], - indexed: false, - internalType: 'struct JBFundAccessConstraints', - name: 'constraints', - type: 'tuple', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'SetFundAccessConstraints', - type: 'event', - }, - { - inputs: [], - name: 'directory', - outputs: [ - { internalType: 'contract IJBDirectory', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_configuration', type: 'uint256' }, - { - internalType: 'contract IJBPaymentTerminal', - name: '_terminal', - type: 'address', - }, - { internalType: 'address', name: '_token', type: 'address' }, - ], - name: 'distributionLimitOf', - outputs: [ - { internalType: 'uint256', name: '', type: 'uint256' }, - { internalType: 'uint256', name: '', type: 'uint256' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_configuration', type: 'uint256' }, - { - internalType: 'contract IJBPaymentTerminal', - name: '_terminal', - type: 'address', - }, - { internalType: 'address', name: '_token', type: 'address' }, - ], - name: 'overflowAllowanceOf', - outputs: [ - { internalType: 'uint256', name: '', type: 'uint256' }, - { internalType: 'uint256', name: '', type: 'uint256' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_configuration', type: 'uint256' }, - { - components: [ - { - internalType: 'contract IJBPaymentTerminal', - name: 'terminal', - type: 'address', - }, - { internalType: 'address', name: 'token', type: 'address' }, - { - internalType: 'uint256', - name: 'distributionLimit', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'distributionLimitCurrency', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'overflowAllowance', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'overflowAllowanceCurrency', - type: 'uint256', - }, - ], - internalType: 'struct JBFundAccessConstraints[]', - name: '_fundAccessConstraints', - type: 'tuple[]', - }, - ], - name: 'setFor', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [{ internalType: 'bytes4', name: 'interfaceId', type: 'bytes4' }], - name: 'supportsInterface', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'view', - type: 'function', - }, - ], -} - -export const JBOperatorStore = { - address: '0x6F3C5afCa0c9eDf3926eF2dDF17c8ae6391afEfb', - abi: [ - { inputs: [], name: 'PERMISSION_INDEX_OUT_OF_BOUNDS', type: 'error' }, - { - 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: [ - { - components: [ - { internalType: 'address', name: 'operator', type: 'address' }, - { internalType: 'uint256', name: 'domain', type: 'uint256' }, - { - internalType: 'uint256[]', - name: 'permissionIndexes', - type: 'uint256[]', - }, - ], - internalType: 'struct JBOperatorData', - name: '_operatorData', - type: 'tuple', - }, - ], - name: 'setOperator', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - components: [ - { internalType: 'address', name: 'operator', type: 'address' }, - { internalType: 'uint256', name: 'domain', type: 'uint256' }, - { - internalType: 'uint256[]', - name: 'permissionIndexes', - type: 'uint256[]', - }, - ], - internalType: 'struct JBOperatorData[]', - name: '_operatorData', - type: 'tuple[]', - }, - ], - name: 'setOperators', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - ], -} - -export const JBSplitsStore = { - address: '0x0D25194ABE95185Db8e4B0294F5669E21C534785', - abi: [ - { - inputs: [ - { - internalType: 'contract IJBOperatorStore', - name: '_operatorStore', - type: 'address', - }, - { - internalType: 'contract IJBProjects', - name: '_projects', - type: 'address', - }, - { - internalType: 'contract IJBDirectory', - name: '_directory', - type: 'address', - }, - ], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { inputs: [], name: 'INVALID_LOCKED_UNTIL', type: 'error' }, - { inputs: [], name: 'INVALID_PROJECT_ID', type: 'error' }, - { inputs: [], name: 'INVALID_SPLIT_PERCENT', type: 'error' }, - { inputs: [], name: 'INVALID_TOTAL_PERCENT', type: 'error' }, - { inputs: [], name: 'PREVIOUS_LOCKED_SPLITS_NOT_INCLUDED', type: 'error' }, - { inputs: [], name: 'UNAUTHORIZED', type: 'error' }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'domain', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'group', - type: 'uint256', - }, - { - components: [ - { internalType: 'bool', name: 'preferClaimed', type: 'bool' }, - { internalType: 'bool', name: 'preferAddToBalance', type: 'bool' }, - { internalType: 'uint256', name: 'percent', type: 'uint256' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'address payable', - name: 'beneficiary', - type: 'address', - }, - { internalType: 'uint256', name: 'lockedUntil', type: 'uint256' }, - { - internalType: 'contract IJBSplitAllocator', - name: 'allocator', - type: 'address', - }, - ], - indexed: false, - internalType: 'struct JBSplit', - name: 'split', - type: 'tuple', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'SetSplit', - type: 'event', - }, - { - inputs: [], - name: 'directory', - outputs: [ - { internalType: 'contract IJBDirectory', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'operatorStore', - outputs: [ - { - internalType: 'contract IJBOperatorStore', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'projects', - outputs: [ - { internalType: 'contract IJBProjects', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_domain', type: 'uint256' }, - { - components: [ - { internalType: 'uint256', name: 'group', type: 'uint256' }, - { - components: [ - { internalType: 'bool', name: 'preferClaimed', type: 'bool' }, - { - internalType: 'bool', - name: 'preferAddToBalance', - type: 'bool', - }, - { internalType: 'uint256', name: 'percent', type: 'uint256' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'address payable', - name: 'beneficiary', - type: 'address', - }, - { - internalType: 'uint256', - name: 'lockedUntil', - type: 'uint256', - }, - { - internalType: 'contract IJBSplitAllocator', - name: 'allocator', - type: 'address', - }, - ], - internalType: 'struct JBSplit[]', - name: 'splits', - type: 'tuple[]', - }, - ], - internalType: 'struct JBGroupedSplits[]', - name: '_groupedSplits', - type: 'tuple[]', - }, - ], - name: 'set', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_domain', type: 'uint256' }, - { internalType: 'uint256', name: '_group', type: 'uint256' }, - ], - name: 'splitsOf', - outputs: [ - { - components: [ - { internalType: 'bool', name: 'preferClaimed', type: 'bool' }, - { internalType: 'bool', name: 'preferAddToBalance', type: 'bool' }, - { internalType: 'uint256', name: 'percent', type: 'uint256' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'address payable', - name: 'beneficiary', - type: 'address', - }, - { internalType: 'uint256', name: 'lockedUntil', type: 'uint256' }, - { - internalType: 'contract IJBSplitAllocator', - name: 'allocator', - type: 'address', - }, - ], - internalType: 'struct JBSplit[]', - name: '', - type: 'tuple[]', - }, - ], - stateMutability: 'view', - type: 'function', - }, - ], -} - -export const JBTokenStore = { - address: '0x6FA996581D7edaABE62C15eaE19fEeD4F1DdDfE7', - abi: [ - { - inputs: [ - { - internalType: 'contract IJBOperatorStore', - name: '_operatorStore', - type: 'address', - }, - { - internalType: 'contract IJBProjects', - name: '_projects', - type: 'address', - }, - { - internalType: 'contract IJBDirectory', - name: '_directory', - type: 'address', - }, - { - internalType: 'contract IJBFundingCycleStore', - name: '_fundingCycleStore', - type: 'address', - }, - ], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { inputs: [], name: 'ALREADY_SET', type: 'error' }, - { inputs: [], name: 'CONTROLLER_UNAUTHORIZED', type: 'error' }, - { inputs: [], name: 'EMPTY_NAME', type: 'error' }, - { inputs: [], name: 'EMPTY_SYMBOL', type: 'error' }, - { inputs: [], name: 'EMPTY_TOKEN', type: 'error' }, - { inputs: [], name: 'INSUFFICIENT_FUNDS', type: 'error' }, - { inputs: [], name: 'INSUFFICIENT_UNCLAIMED_TOKENS', type: 'error' }, - { inputs: [], name: 'OVERFLOW_ALERT', type: 'error' }, - { inputs: [], name: 'PROJECT_ALREADY_HAS_TOKEN', type: 'error' }, - { inputs: [], name: 'RECIPIENT_ZERO_ADDRESS', type: 'error' }, - { inputs: [], name: 'TOKENS_MUST_HAVE_18_DECIMALS', type: 'error' }, - { inputs: [], name: 'TOKEN_NOT_FOUND', type: 'error' }, - { inputs: [], name: 'TRANSFERS_PAUSED', type: 'error' }, - { inputs: [], name: 'UNAUTHORIZED', type: 'error' }, - { - 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: 'initialUnclaimedBalance', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'initialClaimedBalance', - type: 'uint256', - }, - { - indexed: false, - internalType: 'bool', - name: 'preferClaimedTokens', - type: 'bool', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'Burn', - 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: 'initialUnclaimedBalance', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'Claim', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'contract IJBToken', - name: 'token', - type: 'address', - }, - { - 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: 'bool', - name: 'tokensWereClaimed', - type: 'bool', - }, - { - indexed: false, - internalType: 'bool', - name: 'preferClaimedTokens', - type: 'bool', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'Mint', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'contract IJBToken', - name: 'newToken', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'Set', - 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', - }, - { - 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: 'address', name: '_holder', type: 'address' }, - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_amount', type: 'uint256' }, - { internalType: 'bool', name: '_preferClaimedTokens', type: 'bool' }, - ], - name: 'burnFrom', - 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: 'claimFor', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'directory', - outputs: [ - { internalType: 'contract IJBDirectory', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'fundingCycleStore', - outputs: [ - { - internalType: 'contract IJBFundingCycleStore', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'string', name: '_name', type: 'string' }, - { internalType: 'string', name: '_symbol', type: 'string' }, - ], - name: 'issueFor', - outputs: [ - { internalType: 'contract IJBToken', name: 'token', type: 'address' }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: '_holder', type: 'address' }, - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_amount', type: 'uint256' }, - { internalType: 'bool', name: '_preferClaimedTokens', type: 'bool' }, - ], - name: 'mintFor', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'operatorStore', - outputs: [ - { - internalType: 'contract IJBOperatorStore', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'projects', - outputs: [ - { internalType: 'contract IJBProjects', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'contract IJBToken', name: '_token', type: 'address' }, - ], - name: 'setFor', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - name: 'tokenOf', - outputs: [ - { internalType: 'contract IJBToken', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'totalSupplyOf', - outputs: [ - { internalType: 'uint256', name: 'totalSupply', type: 'uint256' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: '_holder', type: 'address' }, - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'address', name: '_recipient', type: 'address' }, - { internalType: 'uint256', name: '_amount', type: 'uint256' }, - ], - name: 'transferFrom', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: '', type: 'address' }, - { internalType: 'uint256', name: '', type: 'uint256' }, - ], - name: 'unclaimedBalanceOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - name: 'unclaimedTotalSupplyOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - ], -} - -export const JBSingleTokenPaymentTerminalStore = { - address: '0xdF7Ca703225c5da79A86E08E03A206c267B7470C', - abi: [ - { - inputs: [ - { - internalType: 'contract IJBDirectory', - name: '_directory', - type: 'address', - }, - { - internalType: 'contract IJBFundingCycleStore', - name: '_fundingCycleStore', - type: 'address', - }, - { - internalType: 'contract IJBPrices', - name: '_prices', - type: 'address', - }, - ], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { inputs: [], name: 'CURRENCY_MISMATCH', type: 'error' }, - { inputs: [], name: 'DISTRIBUTION_AMOUNT_LIMIT_REACHED', type: 'error' }, - { inputs: [], name: 'FUNDING_CYCLE_DISTRIBUTION_PAUSED', type: 'error' }, - { inputs: [], name: 'FUNDING_CYCLE_PAYMENT_PAUSED', type: 'error' }, - { inputs: [], name: 'FUNDING_CYCLE_REDEEM_PAUSED', type: 'error' }, - { inputs: [], name: 'INADEQUATE_CONTROLLER_ALLOWANCE', type: 'error' }, - { - inputs: [], - name: 'INADEQUATE_PAYMENT_TERMINAL_STORE_BALANCE', - type: 'error', - }, - { inputs: [], name: 'INSUFFICIENT_TOKENS', type: 'error' }, - { inputs: [], name: 'INVALID_AMOUNT_TO_SEND_DELEGATE', type: 'error' }, - { inputs: [], name: 'INVALID_FUNDING_CYCLE', type: 'error' }, - { - inputs: [], - name: 'PAYMENT_TERMINAL_MIGRATION_NOT_ALLOWED', - type: 'error', - }, - { - inputs: [ - { internalType: 'uint256', name: 'prod1', type: 'uint256' }, - { internalType: 'uint256', name: 'denominator', type: 'uint256' }, - ], - name: 'PRBMath__MulDivOverflow', - type: 'error', - }, - { - inputs: [ - { - internalType: 'contract IJBSingleTokenPaymentTerminal', - name: '', - type: 'address', - }, - { internalType: 'uint256', name: '', type: 'uint256' }, - ], - name: 'balanceOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract IJBSingleTokenPaymentTerminal', - name: '_terminal', - type: 'address', - }, - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'currentOverflowOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_tokenCount', type: 'uint256' }, - { internalType: 'uint256', name: '_totalSupply', type: 'uint256' }, - { internalType: 'uint256', name: '_overflow', type: 'uint256' }, - ], - name: 'currentReclaimableOverflowOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract IJBSingleTokenPaymentTerminal', - name: '_terminal', - type: 'address', - }, - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_tokenCount', type: 'uint256' }, - { internalType: 'bool', name: '_useTotalOverflow', type: 'bool' }, - ], - name: 'currentReclaimableOverflowOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_decimals', type: 'uint256' }, - { internalType: 'uint256', name: '_currency', type: 'uint256' }, - ], - name: 'currentTotalOverflowOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'directory', - outputs: [ - { internalType: 'contract IJBDirectory', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'fundingCycleStore', - outputs: [ - { - internalType: 'contract IJBFundingCycleStore', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'prices', - outputs: [ - { internalType: 'contract IJBPrices', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_amount', type: 'uint256' }, - ], - name: 'recordAddedBalanceFor', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_amount', type: 'uint256' }, - { internalType: 'uint256', name: '_currency', type: 'uint256' }, - ], - name: 'recordDistributionFor', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'number', type: 'uint256' }, - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - { internalType: 'uint256', name: 'basedOn', type: 'uint256' }, - { internalType: 'uint256', name: 'start', type: 'uint256' }, - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycle', - name: 'fundingCycle', - type: 'tuple', - }, - { internalType: 'uint256', name: 'distributedAmount', type: 'uint256' }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'recordMigration', - outputs: [{ internalType: 'uint256', name: 'balance', type: 'uint256' }], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: '_payer', type: 'address' }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: '_amount', - type: 'tuple', - }, - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { - internalType: 'uint256', - name: '_baseWeightCurrency', - type: 'uint256', - }, - { internalType: 'address', name: '_beneficiary', type: 'address' }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'recordPaymentFrom', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'number', type: 'uint256' }, - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - { internalType: 'uint256', name: 'basedOn', type: 'uint256' }, - { internalType: 'uint256', name: 'start', type: 'uint256' }, - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycle', - name: 'fundingCycle', - type: 'tuple', - }, - { internalType: 'uint256', name: 'tokenCount', type: 'uint256' }, - { - components: [ - { - internalType: 'contract IJBPayDelegate', - name: 'delegate', - type: 'address', - }, - { internalType: 'uint256', name: 'amount', type: 'uint256' }, - ], - internalType: 'struct JBPayDelegateAllocation[]', - name: 'delegateAllocations', - type: 'tuple[]', - }, - { internalType: 'string', name: 'memo', type: 'string' }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: '_holder', type: 'address' }, - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_tokenCount', type: 'uint256' }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'recordRedemptionFor', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'number', type: 'uint256' }, - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - { internalType: 'uint256', name: 'basedOn', type: 'uint256' }, - { internalType: 'uint256', name: 'start', type: 'uint256' }, - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycle', - name: 'fundingCycle', - type: 'tuple', - }, - { internalType: 'uint256', name: 'reclaimAmount', type: 'uint256' }, - { - components: [ - { - internalType: 'contract IJBRedemptionDelegate', - name: 'delegate', - type: 'address', - }, - { internalType: 'uint256', name: 'amount', type: 'uint256' }, - ], - internalType: 'struct JBRedemptionDelegateAllocation[]', - name: 'delegateAllocations', - type: 'tuple[]', - }, - { internalType: 'string', name: 'memo', type: 'string' }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_amount', type: 'uint256' }, - { internalType: 'uint256', name: '_currency', type: 'uint256' }, - ], - name: 'recordUsedAllowanceOf', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'number', type: 'uint256' }, - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - { internalType: 'uint256', name: 'basedOn', type: 'uint256' }, - { internalType: 'uint256', name: 'start', type: 'uint256' }, - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycle', - name: 'fundingCycle', - type: 'tuple', - }, - { internalType: 'uint256', name: 'usedAmount', type: 'uint256' }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract IJBSingleTokenPaymentTerminal', - name: '', - type: 'address', - }, - { internalType: 'uint256', name: '', type: 'uint256' }, - { internalType: 'uint256', name: '', type: 'uint256' }, - ], - name: 'usedDistributionLimitOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract IJBSingleTokenPaymentTerminal', - name: '', - type: 'address', - }, - { internalType: 'uint256', name: '', type: 'uint256' }, - { internalType: 'uint256', name: '', type: 'uint256' }, - ], - name: 'usedOverflowAllowanceOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - ], -} - -export const JBSingleTokenPaymentTerminalStore3_1 = { - address: '0x77b0A81AeB61d08C0b23c739969d22c5C9950336', - abi: [ - { - inputs: [ - { - internalType: 'contract IJBDirectory', - name: '_directory', - type: 'address', - }, - { - internalType: 'contract IJBFundingCycleStore', - name: '_fundingCycleStore', - type: 'address', - }, - { - internalType: 'contract IJBPrices', - name: '_prices', - type: 'address', - }, - ], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { inputs: [], name: 'CURRENCY_MISMATCH', type: 'error' }, - { inputs: [], name: 'DISTRIBUTION_AMOUNT_LIMIT_REACHED', type: 'error' }, - { inputs: [], name: 'FUNDING_CYCLE_DISTRIBUTION_PAUSED', type: 'error' }, - { inputs: [], name: 'FUNDING_CYCLE_PAYMENT_PAUSED', type: 'error' }, - { inputs: [], name: 'FUNDING_CYCLE_REDEEM_PAUSED', type: 'error' }, - { inputs: [], name: 'INADEQUATE_CONTROLLER_ALLOWANCE', type: 'error' }, - { - inputs: [], - name: 'INADEQUATE_PAYMENT_TERMINAL_STORE_BALANCE', - type: 'error', - }, - { inputs: [], name: 'INSUFFICIENT_TOKENS', type: 'error' }, - { inputs: [], name: 'INVALID_AMOUNT_TO_SEND_DELEGATE', type: 'error' }, - { inputs: [], name: 'INVALID_FUNDING_CYCLE', type: 'error' }, - { - inputs: [], - name: 'PAYMENT_TERMINAL_MIGRATION_NOT_ALLOWED', - type: 'error', - }, - { - inputs: [ - { internalType: 'uint256', name: 'prod1', type: 'uint256' }, - { internalType: 'uint256', name: 'denominator', type: 'uint256' }, - ], - name: 'PRBMath__MulDivOverflow', - type: 'error', - }, - { - inputs: [ - { - internalType: 'contract IJBSingleTokenPaymentTerminal', - name: '', - type: 'address', - }, - { internalType: 'uint256', name: '', type: 'uint256' }, - ], - name: 'balanceOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract IJBSingleTokenPaymentTerminal', - name: '_terminal', - type: 'address', - }, - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'currentOverflowOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_tokenCount', type: 'uint256' }, - { internalType: 'uint256', name: '_totalSupply', type: 'uint256' }, - { internalType: 'uint256', name: '_overflow', type: 'uint256' }, - ], - name: 'currentReclaimableOverflowOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract IJBSingleTokenPaymentTerminal', - name: '_terminal', - type: 'address', - }, - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_tokenCount', type: 'uint256' }, - { internalType: 'bool', name: '_useTotalOverflow', type: 'bool' }, - ], - name: 'currentReclaimableOverflowOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_decimals', type: 'uint256' }, - { internalType: 'uint256', name: '_currency', type: 'uint256' }, - ], - name: 'currentTotalOverflowOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'directory', - outputs: [ - { internalType: 'contract IJBDirectory', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'fundingCycleStore', - outputs: [ - { - internalType: 'contract IJBFundingCycleStore', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'prices', - outputs: [ - { internalType: 'contract IJBPrices', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_amount', type: 'uint256' }, - ], - name: 'recordAddedBalanceFor', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_amount', type: 'uint256' }, - { internalType: 'uint256', name: '_currency', type: 'uint256' }, - ], - name: 'recordDistributionFor', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'number', type: 'uint256' }, - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - { internalType: 'uint256', name: 'basedOn', type: 'uint256' }, - { internalType: 'uint256', name: 'start', type: 'uint256' }, - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycle', - name: 'fundingCycle', - type: 'tuple', - }, - { internalType: 'uint256', name: 'distributedAmount', type: 'uint256' }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'recordMigration', - outputs: [{ internalType: 'uint256', name: 'balance', type: 'uint256' }], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: '_payer', type: 'address' }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: '_amount', - type: 'tuple', - }, - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { - internalType: 'uint256', - name: '_baseWeightCurrency', - type: 'uint256', - }, - { internalType: 'address', name: '_beneficiary', type: 'address' }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'recordPaymentFrom', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'number', type: 'uint256' }, - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - { internalType: 'uint256', name: 'basedOn', type: 'uint256' }, - { internalType: 'uint256', name: 'start', type: 'uint256' }, - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycle', - name: 'fundingCycle', - type: 'tuple', - }, - { internalType: 'uint256', name: 'tokenCount', type: 'uint256' }, - { - components: [ - { - internalType: 'contract IJBPayDelegate', - name: 'delegate', - type: 'address', - }, - { internalType: 'uint256', name: 'amount', type: 'uint256' }, - ], - internalType: 'struct JBPayDelegateAllocation[]', - name: 'delegateAllocations', - type: 'tuple[]', - }, - { internalType: 'string', name: 'memo', type: 'string' }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: '_holder', type: 'address' }, - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_tokenCount', type: 'uint256' }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'recordRedemptionFor', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'number', type: 'uint256' }, - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - { internalType: 'uint256', name: 'basedOn', type: 'uint256' }, - { internalType: 'uint256', name: 'start', type: 'uint256' }, - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycle', - name: 'fundingCycle', - type: 'tuple', - }, - { internalType: 'uint256', name: 'reclaimAmount', type: 'uint256' }, - { - components: [ - { - internalType: 'contract IJBRedemptionDelegate', - name: 'delegate', - type: 'address', - }, - { internalType: 'uint256', name: 'amount', type: 'uint256' }, - ], - internalType: 'struct JBRedemptionDelegateAllocation[]', - name: 'delegateAllocations', - type: 'tuple[]', - }, - { internalType: 'string', name: 'memo', type: 'string' }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_amount', type: 'uint256' }, - { internalType: 'uint256', name: '_currency', type: 'uint256' }, - ], - name: 'recordUsedAllowanceOf', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'number', type: 'uint256' }, - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - { internalType: 'uint256', name: 'basedOn', type: 'uint256' }, - { internalType: 'uint256', name: 'start', type: 'uint256' }, - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycle', - name: 'fundingCycle', - type: 'tuple', - }, - { internalType: 'uint256', name: 'usedAmount', type: 'uint256' }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract IJBSingleTokenPaymentTerminal', - name: '', - type: 'address', - }, - { internalType: 'uint256', name: '', type: 'uint256' }, - { internalType: 'uint256', name: '', type: 'uint256' }, - ], - name: 'usedDistributionLimitOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract IJBSingleTokenPaymentTerminal', - name: '', - type: 'address', - }, - { internalType: 'uint256', name: '', type: 'uint256' }, - { internalType: 'uint256', name: '', type: 'uint256' }, - ], - name: 'usedOverflowAllowanceOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - ], -} - -export const JBSingleTokenPaymentTerminalStore3_1_1 = { - address: '0x82129d4109625F94582bDdF6101a8Cd1a27919f5', - abi: [ - { - inputs: [ - { - internalType: 'contract IJBDirectory', - name: '_directory', - type: 'address', - }, - { - internalType: 'contract IJBFundingCycleStore', - name: '_fundingCycleStore', - type: 'address', - }, - { - internalType: 'contract IJBPrices', - name: '_prices', - type: 'address', - }, - ], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { inputs: [], name: 'CURRENCY_MISMATCH', type: 'error' }, - { inputs: [], name: 'DISTRIBUTION_AMOUNT_LIMIT_REACHED', type: 'error' }, - { inputs: [], name: 'FUNDING_CYCLE_DISTRIBUTION_PAUSED', type: 'error' }, - { inputs: [], name: 'FUNDING_CYCLE_PAYMENT_PAUSED', type: 'error' }, - { inputs: [], name: 'FUNDING_CYCLE_REDEEM_PAUSED', type: 'error' }, - { inputs: [], name: 'INADEQUATE_CONTROLLER_ALLOWANCE', type: 'error' }, - { - inputs: [], - name: 'INADEQUATE_PAYMENT_TERMINAL_STORE_BALANCE', - type: 'error', - }, - { inputs: [], name: 'INSUFFICIENT_TOKENS', type: 'error' }, - { inputs: [], name: 'INVALID_AMOUNT_TO_SEND_DELEGATE', type: 'error' }, - { inputs: [], name: 'INVALID_FUNDING_CYCLE', type: 'error' }, - { - inputs: [], - name: 'PAYMENT_TERMINAL_MIGRATION_NOT_ALLOWED', - type: 'error', - }, - { - inputs: [ - { internalType: 'uint256', name: 'prod1', type: 'uint256' }, - { internalType: 'uint256', name: 'denominator', type: 'uint256' }, - ], - name: 'PRBMath__MulDivOverflow', - type: 'error', - }, - { - inputs: [ - { - internalType: 'contract IJBSingleTokenPaymentTerminal', - name: '', - type: 'address', - }, - { internalType: 'uint256', name: '', type: 'uint256' }, - ], - name: 'balanceOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract IJBSingleTokenPaymentTerminal', - name: '_terminal', - type: 'address', - }, - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'currentOverflowOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_tokenCount', type: 'uint256' }, - { internalType: 'uint256', name: '_totalSupply', type: 'uint256' }, - { internalType: 'uint256', name: '_overflow', type: 'uint256' }, - ], - name: 'currentReclaimableOverflowOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract IJBSingleTokenPaymentTerminal', - name: '_terminal', - type: 'address', - }, - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_tokenCount', type: 'uint256' }, - { internalType: 'bool', name: '_useTotalOverflow', type: 'bool' }, - ], - name: 'currentReclaimableOverflowOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_decimals', type: 'uint256' }, - { internalType: 'uint256', name: '_currency', type: 'uint256' }, - ], - name: 'currentTotalOverflowOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'directory', - outputs: [ - { internalType: 'contract IJBDirectory', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'fundingCycleStore', - outputs: [ - { - internalType: 'contract IJBFundingCycleStore', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'prices', - outputs: [ - { internalType: 'contract IJBPrices', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_amount', type: 'uint256' }, - ], - name: 'recordAddedBalanceFor', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_amount', type: 'uint256' }, - { internalType: 'uint256', name: '_currency', type: 'uint256' }, - ], - name: 'recordDistributionFor', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'number', type: 'uint256' }, - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - { internalType: 'uint256', name: 'basedOn', type: 'uint256' }, - { internalType: 'uint256', name: 'start', type: 'uint256' }, - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycle', - name: 'fundingCycle', - type: 'tuple', - }, - { internalType: 'uint256', name: 'distributedAmount', type: 'uint256' }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'recordMigration', - outputs: [{ internalType: 'uint256', name: 'balance', type: 'uint256' }], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: '_payer', type: 'address' }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: '_amount', - type: 'tuple', - }, - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { - internalType: 'uint256', - name: '_baseWeightCurrency', - type: 'uint256', - }, - { internalType: 'address', name: '_beneficiary', type: 'address' }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'recordPaymentFrom', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'number', type: 'uint256' }, - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - { internalType: 'uint256', name: 'basedOn', type: 'uint256' }, - { internalType: 'uint256', name: 'start', type: 'uint256' }, - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycle', - name: 'fundingCycle', - type: 'tuple', - }, - { internalType: 'uint256', name: 'tokenCount', type: 'uint256' }, - { - components: [ - { - internalType: 'contract IJBPayDelegate3_1_1', - name: 'delegate', - type: 'address', - }, - { internalType: 'uint256', name: 'amount', type: 'uint256' }, - { internalType: 'bytes', name: 'metadata', type: 'bytes' }, - ], - internalType: 'struct JBPayDelegateAllocation3_1_1[]', - name: 'delegateAllocations', - type: 'tuple[]', - }, - { internalType: 'string', name: 'memo', type: 'string' }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: '_holder', type: 'address' }, - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_tokenCount', type: 'uint256' }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'recordRedemptionFor', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'number', type: 'uint256' }, - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - { internalType: 'uint256', name: 'basedOn', type: 'uint256' }, - { internalType: 'uint256', name: 'start', type: 'uint256' }, - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycle', - name: 'fundingCycle', - type: 'tuple', - }, - { internalType: 'uint256', name: 'reclaimAmount', type: 'uint256' }, - { - components: [ - { - internalType: 'contract IJBRedemptionDelegate3_1_1', - name: 'delegate', - type: 'address', - }, - { internalType: 'uint256', name: 'amount', type: 'uint256' }, - { internalType: 'bytes', name: 'metadata', type: 'bytes' }, - ], - internalType: 'struct JBRedemptionDelegateAllocation3_1_1[]', - name: 'delegateAllocations', - type: 'tuple[]', - }, - { internalType: 'string', name: 'memo', type: 'string' }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_amount', type: 'uint256' }, - { internalType: 'uint256', name: '_currency', type: 'uint256' }, - ], - name: 'recordUsedAllowanceOf', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'number', type: 'uint256' }, - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - { internalType: 'uint256', name: 'basedOn', type: 'uint256' }, - { internalType: 'uint256', name: 'start', type: 'uint256' }, - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycle', - name: 'fundingCycle', - type: 'tuple', - }, - { internalType: 'uint256', name: 'usedAmount', type: 'uint256' }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract IJBSingleTokenPaymentTerminal', - name: '', - type: 'address', - }, - { internalType: 'uint256', name: '', type: 'uint256' }, - { internalType: 'uint256', name: '', type: 'uint256' }, - ], - name: 'usedDistributionLimitOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract IJBSingleTokenPaymentTerminal', - name: '', - type: 'address', - }, - { internalType: 'uint256', name: '', type: 'uint256' }, - { internalType: 'uint256', name: '', type: 'uint256' }, - ], - name: 'usedOverflowAllowanceOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - ], -} - -export const JBETHERC20ProjectPayerDeployer = { - address: '0xa5ca9CEa71Df4b680484e5Ff753a1b1185ba5b43', - abi: [ - { - inputs: [ - { - internalType: 'contract IJBDirectory', - name: '_directory', - type: 'address', - }, - ], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'contract IJBProjectPayer', - name: 'projectPayer', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'defaultProjectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'defaultBeneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'bool', - name: 'defaultPreferClaimedTokens', - type: 'bool', - }, - { - indexed: false, - internalType: 'string', - name: 'defaultMemo', - type: 'string', - }, - { - indexed: false, - internalType: 'bytes', - name: 'defaultMetadata', - type: 'bytes', - }, - { - indexed: false, - internalType: 'bool', - name: 'preferAddToBalance', - type: 'bool', - }, - { - indexed: false, - internalType: 'contract IJBDirectory', - name: 'directory', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'owner', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'DeployProjectPayer', - type: 'event', - }, - { - inputs: [ - { internalType: 'uint256', name: '_defaultProjectId', type: 'uint256' }, - { - internalType: 'address payable', - name: '_defaultBeneficiary', - type: 'address', - }, - { - internalType: 'bool', - name: '_defaultPreferClaimedTokens', - type: 'bool', - }, - { internalType: 'string', name: '_defaultMemo', type: 'string' }, - { internalType: 'bytes', name: '_defaultMetadata', type: 'bytes' }, - { - internalType: 'bool', - name: '_defaultPreferAddToBalance', - type: 'bool', - }, - { internalType: 'address', name: '_owner', type: 'address' }, - ], - name: 'deployProjectPayer', - outputs: [ - { - internalType: 'contract IJBProjectPayer', - name: 'projectPayer', - type: 'address', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - ], -} - -export const JBController = { - address: '0xFFdD70C318915879d5192e8a0dcbFcB0285b3C98', - abi: [ - { - inputs: [ - { - internalType: 'contract IJBOperatorStore', - name: '_operatorStore', - type: 'address', - }, - { - internalType: 'contract IJBProjects', - name: '_projects', - type: 'address', - }, - { - internalType: 'contract IJBDirectory', - name: '_directory', - type: 'address', - }, - { - internalType: 'contract IJBFundingCycleStore', - name: '_fundingCycleStore', - type: 'address', - }, - { - internalType: 'contract IJBTokenStore', - name: '_tokenStore', - type: 'address', - }, - { - internalType: 'contract IJBSplitsStore', - name: '_splitsStore', - type: 'address', - }, - ], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { - inputs: [], - name: 'BURN_PAUSED_AND_SENDER_NOT_VALID_TERMINAL_DELEGATE', - type: 'error', - }, - { inputs: [], name: 'CANT_MIGRATE_TO_CURRENT_CONTROLLER', type: 'error' }, - { inputs: [], name: 'FUNDING_CYCLE_ALREADY_LAUNCHED', type: 'error' }, - { inputs: [], name: 'INVALID_BALLOT_REDEMPTION_RATE', type: 'error' }, - { inputs: [], name: 'INVALID_DISTRIBUTION_LIMIT', type: 'error' }, - { inputs: [], name: 'INVALID_DISTRIBUTION_LIMIT_CURRENCY', type: 'error' }, - { inputs: [], name: 'INVALID_OVERFLOW_ALLOWANCE', type: 'error' }, - { inputs: [], name: 'INVALID_OVERFLOW_ALLOWANCE_CURRENCY', type: 'error' }, - { inputs: [], name: 'INVALID_REDEMPTION_RATE', type: 'error' }, - { inputs: [], name: 'INVALID_RESERVED_RATE', type: 'error' }, - { inputs: [], name: 'MIGRATION_NOT_ALLOWED', type: 'error' }, - { - inputs: [], - name: 'MINT_NOT_ALLOWED_AND_NOT_TERMINAL_DELEGATE', - type: 'error', - }, - { inputs: [], name: 'NOT_CURRENT_CONTROLLER', type: 'error' }, - { inputs: [], name: 'NO_BURNABLE_TOKENS', type: 'error' }, - { inputs: [], name: 'OVERFLOW_ALERT', type: 'error' }, - { - inputs: [ - { internalType: 'uint256', name: 'prod1', type: 'uint256' }, - { internalType: 'uint256', name: 'denominator', type: 'uint256' }, - ], - name: 'PRBMath__MulDivOverflow', - type: 'error', - }, - { inputs: [], name: 'UNAUTHORIZED', type: 'error' }, - { inputs: [], name: 'ZERO_TOKENS_TO_MINT', type: 'error' }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'holder', - type: 'address', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'tokenCount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'BurnTokens', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleConfiguration', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleNumber', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'tokenCount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'beneficiaryTokenCount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'DistributeReservedTokens', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'domain', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'group', - type: 'uint256', - }, - { - components: [ - { internalType: 'bool', name: 'preferClaimed', type: 'bool' }, - { internalType: 'bool', name: 'preferAddToBalance', type: 'bool' }, - { internalType: 'uint256', name: 'percent', type: 'uint256' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'address payable', - name: 'beneficiary', - type: 'address', - }, - { internalType: 'uint256', name: 'lockedUntil', type: 'uint256' }, - { - internalType: 'contract IJBSplitAllocator', - name: 'allocator', - type: 'address', - }, - ], - indexed: false, - internalType: 'struct JBSplit', - name: 'split', - type: 'tuple', - }, - { - indexed: false, - internalType: 'uint256', - name: 'tokenCount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'DistributeToReservedTokenSplit', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'uint256', - name: 'configuration', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'LaunchFundingCycles', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'uint256', - name: 'configuration', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'LaunchProject', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'contract IJBMigratable', - name: 'to', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'Migrate', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'tokenCount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'beneficiaryTokenCount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'uint256', - name: 'reservedRate', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'MintTokens', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'from', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'PrepMigration', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'uint256', - name: 'configuration', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'ReconfigureFundingCycles', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleConfiguration', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleNumber', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - components: [ - { - internalType: 'contract IJBPaymentTerminal', - name: 'terminal', - type: 'address', - }, - { internalType: 'address', name: 'token', type: 'address' }, - { - internalType: 'uint256', - name: 'distributionLimit', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'distributionLimitCurrency', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'overflowAllowance', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'overflowAllowanceCurrency', - type: 'uint256', - }, - ], - indexed: false, - internalType: 'struct JBFundAccessConstraints', - name: 'constraints', - type: 'tuple', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'SetFundAccessConstraints', - type: 'event', - }, - { - inputs: [ - { internalType: 'address', name: '_holder', type: 'address' }, - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_tokenCount', type: 'uint256' }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bool', name: '_preferClaimedTokens', type: 'bool' }, - ], - name: 'burnTokensOf', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'currentFundingCycleOf', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'number', type: 'uint256' }, - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - { internalType: 'uint256', name: 'basedOn', type: 'uint256' }, - { internalType: 'uint256', name: 'start', type: 'uint256' }, - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycle', - name: 'fundingCycle', - type: 'tuple', - }, - { - components: [ - { - components: [ - { - internalType: 'bool', - name: 'allowSetTerminals', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowSetController', - type: 'bool', - }, - { internalType: 'bool', name: 'pauseTransfers', type: 'bool' }, - ], - internalType: 'struct JBGlobalFundingCycleMetadata', - name: 'global', - type: 'tuple', - }, - { internalType: 'uint256', name: 'reservedRate', type: 'uint256' }, - { - internalType: 'uint256', - name: 'redemptionRate', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'ballotRedemptionRate', - type: 'uint256', - }, - { internalType: 'bool', name: 'pausePay', type: 'bool' }, - { internalType: 'bool', name: 'pauseDistributions', type: 'bool' }, - { internalType: 'bool', name: 'pauseRedeem', type: 'bool' }, - { internalType: 'bool', name: 'pauseBurn', type: 'bool' }, - { internalType: 'bool', name: 'allowMinting', type: 'bool' }, - { - internalType: 'bool', - name: 'allowTerminalMigration', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowControllerMigration', - type: 'bool', - }, - { internalType: 'bool', name: 'holdFees', type: 'bool' }, - { - internalType: 'bool', - name: 'preferClaimedTokenOverride', - type: 'bool', - }, - { - internalType: 'bool', - name: 'useTotalOverflowForRedemptions', - type: 'bool', - }, - { internalType: 'bool', name: 'useDataSourceForPay', type: 'bool' }, - { - internalType: 'bool', - name: 'useDataSourceForRedeem', - type: 'bool', - }, - { internalType: 'address', name: 'dataSource', type: 'address' }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycleMetadata', - name: 'metadata', - type: 'tuple', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'directory', - outputs: [ - { internalType: 'contract IJBDirectory', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'string', name: '_memo', type: 'string' }, - ], - name: 'distributeReservedTokensOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_configuration', type: 'uint256' }, - { - internalType: 'contract IJBPaymentTerminal', - name: '_terminal', - type: 'address', - }, - { internalType: 'address', name: '_token', type: 'address' }, - ], - name: 'distributionLimitOf', - outputs: [ - { internalType: 'uint256', name: '', type: 'uint256' }, - { internalType: 'uint256', name: '', type: 'uint256' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'fundingCycleStore', - outputs: [ - { - internalType: 'contract IJBFundingCycleStore', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_configuration', type: 'uint256' }, - ], - name: 'getFundingCycleOf', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'number', type: 'uint256' }, - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - { internalType: 'uint256', name: 'basedOn', type: 'uint256' }, - { internalType: 'uint256', name: 'start', type: 'uint256' }, - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycle', - name: 'fundingCycle', - type: 'tuple', - }, - { - components: [ - { - components: [ - { - internalType: 'bool', - name: 'allowSetTerminals', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowSetController', - type: 'bool', - }, - { internalType: 'bool', name: 'pauseTransfers', type: 'bool' }, - ], - internalType: 'struct JBGlobalFundingCycleMetadata', - name: 'global', - type: 'tuple', - }, - { internalType: 'uint256', name: 'reservedRate', type: 'uint256' }, - { - internalType: 'uint256', - name: 'redemptionRate', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'ballotRedemptionRate', - type: 'uint256', - }, - { internalType: 'bool', name: 'pausePay', type: 'bool' }, - { internalType: 'bool', name: 'pauseDistributions', type: 'bool' }, - { internalType: 'bool', name: 'pauseRedeem', type: 'bool' }, - { internalType: 'bool', name: 'pauseBurn', type: 'bool' }, - { internalType: 'bool', name: 'allowMinting', type: 'bool' }, - { - internalType: 'bool', - name: 'allowTerminalMigration', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowControllerMigration', - type: 'bool', - }, - { internalType: 'bool', name: 'holdFees', type: 'bool' }, - { - internalType: 'bool', - name: 'preferClaimedTokenOverride', - type: 'bool', - }, - { - internalType: 'bool', - name: 'useTotalOverflowForRedemptions', - type: 'bool', - }, - { internalType: 'bool', name: 'useDataSourceForPay', type: 'bool' }, - { - internalType: 'bool', - name: 'useDataSourceForRedeem', - type: 'bool', - }, - { internalType: 'address', name: 'dataSource', type: 'address' }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycleMetadata', - name: 'metadata', - type: 'tuple', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'latestConfiguredFundingCycleOf', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'number', type: 'uint256' }, - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - { internalType: 'uint256', name: 'basedOn', type: 'uint256' }, - { internalType: 'uint256', name: 'start', type: 'uint256' }, - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycle', - name: 'fundingCycle', - type: 'tuple', - }, - { - components: [ - { - components: [ - { - internalType: 'bool', - name: 'allowSetTerminals', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowSetController', - type: 'bool', - }, - { internalType: 'bool', name: 'pauseTransfers', type: 'bool' }, - ], - internalType: 'struct JBGlobalFundingCycleMetadata', - name: 'global', - type: 'tuple', - }, - { internalType: 'uint256', name: 'reservedRate', type: 'uint256' }, - { - internalType: 'uint256', - name: 'redemptionRate', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'ballotRedemptionRate', - type: 'uint256', - }, - { internalType: 'bool', name: 'pausePay', type: 'bool' }, - { internalType: 'bool', name: 'pauseDistributions', type: 'bool' }, - { internalType: 'bool', name: 'pauseRedeem', type: 'bool' }, - { internalType: 'bool', name: 'pauseBurn', type: 'bool' }, - { internalType: 'bool', name: 'allowMinting', type: 'bool' }, - { - internalType: 'bool', - name: 'allowTerminalMigration', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowControllerMigration', - type: 'bool', - }, - { internalType: 'bool', name: 'holdFees', type: 'bool' }, - { - internalType: 'bool', - name: 'preferClaimedTokenOverride', - type: 'bool', - }, - { - internalType: 'bool', - name: 'useTotalOverflowForRedemptions', - type: 'bool', - }, - { internalType: 'bool', name: 'useDataSourceForPay', type: 'bool' }, - { - internalType: 'bool', - name: 'useDataSourceForRedeem', - type: 'bool', - }, - { internalType: 'address', name: 'dataSource', type: 'address' }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycleMetadata', - name: 'metadata', - type: 'tuple', - }, - { - internalType: 'enum JBBallotState', - name: 'ballotState', - type: 'uint8', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { - components: [ - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - ], - internalType: 'struct JBFundingCycleData', - name: '_data', - type: 'tuple', - }, - { - components: [ - { - components: [ - { - internalType: 'bool', - name: 'allowSetTerminals', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowSetController', - type: 'bool', - }, - { internalType: 'bool', name: 'pauseTransfers', type: 'bool' }, - ], - internalType: 'struct JBGlobalFundingCycleMetadata', - name: 'global', - type: 'tuple', - }, - { internalType: 'uint256', name: 'reservedRate', type: 'uint256' }, - { - internalType: 'uint256', - name: 'redemptionRate', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'ballotRedemptionRate', - type: 'uint256', - }, - { internalType: 'bool', name: 'pausePay', type: 'bool' }, - { internalType: 'bool', name: 'pauseDistributions', type: 'bool' }, - { internalType: 'bool', name: 'pauseRedeem', type: 'bool' }, - { internalType: 'bool', name: 'pauseBurn', type: 'bool' }, - { internalType: 'bool', name: 'allowMinting', type: 'bool' }, - { - internalType: 'bool', - name: 'allowTerminalMigration', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowControllerMigration', - type: 'bool', - }, - { internalType: 'bool', name: 'holdFees', type: 'bool' }, - { - internalType: 'bool', - name: 'preferClaimedTokenOverride', - type: 'bool', - }, - { - internalType: 'bool', - name: 'useTotalOverflowForRedemptions', - type: 'bool', - }, - { internalType: 'bool', name: 'useDataSourceForPay', type: 'bool' }, - { - internalType: 'bool', - name: 'useDataSourceForRedeem', - type: 'bool', - }, - { internalType: 'address', name: 'dataSource', type: 'address' }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycleMetadata', - name: '_metadata', - type: 'tuple', - }, - { - internalType: 'uint256', - name: '_mustStartAtOrAfter', - type: 'uint256', - }, - { - components: [ - { internalType: 'uint256', name: 'group', type: 'uint256' }, - { - components: [ - { internalType: 'bool', name: 'preferClaimed', type: 'bool' }, - { - internalType: 'bool', - name: 'preferAddToBalance', - type: 'bool', - }, - { internalType: 'uint256', name: 'percent', type: 'uint256' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'address payable', - name: 'beneficiary', - type: 'address', - }, - { - internalType: 'uint256', - name: 'lockedUntil', - type: 'uint256', - }, - { - internalType: 'contract IJBSplitAllocator', - name: 'allocator', - type: 'address', - }, - ], - internalType: 'struct JBSplit[]', - name: 'splits', - type: 'tuple[]', - }, - ], - internalType: 'struct JBGroupedSplits[]', - name: '_groupedSplits', - type: 'tuple[]', - }, - { - components: [ - { - internalType: 'contract IJBPaymentTerminal', - name: 'terminal', - type: 'address', - }, - { internalType: 'address', name: 'token', type: 'address' }, - { - internalType: 'uint256', - name: 'distributionLimit', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'distributionLimitCurrency', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'overflowAllowance', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'overflowAllowanceCurrency', - type: 'uint256', - }, - ], - internalType: 'struct JBFundAccessConstraints[]', - name: '_fundAccessConstraints', - type: 'tuple[]', - }, - { - internalType: 'contract IJBPaymentTerminal[]', - name: '_terminals', - type: 'address[]', - }, - { internalType: 'string', name: '_memo', type: 'string' }, - ], - name: 'launchFundingCyclesFor', - outputs: [ - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: '_owner', type: 'address' }, - { - components: [ - { internalType: 'string', name: 'content', type: 'string' }, - { internalType: 'uint256', name: 'domain', type: 'uint256' }, - ], - internalType: 'struct JBProjectMetadata', - name: '_projectMetadata', - type: 'tuple', - }, - { - components: [ - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - ], - internalType: 'struct JBFundingCycleData', - name: '_data', - type: 'tuple', - }, - { - components: [ - { - components: [ - { - internalType: 'bool', - name: 'allowSetTerminals', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowSetController', - type: 'bool', - }, - { internalType: 'bool', name: 'pauseTransfers', type: 'bool' }, - ], - internalType: 'struct JBGlobalFundingCycleMetadata', - name: 'global', - type: 'tuple', - }, - { internalType: 'uint256', name: 'reservedRate', type: 'uint256' }, - { - internalType: 'uint256', - name: 'redemptionRate', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'ballotRedemptionRate', - type: 'uint256', - }, - { internalType: 'bool', name: 'pausePay', type: 'bool' }, - { internalType: 'bool', name: 'pauseDistributions', type: 'bool' }, - { internalType: 'bool', name: 'pauseRedeem', type: 'bool' }, - { internalType: 'bool', name: 'pauseBurn', type: 'bool' }, - { internalType: 'bool', name: 'allowMinting', type: 'bool' }, - { - internalType: 'bool', - name: 'allowTerminalMigration', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowControllerMigration', - type: 'bool', - }, - { internalType: 'bool', name: 'holdFees', type: 'bool' }, - { - internalType: 'bool', - name: 'preferClaimedTokenOverride', - type: 'bool', - }, - { - internalType: 'bool', - name: 'useTotalOverflowForRedemptions', - type: 'bool', - }, - { internalType: 'bool', name: 'useDataSourceForPay', type: 'bool' }, - { - internalType: 'bool', - name: 'useDataSourceForRedeem', - type: 'bool', - }, - { internalType: 'address', name: 'dataSource', type: 'address' }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycleMetadata', - name: '_metadata', - type: 'tuple', - }, - { - internalType: 'uint256', - name: '_mustStartAtOrAfter', - type: 'uint256', - }, - { - components: [ - { internalType: 'uint256', name: 'group', type: 'uint256' }, - { - components: [ - { internalType: 'bool', name: 'preferClaimed', type: 'bool' }, - { - internalType: 'bool', - name: 'preferAddToBalance', - type: 'bool', - }, - { internalType: 'uint256', name: 'percent', type: 'uint256' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'address payable', - name: 'beneficiary', - type: 'address', - }, - { - internalType: 'uint256', - name: 'lockedUntil', - type: 'uint256', - }, - { - internalType: 'contract IJBSplitAllocator', - name: 'allocator', - type: 'address', - }, - ], - internalType: 'struct JBSplit[]', - name: 'splits', - type: 'tuple[]', - }, - ], - internalType: 'struct JBGroupedSplits[]', - name: '_groupedSplits', - type: 'tuple[]', - }, - { - components: [ - { - internalType: 'contract IJBPaymentTerminal', - name: 'terminal', - type: 'address', - }, - { internalType: 'address', name: 'token', type: 'address' }, - { - internalType: 'uint256', - name: 'distributionLimit', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'distributionLimitCurrency', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'overflowAllowance', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'overflowAllowanceCurrency', - type: 'uint256', - }, - ], - internalType: 'struct JBFundAccessConstraints[]', - name: '_fundAccessConstraints', - type: 'tuple[]', - }, - { - internalType: 'contract IJBPaymentTerminal[]', - name: '_terminals', - type: 'address[]', - }, - { internalType: 'string', name: '_memo', type: 'string' }, - ], - name: 'launchProjectFor', - outputs: [ - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { - internalType: 'contract IJBMigratable', - name: '_to', - type: 'address', - }, - ], - name: 'migrate', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_tokenCount', type: 'uint256' }, - { internalType: 'address', name: '_beneficiary', type: 'address' }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bool', name: '_preferClaimedTokens', type: 'bool' }, - { internalType: 'bool', name: '_useReservedRate', type: 'bool' }, - ], - name: 'mintTokensOf', - outputs: [ - { - internalType: 'uint256', - name: 'beneficiaryTokenCount', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'operatorStore', - outputs: [ - { - internalType: 'contract IJBOperatorStore', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_configuration', type: 'uint256' }, - { - internalType: 'contract IJBPaymentTerminal', - name: '_terminal', - type: 'address', - }, - { internalType: 'address', name: '_token', type: 'address' }, - ], - name: 'overflowAllowanceOf', - outputs: [ - { internalType: 'uint256', name: '', type: 'uint256' }, - { internalType: 'uint256', name: '', type: 'uint256' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'address', name: '_from', type: 'address' }, - ], - name: 'prepForMigrationOf', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'projects', - outputs: [ - { internalType: 'contract IJBProjects', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'queuedFundingCycleOf', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'number', type: 'uint256' }, - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - { internalType: 'uint256', name: 'basedOn', type: 'uint256' }, - { internalType: 'uint256', name: 'start', type: 'uint256' }, - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycle', - name: 'fundingCycle', - type: 'tuple', - }, - { - components: [ - { - components: [ - { - internalType: 'bool', - name: 'allowSetTerminals', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowSetController', - type: 'bool', - }, - { internalType: 'bool', name: 'pauseTransfers', type: 'bool' }, - ], - internalType: 'struct JBGlobalFundingCycleMetadata', - name: 'global', - type: 'tuple', - }, - { internalType: 'uint256', name: 'reservedRate', type: 'uint256' }, - { - internalType: 'uint256', - name: 'redemptionRate', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'ballotRedemptionRate', - type: 'uint256', - }, - { internalType: 'bool', name: 'pausePay', type: 'bool' }, - { internalType: 'bool', name: 'pauseDistributions', type: 'bool' }, - { internalType: 'bool', name: 'pauseRedeem', type: 'bool' }, - { internalType: 'bool', name: 'pauseBurn', type: 'bool' }, - { internalType: 'bool', name: 'allowMinting', type: 'bool' }, - { - internalType: 'bool', - name: 'allowTerminalMigration', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowControllerMigration', - type: 'bool', - }, - { internalType: 'bool', name: 'holdFees', type: 'bool' }, - { - internalType: 'bool', - name: 'preferClaimedTokenOverride', - type: 'bool', - }, - { - internalType: 'bool', - name: 'useTotalOverflowForRedemptions', - type: 'bool', - }, - { internalType: 'bool', name: 'useDataSourceForPay', type: 'bool' }, - { - internalType: 'bool', - name: 'useDataSourceForRedeem', - type: 'bool', - }, - { internalType: 'address', name: 'dataSource', type: 'address' }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycleMetadata', - name: 'metadata', - type: 'tuple', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { - components: [ - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - ], - internalType: 'struct JBFundingCycleData', - name: '_data', - type: 'tuple', - }, - { - components: [ - { - components: [ - { - internalType: 'bool', - name: 'allowSetTerminals', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowSetController', - type: 'bool', - }, - { internalType: 'bool', name: 'pauseTransfers', type: 'bool' }, - ], - internalType: 'struct JBGlobalFundingCycleMetadata', - name: 'global', - type: 'tuple', - }, - { internalType: 'uint256', name: 'reservedRate', type: 'uint256' }, - { - internalType: 'uint256', - name: 'redemptionRate', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'ballotRedemptionRate', - type: 'uint256', - }, - { internalType: 'bool', name: 'pausePay', type: 'bool' }, - { internalType: 'bool', name: 'pauseDistributions', type: 'bool' }, - { internalType: 'bool', name: 'pauseRedeem', type: 'bool' }, - { internalType: 'bool', name: 'pauseBurn', type: 'bool' }, - { internalType: 'bool', name: 'allowMinting', type: 'bool' }, - { - internalType: 'bool', - name: 'allowTerminalMigration', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowControllerMigration', - type: 'bool', - }, - { internalType: 'bool', name: 'holdFees', type: 'bool' }, - { - internalType: 'bool', - name: 'preferClaimedTokenOverride', - type: 'bool', - }, - { - internalType: 'bool', - name: 'useTotalOverflowForRedemptions', - type: 'bool', - }, - { internalType: 'bool', name: 'useDataSourceForPay', type: 'bool' }, - { - internalType: 'bool', - name: 'useDataSourceForRedeem', - type: 'bool', - }, - { internalType: 'address', name: 'dataSource', type: 'address' }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycleMetadata', - name: '_metadata', - type: 'tuple', - }, - { - internalType: 'uint256', - name: '_mustStartAtOrAfter', - type: 'uint256', - }, - { - components: [ - { internalType: 'uint256', name: 'group', type: 'uint256' }, - { - components: [ - { internalType: 'bool', name: 'preferClaimed', type: 'bool' }, - { - internalType: 'bool', - name: 'preferAddToBalance', - type: 'bool', - }, - { internalType: 'uint256', name: 'percent', type: 'uint256' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'address payable', - name: 'beneficiary', - type: 'address', - }, - { - internalType: 'uint256', - name: 'lockedUntil', - type: 'uint256', - }, - { - internalType: 'contract IJBSplitAllocator', - name: 'allocator', - type: 'address', - }, - ], - internalType: 'struct JBSplit[]', - name: 'splits', - type: 'tuple[]', - }, - ], - internalType: 'struct JBGroupedSplits[]', - name: '_groupedSplits', - type: 'tuple[]', - }, - { - components: [ - { - internalType: 'contract IJBPaymentTerminal', - name: 'terminal', - type: 'address', - }, - { internalType: 'address', name: 'token', type: 'address' }, - { - internalType: 'uint256', - name: 'distributionLimit', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'distributionLimitCurrency', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'overflowAllowance', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'overflowAllowanceCurrency', - type: 'uint256', - }, - ], - internalType: 'struct JBFundAccessConstraints[]', - name: '_fundAccessConstraints', - type: 'tuple[]', - }, - { internalType: 'string', name: '_memo', type: 'string' }, - ], - name: 'reconfigureFundingCyclesOf', - outputs: [ - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_reservedRate', type: 'uint256' }, - ], - name: 'reservedTokenBalanceOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'splitsStore', - outputs: [ - { internalType: 'contract IJBSplitsStore', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'bytes4', name: '_interfaceId', type: 'bytes4' }, - ], - name: 'supportsInterface', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'tokenStore', - outputs: [ - { internalType: 'contract IJBTokenStore', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_reservedRate', type: 'uint256' }, - ], - name: 'totalOutstandingTokensOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - ], -} - -export const JBController3_1 = { - address: '0x97a5b9D9F0F7cD676B69f584F29048D0Ef4BB59b', - abi: [ - { - inputs: [ - { - internalType: 'contract IJBOperatorStore', - name: '_operatorStore', - type: 'address', - }, - { - internalType: 'contract IJBProjects', - name: '_projects', - type: 'address', - }, - { - internalType: 'contract IJBDirectory', - name: '_directory', - type: 'address', - }, - { - internalType: 'contract IJBFundingCycleStore', - name: '_fundingCycleStore', - type: 'address', - }, - { - internalType: 'contract IJBTokenStore', - name: '_tokenStore', - type: 'address', - }, - { - internalType: 'contract IJBSplitsStore', - name: '_splitsStore', - type: 'address', - }, - { - internalType: 'contract IJBFundAccessConstraintsStore', - name: '_fundAccessConstraintsStore', - type: 'address', - }, - ], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { - inputs: [], - name: 'BURN_PAUSED_AND_SENDER_NOT_VALID_TERMINAL_DELEGATE', - type: 'error', - }, - { inputs: [], name: 'CANT_MIGRATE_TO_CURRENT_CONTROLLER', type: 'error' }, - { inputs: [], name: 'FUNDING_CYCLE_ALREADY_LAUNCHED', type: 'error' }, - { inputs: [], name: 'INVALID_BALLOT_REDEMPTION_RATE', type: 'error' }, - { inputs: [], name: 'INVALID_REDEMPTION_RATE', type: 'error' }, - { inputs: [], name: 'INVALID_RESERVED_RATE', type: 'error' }, - { inputs: [], name: 'MIGRATION_NOT_ALLOWED', type: 'error' }, - { - inputs: [], - name: 'MINT_NOT_ALLOWED_AND_NOT_TERMINAL_DELEGATE', - type: 'error', - }, - { inputs: [], name: 'NOT_CURRENT_CONTROLLER', type: 'error' }, - { inputs: [], name: 'NO_BURNABLE_TOKENS', type: 'error' }, - { inputs: [], name: 'OVERFLOW_ALERT', type: 'error' }, - { - inputs: [ - { internalType: 'uint256', name: 'prod1', type: 'uint256' }, - { internalType: 'uint256', name: 'denominator', type: 'uint256' }, - ], - name: 'PRBMath__MulDivOverflow', - type: 'error', - }, - { inputs: [], name: 'UNAUTHORIZED', type: 'error' }, - { inputs: [], name: 'ZERO_TOKENS_TO_MINT', type: 'error' }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'holder', - type: 'address', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'tokenCount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'BurnTokens', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleConfiguration', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleNumber', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'tokenCount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'beneficiaryTokenCount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'DistributeReservedTokens', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'domain', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'group', - type: 'uint256', - }, - { - components: [ - { internalType: 'bool', name: 'preferClaimed', type: 'bool' }, - { internalType: 'bool', name: 'preferAddToBalance', type: 'bool' }, - { internalType: 'uint256', name: 'percent', type: 'uint256' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'address payable', - name: 'beneficiary', - type: 'address', - }, - { internalType: 'uint256', name: 'lockedUntil', type: 'uint256' }, - { - internalType: 'contract IJBSplitAllocator', - name: 'allocator', - type: 'address', - }, - ], - indexed: false, - internalType: 'struct JBSplit', - name: 'split', - type: 'tuple', - }, - { - indexed: false, - internalType: 'uint256', - name: 'tokenCount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'DistributeToReservedTokenSplit', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'uint256', - name: 'configuration', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'LaunchFundingCycles', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'uint256', - name: 'configuration', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'LaunchProject', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'contract IJBMigratable', - name: 'to', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'Migrate', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'tokenCount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'beneficiaryTokenCount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'uint256', - name: 'reservedRate', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'MintTokens', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'from', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'PrepMigration', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'uint256', - name: 'configuration', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'ReconfigureFundingCycles', - type: 'event', - }, - { - inputs: [ - { internalType: 'address', name: '_holder', type: 'address' }, - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_tokenCount', type: 'uint256' }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bool', name: '_preferClaimedTokens', type: 'bool' }, - ], - name: 'burnTokensOf', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'currentFundingCycleOf', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'number', type: 'uint256' }, - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - { internalType: 'uint256', name: 'basedOn', type: 'uint256' }, - { internalType: 'uint256', name: 'start', type: 'uint256' }, - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycle', - name: 'fundingCycle', - type: 'tuple', - }, - { - components: [ - { - components: [ - { - internalType: 'bool', - name: 'allowSetTerminals', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowSetController', - type: 'bool', - }, - { internalType: 'bool', name: 'pauseTransfers', type: 'bool' }, - ], - internalType: 'struct JBGlobalFundingCycleMetadata', - name: 'global', - type: 'tuple', - }, - { internalType: 'uint256', name: 'reservedRate', type: 'uint256' }, - { - internalType: 'uint256', - name: 'redemptionRate', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'ballotRedemptionRate', - type: 'uint256', - }, - { internalType: 'bool', name: 'pausePay', type: 'bool' }, - { internalType: 'bool', name: 'pauseDistributions', type: 'bool' }, - { internalType: 'bool', name: 'pauseRedeem', type: 'bool' }, - { internalType: 'bool', name: 'pauseBurn', type: 'bool' }, - { internalType: 'bool', name: 'allowMinting', type: 'bool' }, - { - internalType: 'bool', - name: 'allowTerminalMigration', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowControllerMigration', - type: 'bool', - }, - { internalType: 'bool', name: 'holdFees', type: 'bool' }, - { - internalType: 'bool', - name: 'preferClaimedTokenOverride', - type: 'bool', - }, - { - internalType: 'bool', - name: 'useTotalOverflowForRedemptions', - type: 'bool', - }, - { internalType: 'bool', name: 'useDataSourceForPay', type: 'bool' }, - { - internalType: 'bool', - name: 'useDataSourceForRedeem', - type: 'bool', - }, - { internalType: 'address', name: 'dataSource', type: 'address' }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycleMetadata', - name: 'metadata', - type: 'tuple', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'directory', - outputs: [ - { internalType: 'contract IJBDirectory', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'string', name: '_memo', type: 'string' }, - ], - name: 'distributeReservedTokensOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'fundAccessConstraintsStore', - outputs: [ - { - internalType: 'contract IJBFundAccessConstraintsStore', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'fundingCycleStore', - outputs: [ - { - internalType: 'contract IJBFundingCycleStore', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_configuration', type: 'uint256' }, - ], - name: 'getFundingCycleOf', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'number', type: 'uint256' }, - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - { internalType: 'uint256', name: 'basedOn', type: 'uint256' }, - { internalType: 'uint256', name: 'start', type: 'uint256' }, - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycle', - name: 'fundingCycle', - type: 'tuple', - }, - { - components: [ - { - components: [ - { - internalType: 'bool', - name: 'allowSetTerminals', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowSetController', - type: 'bool', - }, - { internalType: 'bool', name: 'pauseTransfers', type: 'bool' }, - ], - internalType: 'struct JBGlobalFundingCycleMetadata', - name: 'global', - type: 'tuple', - }, - { internalType: 'uint256', name: 'reservedRate', type: 'uint256' }, - { - internalType: 'uint256', - name: 'redemptionRate', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'ballotRedemptionRate', - type: 'uint256', - }, - { internalType: 'bool', name: 'pausePay', type: 'bool' }, - { internalType: 'bool', name: 'pauseDistributions', type: 'bool' }, - { internalType: 'bool', name: 'pauseRedeem', type: 'bool' }, - { internalType: 'bool', name: 'pauseBurn', type: 'bool' }, - { internalType: 'bool', name: 'allowMinting', type: 'bool' }, - { - internalType: 'bool', - name: 'allowTerminalMigration', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowControllerMigration', - type: 'bool', - }, - { internalType: 'bool', name: 'holdFees', type: 'bool' }, - { - internalType: 'bool', - name: 'preferClaimedTokenOverride', - type: 'bool', - }, - { - internalType: 'bool', - name: 'useTotalOverflowForRedemptions', - type: 'bool', - }, - { internalType: 'bool', name: 'useDataSourceForPay', type: 'bool' }, - { - internalType: 'bool', - name: 'useDataSourceForRedeem', - type: 'bool', - }, - { internalType: 'address', name: 'dataSource', type: 'address' }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycleMetadata', - name: 'metadata', - type: 'tuple', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'latestConfiguredFundingCycleOf', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'number', type: 'uint256' }, - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - { internalType: 'uint256', name: 'basedOn', type: 'uint256' }, - { internalType: 'uint256', name: 'start', type: 'uint256' }, - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycle', - name: 'fundingCycle', - type: 'tuple', - }, - { - components: [ - { - components: [ - { - internalType: 'bool', - name: 'allowSetTerminals', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowSetController', - type: 'bool', - }, - { internalType: 'bool', name: 'pauseTransfers', type: 'bool' }, - ], - internalType: 'struct JBGlobalFundingCycleMetadata', - name: 'global', - type: 'tuple', - }, - { internalType: 'uint256', name: 'reservedRate', type: 'uint256' }, - { - internalType: 'uint256', - name: 'redemptionRate', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'ballotRedemptionRate', - type: 'uint256', - }, - { internalType: 'bool', name: 'pausePay', type: 'bool' }, - { internalType: 'bool', name: 'pauseDistributions', type: 'bool' }, - { internalType: 'bool', name: 'pauseRedeem', type: 'bool' }, - { internalType: 'bool', name: 'pauseBurn', type: 'bool' }, - { internalType: 'bool', name: 'allowMinting', type: 'bool' }, - { - internalType: 'bool', - name: 'allowTerminalMigration', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowControllerMigration', - type: 'bool', - }, - { internalType: 'bool', name: 'holdFees', type: 'bool' }, - { - internalType: 'bool', - name: 'preferClaimedTokenOverride', - type: 'bool', - }, - { - internalType: 'bool', - name: 'useTotalOverflowForRedemptions', - type: 'bool', - }, - { internalType: 'bool', name: 'useDataSourceForPay', type: 'bool' }, - { - internalType: 'bool', - name: 'useDataSourceForRedeem', - type: 'bool', - }, - { internalType: 'address', name: 'dataSource', type: 'address' }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycleMetadata', - name: 'metadata', - type: 'tuple', - }, - { - internalType: 'enum JBBallotState', - name: 'ballotState', - type: 'uint8', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { - components: [ - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - ], - internalType: 'struct JBFundingCycleData', - name: '_data', - type: 'tuple', - }, - { - components: [ - { - components: [ - { - internalType: 'bool', - name: 'allowSetTerminals', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowSetController', - type: 'bool', - }, - { internalType: 'bool', name: 'pauseTransfers', type: 'bool' }, - ], - internalType: 'struct JBGlobalFundingCycleMetadata', - name: 'global', - type: 'tuple', - }, - { internalType: 'uint256', name: 'reservedRate', type: 'uint256' }, - { - internalType: 'uint256', - name: 'redemptionRate', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'ballotRedemptionRate', - type: 'uint256', - }, - { internalType: 'bool', name: 'pausePay', type: 'bool' }, - { internalType: 'bool', name: 'pauseDistributions', type: 'bool' }, - { internalType: 'bool', name: 'pauseRedeem', type: 'bool' }, - { internalType: 'bool', name: 'pauseBurn', type: 'bool' }, - { internalType: 'bool', name: 'allowMinting', type: 'bool' }, - { - internalType: 'bool', - name: 'allowTerminalMigration', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowControllerMigration', - type: 'bool', - }, - { internalType: 'bool', name: 'holdFees', type: 'bool' }, - { - internalType: 'bool', - name: 'preferClaimedTokenOverride', - type: 'bool', - }, - { - internalType: 'bool', - name: 'useTotalOverflowForRedemptions', - type: 'bool', - }, - { internalType: 'bool', name: 'useDataSourceForPay', type: 'bool' }, - { - internalType: 'bool', - name: 'useDataSourceForRedeem', - type: 'bool', - }, - { internalType: 'address', name: 'dataSource', type: 'address' }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycleMetadata', - name: '_metadata', - type: 'tuple', - }, - { - internalType: 'uint256', - name: '_mustStartAtOrAfter', - type: 'uint256', - }, - { - components: [ - { internalType: 'uint256', name: 'group', type: 'uint256' }, - { - components: [ - { internalType: 'bool', name: 'preferClaimed', type: 'bool' }, - { - internalType: 'bool', - name: 'preferAddToBalance', - type: 'bool', - }, - { internalType: 'uint256', name: 'percent', type: 'uint256' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'address payable', - name: 'beneficiary', - type: 'address', - }, - { - internalType: 'uint256', - name: 'lockedUntil', - type: 'uint256', - }, - { - internalType: 'contract IJBSplitAllocator', - name: 'allocator', - type: 'address', - }, - ], - internalType: 'struct JBSplit[]', - name: 'splits', - type: 'tuple[]', - }, - ], - internalType: 'struct JBGroupedSplits[]', - name: '_groupedSplits', - type: 'tuple[]', - }, - { - components: [ - { - internalType: 'contract IJBPaymentTerminal', - name: 'terminal', - type: 'address', - }, - { internalType: 'address', name: 'token', type: 'address' }, - { - internalType: 'uint256', - name: 'distributionLimit', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'distributionLimitCurrency', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'overflowAllowance', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'overflowAllowanceCurrency', - type: 'uint256', - }, - ], - internalType: 'struct JBFundAccessConstraints[]', - name: '_fundAccessConstraints', - type: 'tuple[]', - }, - { - internalType: 'contract IJBPaymentTerminal[]', - name: '_terminals', - type: 'address[]', - }, - { internalType: 'string', name: '_memo', type: 'string' }, - ], - name: 'launchFundingCyclesFor', - outputs: [ - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: '_owner', type: 'address' }, - { - components: [ - { internalType: 'string', name: 'content', type: 'string' }, - { internalType: 'uint256', name: 'domain', type: 'uint256' }, - ], - internalType: 'struct JBProjectMetadata', - name: '_projectMetadata', - type: 'tuple', - }, - { - components: [ - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - ], - internalType: 'struct JBFundingCycleData', - name: '_data', - type: 'tuple', - }, - { - components: [ - { - components: [ - { - internalType: 'bool', - name: 'allowSetTerminals', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowSetController', - type: 'bool', - }, - { internalType: 'bool', name: 'pauseTransfers', type: 'bool' }, - ], - internalType: 'struct JBGlobalFundingCycleMetadata', - name: 'global', - type: 'tuple', - }, - { internalType: 'uint256', name: 'reservedRate', type: 'uint256' }, - { - internalType: 'uint256', - name: 'redemptionRate', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'ballotRedemptionRate', - type: 'uint256', - }, - { internalType: 'bool', name: 'pausePay', type: 'bool' }, - { internalType: 'bool', name: 'pauseDistributions', type: 'bool' }, - { internalType: 'bool', name: 'pauseRedeem', type: 'bool' }, - { internalType: 'bool', name: 'pauseBurn', type: 'bool' }, - { internalType: 'bool', name: 'allowMinting', type: 'bool' }, - { - internalType: 'bool', - name: 'allowTerminalMigration', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowControllerMigration', - type: 'bool', - }, - { internalType: 'bool', name: 'holdFees', type: 'bool' }, - { - internalType: 'bool', - name: 'preferClaimedTokenOverride', - type: 'bool', - }, - { - internalType: 'bool', - name: 'useTotalOverflowForRedemptions', - type: 'bool', - }, - { internalType: 'bool', name: 'useDataSourceForPay', type: 'bool' }, - { - internalType: 'bool', - name: 'useDataSourceForRedeem', - type: 'bool', - }, - { internalType: 'address', name: 'dataSource', type: 'address' }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycleMetadata', - name: '_metadata', - type: 'tuple', - }, - { - internalType: 'uint256', - name: '_mustStartAtOrAfter', - type: 'uint256', - }, - { - components: [ - { internalType: 'uint256', name: 'group', type: 'uint256' }, - { - components: [ - { internalType: 'bool', name: 'preferClaimed', type: 'bool' }, - { - internalType: 'bool', - name: 'preferAddToBalance', - type: 'bool', - }, - { internalType: 'uint256', name: 'percent', type: 'uint256' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'address payable', - name: 'beneficiary', - type: 'address', - }, - { - internalType: 'uint256', - name: 'lockedUntil', - type: 'uint256', - }, - { - internalType: 'contract IJBSplitAllocator', - name: 'allocator', - type: 'address', - }, - ], - internalType: 'struct JBSplit[]', - name: 'splits', - type: 'tuple[]', - }, - ], - internalType: 'struct JBGroupedSplits[]', - name: '_groupedSplits', - type: 'tuple[]', - }, - { - components: [ - { - internalType: 'contract IJBPaymentTerminal', - name: 'terminal', - type: 'address', - }, - { internalType: 'address', name: 'token', type: 'address' }, - { - internalType: 'uint256', - name: 'distributionLimit', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'distributionLimitCurrency', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'overflowAllowance', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'overflowAllowanceCurrency', - type: 'uint256', - }, - ], - internalType: 'struct JBFundAccessConstraints[]', - name: '_fundAccessConstraints', - type: 'tuple[]', - }, - { - internalType: 'contract IJBPaymentTerminal[]', - name: '_terminals', - type: 'address[]', - }, - { internalType: 'string', name: '_memo', type: 'string' }, - ], - name: 'launchProjectFor', - outputs: [ - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { - internalType: 'contract IJBMigratable', - name: '_to', - type: 'address', - }, - ], - name: 'migrate', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_tokenCount', type: 'uint256' }, - { internalType: 'address', name: '_beneficiary', type: 'address' }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bool', name: '_preferClaimedTokens', type: 'bool' }, - { internalType: 'bool', name: '_useReservedRate', type: 'bool' }, - ], - name: 'mintTokensOf', - outputs: [ - { - internalType: 'uint256', - name: 'beneficiaryTokenCount', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'operatorStore', - outputs: [ - { - internalType: 'contract IJBOperatorStore', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'address', name: '_from', type: 'address' }, - ], - name: 'prepForMigrationOf', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'projects', - outputs: [ - { internalType: 'contract IJBProjects', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'queuedFundingCycleOf', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'number', type: 'uint256' }, - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - { internalType: 'uint256', name: 'basedOn', type: 'uint256' }, - { internalType: 'uint256', name: 'start', type: 'uint256' }, - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycle', - name: 'fundingCycle', - type: 'tuple', - }, - { - components: [ - { - components: [ - { - internalType: 'bool', - name: 'allowSetTerminals', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowSetController', - type: 'bool', - }, - { internalType: 'bool', name: 'pauseTransfers', type: 'bool' }, - ], - internalType: 'struct JBGlobalFundingCycleMetadata', - name: 'global', - type: 'tuple', - }, - { internalType: 'uint256', name: 'reservedRate', type: 'uint256' }, - { - internalType: 'uint256', - name: 'redemptionRate', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'ballotRedemptionRate', - type: 'uint256', - }, - { internalType: 'bool', name: 'pausePay', type: 'bool' }, - { internalType: 'bool', name: 'pauseDistributions', type: 'bool' }, - { internalType: 'bool', name: 'pauseRedeem', type: 'bool' }, - { internalType: 'bool', name: 'pauseBurn', type: 'bool' }, - { internalType: 'bool', name: 'allowMinting', type: 'bool' }, - { - internalType: 'bool', - name: 'allowTerminalMigration', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowControllerMigration', - type: 'bool', - }, - { internalType: 'bool', name: 'holdFees', type: 'bool' }, - { - internalType: 'bool', - name: 'preferClaimedTokenOverride', - type: 'bool', - }, - { - internalType: 'bool', - name: 'useTotalOverflowForRedemptions', - type: 'bool', - }, - { internalType: 'bool', name: 'useDataSourceForPay', type: 'bool' }, - { - internalType: 'bool', - name: 'useDataSourceForRedeem', - type: 'bool', - }, - { internalType: 'address', name: 'dataSource', type: 'address' }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycleMetadata', - name: 'metadata', - type: 'tuple', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { - components: [ - { internalType: 'uint256', name: 'duration', type: 'uint256' }, - { internalType: 'uint256', name: 'weight', type: 'uint256' }, - { internalType: 'uint256', name: 'discountRate', type: 'uint256' }, - { - internalType: 'contract IJBFundingCycleBallot', - name: 'ballot', - type: 'address', - }, - ], - internalType: 'struct JBFundingCycleData', - name: '_data', - type: 'tuple', - }, - { - components: [ - { - components: [ - { - internalType: 'bool', - name: 'allowSetTerminals', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowSetController', - type: 'bool', - }, - { internalType: 'bool', name: 'pauseTransfers', type: 'bool' }, - ], - internalType: 'struct JBGlobalFundingCycleMetadata', - name: 'global', - type: 'tuple', - }, - { internalType: 'uint256', name: 'reservedRate', type: 'uint256' }, - { - internalType: 'uint256', - name: 'redemptionRate', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'ballotRedemptionRate', - type: 'uint256', - }, - { internalType: 'bool', name: 'pausePay', type: 'bool' }, - { internalType: 'bool', name: 'pauseDistributions', type: 'bool' }, - { internalType: 'bool', name: 'pauseRedeem', type: 'bool' }, - { internalType: 'bool', name: 'pauseBurn', type: 'bool' }, - { internalType: 'bool', name: 'allowMinting', type: 'bool' }, - { - internalType: 'bool', - name: 'allowTerminalMigration', - type: 'bool', - }, - { - internalType: 'bool', - name: 'allowControllerMigration', - type: 'bool', - }, - { internalType: 'bool', name: 'holdFees', type: 'bool' }, - { - internalType: 'bool', - name: 'preferClaimedTokenOverride', - type: 'bool', - }, - { - internalType: 'bool', - name: 'useTotalOverflowForRedemptions', - type: 'bool', - }, - { internalType: 'bool', name: 'useDataSourceForPay', type: 'bool' }, - { - internalType: 'bool', - name: 'useDataSourceForRedeem', - type: 'bool', - }, - { internalType: 'address', name: 'dataSource', type: 'address' }, - { internalType: 'uint256', name: 'metadata', type: 'uint256' }, - ], - internalType: 'struct JBFundingCycleMetadata', - name: '_metadata', - type: 'tuple', - }, - { - internalType: 'uint256', - name: '_mustStartAtOrAfter', - type: 'uint256', - }, - { - components: [ - { internalType: 'uint256', name: 'group', type: 'uint256' }, - { - components: [ - { internalType: 'bool', name: 'preferClaimed', type: 'bool' }, - { - internalType: 'bool', - name: 'preferAddToBalance', - type: 'bool', - }, - { internalType: 'uint256', name: 'percent', type: 'uint256' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'address payable', - name: 'beneficiary', - type: 'address', - }, - { - internalType: 'uint256', - name: 'lockedUntil', - type: 'uint256', - }, - { - internalType: 'contract IJBSplitAllocator', - name: 'allocator', - type: 'address', - }, - ], - internalType: 'struct JBSplit[]', - name: 'splits', - type: 'tuple[]', - }, - ], - internalType: 'struct JBGroupedSplits[]', - name: '_groupedSplits', - type: 'tuple[]', - }, - { - components: [ - { - internalType: 'contract IJBPaymentTerminal', - name: 'terminal', - type: 'address', - }, - { internalType: 'address', name: 'token', type: 'address' }, - { - internalType: 'uint256', - name: 'distributionLimit', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'distributionLimitCurrency', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'overflowAllowance', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'overflowAllowanceCurrency', - type: 'uint256', - }, - ], - internalType: 'struct JBFundAccessConstraints[]', - name: '_fundAccessConstraints', - type: 'tuple[]', - }, - { internalType: 'string', name: '_memo', type: 'string' }, - ], - name: 'reconfigureFundingCyclesOf', - outputs: [ - { internalType: 'uint256', name: 'configuration', type: 'uint256' }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - name: 'reservedTokenBalanceOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'splitsStore', - outputs: [ - { internalType: 'contract IJBSplitsStore', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'bytes4', name: '_interfaceId', type: 'bytes4' }, - ], - name: 'supportsInterface', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'tokenStore', - outputs: [ - { internalType: 'contract IJBTokenStore', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'totalOutstandingTokensOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - ], -} - -export const JBETHPaymentTerminal = { - address: '0x594Cb208b5BB48db1bcbC9354d1694998864ec63', - abi: [ - { - inputs: [ - { - internalType: 'uint256', - name: '_baseWeightCurrency', - type: 'uint256', - }, - { - internalType: 'contract IJBOperatorStore', - name: '_operatorStore', - type: 'address', - }, - { - internalType: 'contract IJBProjects', - name: '_projects', - type: 'address', - }, - { - internalType: 'contract IJBDirectory', - name: '_directory', - type: 'address', - }, - { - internalType: 'contract IJBSplitsStore', - name: '_splitsStore', - type: 'address', - }, - { - internalType: 'contract IJBPrices', - name: '_prices', - type: 'address', - }, - { - internalType: 'contract IJBSingleTokenPaymentTerminalStore', - name: '_store', - type: 'address', - }, - { internalType: 'address', name: '_owner', type: 'address' }, - ], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { inputs: [], name: 'FEE_TOO_HIGH', type: 'error' }, - { inputs: [], name: 'INADEQUATE_DISTRIBUTION_AMOUNT', type: 'error' }, - { inputs: [], name: 'INADEQUATE_RECLAIM_AMOUNT', type: 'error' }, - { inputs: [], name: 'INADEQUATE_TOKEN_COUNT', type: 'error' }, - { inputs: [], name: 'NO_MSG_VALUE_ALLOWED', type: 'error' }, - { inputs: [], name: 'PAY_TO_ZERO_ADDRESS', type: 'error' }, - { - inputs: [ - { internalType: 'uint256', name: 'prod1', type: 'uint256' }, - { internalType: 'uint256', name: 'denominator', type: 'uint256' }, - ], - name: 'PRBMath__MulDivOverflow', - type: 'error', - }, - { inputs: [], name: 'PROJECT_TERMINAL_MISMATCH', type: 'error' }, - { inputs: [], name: 'REDEEM_TO_ZERO_ADDRESS', type: 'error' }, - { inputs: [], name: 'TERMINAL_IN_SPLIT_ZERO_ADDRESS', type: 'error' }, - { inputs: [], name: 'TERMINAL_TOKENS_INCOMPATIBLE', type: 'error' }, - { inputs: [], name: 'UNAUTHORIZED', type: 'error' }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'refundedFees', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'bytes', - name: 'metadata', - type: 'bytes', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'AddToBalance', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'contract IJBPayDelegate', - name: 'delegate', - type: 'address', - }, - { - components: [ - { internalType: 'address', name: 'payer', type: 'address' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'uint256', - name: 'currentFundingCycleConfiguration', - type: 'uint256', - }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: 'amount', - type: 'tuple', - }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: 'forwardedAmount', - type: 'tuple', - }, - { - internalType: 'uint256', - name: 'projectTokenCount', - type: 'uint256', - }, - { internalType: 'address', name: 'beneficiary', type: 'address' }, - { internalType: 'bool', name: 'preferClaimedTokens', type: 'bool' }, - { internalType: 'string', name: 'memo', type: 'string' }, - { internalType: 'bytes', name: 'metadata', type: 'bytes' }, - ], - indexed: false, - internalType: 'struct JBDidPayData', - name: 'data', - type: 'tuple', - }, - { - indexed: false, - internalType: 'uint256', - name: 'delegatedAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'DelegateDidPay', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'contract IJBRedemptionDelegate', - name: 'delegate', - type: 'address', - }, - { - components: [ - { internalType: 'address', name: 'holder', type: 'address' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'uint256', - name: 'currentFundingCycleConfiguration', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'projectTokenCount', - type: 'uint256', - }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: 'reclaimedAmount', - type: 'tuple', - }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: 'forwardedAmount', - type: 'tuple', - }, - { - internalType: 'address payable', - name: 'beneficiary', - type: 'address', - }, - { internalType: 'string', name: 'memo', type: 'string' }, - { internalType: 'bytes', name: 'metadata', type: 'bytes' }, - ], - indexed: false, - internalType: 'struct JBDidRedeemData', - name: 'data', - type: 'tuple', - }, - { - indexed: false, - internalType: 'uint256', - name: 'delegatedAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'DelegateDidRedeem', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleConfiguration', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleNumber', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'distributedAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'fee', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'beneficiaryDistributionAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'DistributePayouts', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'domain', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'group', - type: 'uint256', - }, - { - components: [ - { internalType: 'bool', name: 'preferClaimed', type: 'bool' }, - { internalType: 'bool', name: 'preferAddToBalance', type: 'bool' }, - { internalType: 'uint256', name: 'percent', type: 'uint256' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'address payable', - name: 'beneficiary', - type: 'address', - }, - { internalType: 'uint256', name: 'lockedUntil', type: 'uint256' }, - { - internalType: 'contract IJBSplitAllocator', - name: 'allocator', - type: 'address', - }, - ], - indexed: false, - internalType: 'struct JBSplit', - name: 'split', - type: 'tuple', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'DistributeToPayoutSplit', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'fee', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'feeDiscount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'HoldFee', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'contract IJBPaymentTerminal', - 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: 'address', - name: 'previousOwner', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'newOwner', - type: 'address', - }, - ], - name: 'OwnershipTransferred', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleConfiguration', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleNumber', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'payer', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'beneficiaryTokenCount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'bytes', - name: 'metadata', - type: 'bytes', - }, - { - 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: 'uint256', - name: 'amount', - type: 'uint256', - }, - { indexed: true, internalType: 'bool', name: 'wasHeld', type: 'bool' }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'ProcessFee', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleConfiguration', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleNumber', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'holder', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'tokenCount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'reclaimedAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'bytes', - name: 'metadata', - type: 'bytes', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'RedeemTokens', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'refundedFees', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'leftoverAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'RefundHeldFees', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'uint256', - name: 'fee', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'SetFee', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'contract IJBFeeGauge', - name: 'feeGauge', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'SetFeeGauge', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'addrs', - type: 'address', - }, - { indexed: true, internalType: 'bool', name: 'flag', type: 'bool' }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'SetFeelessAddress', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleConfiguration', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleNumber', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'distributedAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'netDistributedamount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'UseAllowance', - type: 'event', - }, - { - inputs: [ - { internalType: 'address', name: '_token', type: 'address' }, - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'acceptsToken', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_amount', type: 'uint256' }, - { internalType: 'address', name: '_token', type: 'address' }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'addToBalanceOf', - outputs: [], - stateMutability: 'payable', - type: 'function', - }, - { - inputs: [], - name: 'baseWeightCurrency', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'currency', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: '_token', type: 'address' }], - name: 'currencyForToken', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'currentEthOverflowOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'decimals', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: '_token', type: 'address' }], - name: 'decimalsForToken', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'directory', - outputs: [ - { internalType: 'contract IJBDirectory', 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: '_token', type: 'address' }, - { - internalType: 'uint256', - name: '_minReturnedTokens', - type: 'uint256', - }, - { internalType: 'string', name: '_memo', type: 'string' }, - ], - name: 'distributePayoutsOf', - outputs: [ - { - internalType: 'uint256', - name: 'netLeftoverDistributionAmount', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'fee', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'feeGauge', - outputs: [ - { internalType: 'contract IJBFeeGauge', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'heldFeesOf', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'amount', type: 'uint256' }, - { internalType: 'uint32', name: 'fee', type: 'uint32' }, - { internalType: 'uint32', name: 'feeDiscount', type: 'uint32' }, - { internalType: 'address', name: 'beneficiary', type: 'address' }, - ], - internalType: 'struct JBFee[]', - name: '', - type: 'tuple[]', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: '', type: 'address' }], - name: 'isFeelessAddress', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { - internalType: 'contract IJBPaymentTerminal', - name: '_to', - type: 'address', - }, - ], - name: 'migrate', - outputs: [{ internalType: 'uint256', name: 'balance', type: 'uint256' }], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'operatorStore', - outputs: [ - { - internalType: 'contract IJBOperatorStore', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'owner', - outputs: [{ internalType: 'address', name: '', type: 'address' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_amount', type: 'uint256' }, - { internalType: 'address', name: '_token', type: 'address' }, - { internalType: 'address', name: '_beneficiary', type: 'address' }, - { - internalType: 'uint256', - name: '_minReturnedTokens', - type: 'uint256', - }, - { internalType: 'bool', name: '_preferClaimedTokens', type: 'bool' }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'pay', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'payable', - type: 'function', - }, - { - inputs: [], - name: 'payoutSplitsGroup', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'prices', - outputs: [ - { internalType: 'contract IJBPrices', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'processFees', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'projects', - outputs: [ - { internalType: 'contract IJBProjects', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: '_holder', type: 'address' }, - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_tokenCount', type: 'uint256' }, - { internalType: 'address', name: '_token', type: 'address' }, - { - internalType: 'uint256', - name: '_minReturnedTokens', - type: 'uint256', - }, - { - internalType: 'address payable', - name: '_beneficiary', - type: 'address', - }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'redeemTokensOf', - outputs: [ - { internalType: 'uint256', name: 'reclaimAmount', type: 'uint256' }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'renounceOwnership', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [{ internalType: 'uint256', name: '_fee', type: 'uint256' }], - name: 'setFee', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract IJBFeeGauge', - name: '_feeGauge', - type: 'address', - }, - ], - name: 'setFeeGauge', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: '_address', type: 'address' }, - { internalType: 'bool', name: '_flag', type: 'bool' }, - ], - name: 'setFeelessAddress', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'splitsStore', - outputs: [ - { internalType: 'contract IJBSplitsStore', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'store', - outputs: [ - { - internalType: 'contract IJBSingleTokenPaymentTerminalStore', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'bytes4', name: '_interfaceId', type: 'bytes4' }, - ], - name: 'supportsInterface', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'token', - outputs: [{ internalType: 'address', name: '', type: 'address' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: 'newOwner', type: 'address' }], - name: 'transferOwnership', - 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: 'address', name: '_token', type: 'address' }, - { - internalType: 'uint256', - name: '_minReturnedTokens', - type: 'uint256', - }, - { - internalType: 'address payable', - name: '_beneficiary', - type: 'address', - }, - { internalType: 'string', name: '_memo', type: 'string' }, - ], - name: 'useAllowanceOf', - outputs: [ - { - internalType: 'uint256', - name: 'netDistributedAmount', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - ], -} - -export const JBETHPaymentTerminal3_1 = { - address: '0xFA391De95Fcbcd3157268B91d8c7af083E607A5C', - abi: [ - { - inputs: [ - { - internalType: 'uint256', - name: '_baseWeightCurrency', - type: 'uint256', - }, - { - internalType: 'contract IJBOperatorStore', - name: '_operatorStore', - type: 'address', - }, - { - internalType: 'contract IJBProjects', - name: '_projects', - type: 'address', - }, - { - internalType: 'contract IJBDirectory', - name: '_directory', - type: 'address', - }, - { - internalType: 'contract IJBSplitsStore', - name: '_splitsStore', - type: 'address', - }, - { - internalType: 'contract IJBPrices', - name: '_prices', - type: 'address', - }, - { - internalType: 'contract IJBSingleTokenPaymentTerminalStore', - name: '_store', - type: 'address', - }, - { internalType: 'address', name: '_owner', type: 'address' }, - ], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { inputs: [], name: 'FEE_TOO_HIGH', type: 'error' }, - { inputs: [], name: 'INADEQUATE_DISTRIBUTION_AMOUNT', type: 'error' }, - { inputs: [], name: 'INADEQUATE_RECLAIM_AMOUNT', type: 'error' }, - { inputs: [], name: 'INADEQUATE_TOKEN_COUNT', type: 'error' }, - { inputs: [], name: 'NO_MSG_VALUE_ALLOWED', type: 'error' }, - { inputs: [], name: 'PAY_TO_ZERO_ADDRESS', type: 'error' }, - { - inputs: [ - { internalType: 'uint256', name: 'prod1', type: 'uint256' }, - { internalType: 'uint256', name: 'denominator', type: 'uint256' }, - ], - name: 'PRBMath__MulDivOverflow', - type: 'error', - }, - { inputs: [], name: 'PROJECT_TERMINAL_MISMATCH', type: 'error' }, - { inputs: [], name: 'REDEEM_TO_ZERO_ADDRESS', type: 'error' }, - { inputs: [], name: 'TERMINAL_IN_SPLIT_ZERO_ADDRESS', type: 'error' }, - { inputs: [], name: 'TERMINAL_TOKENS_INCOMPATIBLE', type: 'error' }, - { inputs: [], name: 'UNAUTHORIZED', type: 'error' }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'refundedFees', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'bytes', - name: 'metadata', - type: 'bytes', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'AddToBalance', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'contract IJBPayDelegate', - name: 'delegate', - type: 'address', - }, - { - components: [ - { internalType: 'address', name: 'payer', type: 'address' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'uint256', - name: 'currentFundingCycleConfiguration', - type: 'uint256', - }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: 'amount', - type: 'tuple', - }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: 'forwardedAmount', - type: 'tuple', - }, - { - internalType: 'uint256', - name: 'projectTokenCount', - type: 'uint256', - }, - { internalType: 'address', name: 'beneficiary', type: 'address' }, - { internalType: 'bool', name: 'preferClaimedTokens', type: 'bool' }, - { internalType: 'string', name: 'memo', type: 'string' }, - { internalType: 'bytes', name: 'metadata', type: 'bytes' }, - ], - indexed: false, - internalType: 'struct JBDidPayData', - name: 'data', - type: 'tuple', - }, - { - indexed: false, - internalType: 'uint256', - name: 'delegatedAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'DelegateDidPay', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'contract IJBRedemptionDelegate', - name: 'delegate', - type: 'address', - }, - { - components: [ - { internalType: 'address', name: 'holder', type: 'address' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'uint256', - name: 'currentFundingCycleConfiguration', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'projectTokenCount', - type: 'uint256', - }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: 'reclaimedAmount', - type: 'tuple', - }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: 'forwardedAmount', - type: 'tuple', - }, - { - internalType: 'address payable', - name: 'beneficiary', - type: 'address', - }, - { internalType: 'string', name: 'memo', type: 'string' }, - { internalType: 'bytes', name: 'metadata', type: 'bytes' }, - ], - indexed: false, - internalType: 'struct JBDidRedeemData', - name: 'data', - type: 'tuple', - }, - { - indexed: false, - internalType: 'uint256', - name: 'delegatedAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'DelegateDidRedeem', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleConfiguration', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleNumber', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'distributedAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'fee', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'beneficiaryDistributionAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'bytes', - name: 'metadata', - type: 'bytes', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'DistributePayouts', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'domain', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'group', - type: 'uint256', - }, - { - components: [ - { internalType: 'bool', name: 'preferClaimed', type: 'bool' }, - { internalType: 'bool', name: 'preferAddToBalance', type: 'bool' }, - { internalType: 'uint256', name: 'percent', type: 'uint256' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'address payable', - name: 'beneficiary', - type: 'address', - }, - { internalType: 'uint256', name: 'lockedUntil', type: 'uint256' }, - { - internalType: 'contract IJBSplitAllocator', - name: 'allocator', - type: 'address', - }, - ], - indexed: false, - internalType: 'struct JBSplit', - name: 'split', - type: 'tuple', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'netAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'DistributeToPayoutSplit', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'feeProjectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'bytes', - name: 'reason', - type: 'bytes', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'FeeReverted', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'fee', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'feeDiscount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'HoldFee', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'contract IJBPaymentTerminal', - 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: 'address', - name: 'previousOwner', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'newOwner', - type: 'address', - }, - ], - name: 'OwnershipTransferred', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleConfiguration', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleNumber', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'payer', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'beneficiaryTokenCount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'bytes', - name: 'metadata', - type: 'bytes', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'Pay', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - components: [ - { internalType: 'bool', name: 'preferClaimed', type: 'bool' }, - { internalType: 'bool', name: 'preferAddToBalance', type: 'bool' }, - { internalType: 'uint256', name: 'percent', type: 'uint256' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'address payable', - name: 'beneficiary', - type: 'address', - }, - { internalType: 'uint256', name: 'lockedUntil', type: 'uint256' }, - { - internalType: 'contract IJBSplitAllocator', - name: 'allocator', - type: 'address', - }, - ], - indexed: false, - internalType: 'struct JBSplit', - name: 'split', - type: 'tuple', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'bytes', - name: 'reason', - type: 'bytes', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'PayoutReverted', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { indexed: true, internalType: 'bool', name: 'wasHeld', type: 'bool' }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'ProcessFee', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleConfiguration', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleNumber', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'holder', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'tokenCount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'reclaimedAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'bytes', - name: 'metadata', - type: 'bytes', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'RedeemTokens', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'refundedFees', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'leftoverAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'RefundHeldFees', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'uint256', - name: 'fee', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'SetFee', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'contract IJBFeeGauge', - name: 'feeGauge', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'SetFeeGauge', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'addrs', - type: 'address', - }, - { indexed: true, internalType: 'bool', name: 'flag', type: 'bool' }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'SetFeelessAddress', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleConfiguration', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleNumber', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'distributedAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'netDistributedamount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'bytes', - name: 'metadata', - type: 'bytes', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'UseAllowance', - type: 'event', - }, - { - inputs: [ - { internalType: 'address', name: '_token', type: 'address' }, - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'acceptsToken', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_amount', type: 'uint256' }, - { internalType: 'address', name: '_token', type: 'address' }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'addToBalanceOf', - outputs: [], - stateMutability: 'payable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_amount', type: 'uint256' }, - { internalType: 'address', name: '_token', type: 'address' }, - { internalType: 'bool', name: '_shouldRefundHeldFees', type: 'bool' }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'addToBalanceOf', - outputs: [], - stateMutability: 'payable', - type: 'function', - }, - { - inputs: [], - name: 'baseWeightCurrency', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'currency', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: '_token', type: 'address' }], - name: 'currencyForToken', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'currentEthOverflowOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'decimals', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: '_token', type: 'address' }], - name: 'decimalsForToken', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'directory', - outputs: [ - { internalType: 'contract IJBDirectory', 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: '_token', type: 'address' }, - { - internalType: 'uint256', - name: '_minReturnedTokens', - type: 'uint256', - }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'distributePayoutsOf', - outputs: [ - { - internalType: 'uint256', - name: 'netLeftoverDistributionAmount', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'fee', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'feeGauge', - outputs: [ - { internalType: 'contract IJBFeeGauge', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'heldFeesOf', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'amount', type: 'uint256' }, - { internalType: 'uint32', name: 'fee', type: 'uint32' }, - { internalType: 'uint32', name: 'feeDiscount', type: 'uint32' }, - { internalType: 'address', name: 'beneficiary', type: 'address' }, - ], - internalType: 'struct JBFee[]', - name: '', - type: 'tuple[]', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: '', type: 'address' }], - name: 'isFeelessAddress', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { - internalType: 'contract IJBPaymentTerminal', - name: '_to', - type: 'address', - }, - ], - name: 'migrate', - outputs: [{ internalType: 'uint256', name: 'balance', type: 'uint256' }], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'operatorStore', - outputs: [ - { - internalType: 'contract IJBOperatorStore', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'owner', - outputs: [{ internalType: 'address', name: '', type: 'address' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_amount', type: 'uint256' }, - { internalType: 'address', name: '_token', type: 'address' }, - { internalType: 'address', name: '_beneficiary', type: 'address' }, - { - internalType: 'uint256', - name: '_minReturnedTokens', - type: 'uint256', - }, - { internalType: 'bool', name: '_preferClaimedTokens', type: 'bool' }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'pay', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'payable', - type: 'function', - }, - { - inputs: [], - name: 'payoutSplitsGroup', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'prices', - outputs: [ - { internalType: 'contract IJBPrices', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'processFees', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'projects', - outputs: [ - { internalType: 'contract IJBProjects', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: '_holder', type: 'address' }, - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_tokenCount', type: 'uint256' }, - { internalType: 'address', name: '_token', type: 'address' }, - { - internalType: 'uint256', - name: '_minReturnedTokens', - type: 'uint256', - }, - { - internalType: 'address payable', - name: '_beneficiary', - type: 'address', - }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'redeemTokensOf', - outputs: [ - { internalType: 'uint256', name: 'reclaimAmount', type: 'uint256' }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'renounceOwnership', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [{ internalType: 'uint256', name: '_fee', type: 'uint256' }], - name: 'setFee', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract IJBFeeGauge', - name: '_feeGauge', - type: 'address', - }, - ], - name: 'setFeeGauge', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: '_address', type: 'address' }, - { internalType: 'bool', name: '_flag', type: 'bool' }, - ], - name: 'setFeelessAddress', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'splitsStore', - outputs: [ - { internalType: 'contract IJBSplitsStore', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'store', - outputs: [ - { - internalType: 'contract IJBSingleTokenPaymentTerminalStore', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'bytes4', name: '_interfaceId', type: 'bytes4' }, - ], - name: 'supportsInterface', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'token', - outputs: [{ internalType: 'address', name: '', type: 'address' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: 'newOwner', type: 'address' }], - name: 'transferOwnership', - 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: 'address', name: '_token', type: 'address' }, - { - internalType: 'uint256', - name: '_minReturnedTokens', - type: 'uint256', - }, - { - internalType: 'address payable', - name: '_beneficiary', - type: 'address', - }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'useAllowanceOf', - outputs: [ - { - internalType: 'uint256', - name: 'netDistributedAmount', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - ], -} - -export const JBETHPaymentTerminal3_1_1 = { - address: '0x457cD63bee88ac01f3cD4a67D5DCc921D8C0D573', - abi: [ - { - inputs: [ - { - internalType: 'uint256', - name: '_baseWeightCurrency', - type: 'uint256', - }, - { - internalType: 'contract IJBOperatorStore', - name: '_operatorStore', - type: 'address', - }, - { - internalType: 'contract IJBProjects', - name: '_projects', - type: 'address', - }, - { - internalType: 'contract IJBDirectory', - name: '_directory', - type: 'address', - }, - { - internalType: 'contract IJBSplitsStore', - name: '_splitsStore', - type: 'address', - }, - { - internalType: 'contract IJBPrices', - name: '_prices', - type: 'address', - }, - { internalType: 'address', name: '_store', type: 'address' }, - { internalType: 'address', name: '_owner', type: 'address' }, - ], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { inputs: [], name: 'FEE_TOO_HIGH', type: 'error' }, - { inputs: [], name: 'INADEQUATE_DISTRIBUTION_AMOUNT', type: 'error' }, - { inputs: [], name: 'INADEQUATE_RECLAIM_AMOUNT', type: 'error' }, - { inputs: [], name: 'INADEQUATE_TOKEN_COUNT', type: 'error' }, - { inputs: [], name: 'NO_MSG_VALUE_ALLOWED', type: 'error' }, - { inputs: [], name: 'PAY_TO_ZERO_ADDRESS', type: 'error' }, - { - inputs: [ - { internalType: 'uint256', name: 'prod1', type: 'uint256' }, - { internalType: 'uint256', name: 'denominator', type: 'uint256' }, - ], - name: 'PRBMath__MulDivOverflow', - type: 'error', - }, - { inputs: [], name: 'PROJECT_TERMINAL_MISMATCH', type: 'error' }, - { inputs: [], name: 'REDEEM_TO_ZERO_ADDRESS', type: 'error' }, - { inputs: [], name: 'TERMINAL_TOKENS_INCOMPATIBLE', type: 'error' }, - { inputs: [], name: 'UNAUTHORIZED', type: 'error' }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'refundedFees', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'bytes', - name: 'metadata', - type: 'bytes', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'AddToBalance', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'contract IJBPayDelegate3_1_1', - name: 'delegate', - type: 'address', - }, - { - components: [ - { internalType: 'address', name: 'payer', type: 'address' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'uint256', - name: 'currentFundingCycleConfiguration', - type: 'uint256', - }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: 'amount', - type: 'tuple', - }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: 'forwardedAmount', - type: 'tuple', - }, - { - internalType: 'uint256', - name: 'projectTokenCount', - type: 'uint256', - }, - { internalType: 'address', name: 'beneficiary', type: 'address' }, - { internalType: 'bool', name: 'preferClaimedTokens', type: 'bool' }, - { internalType: 'string', name: 'memo', type: 'string' }, - { - internalType: 'bytes', - name: 'dataSourceMetadata', - type: 'bytes', - }, - { internalType: 'bytes', name: 'payerMetadata', type: 'bytes' }, - ], - indexed: false, - internalType: 'struct JBDidPayData3_1_1', - name: 'data', - type: 'tuple', - }, - { - indexed: false, - internalType: 'uint256', - name: 'delegatedAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'DelegateDidPay', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'contract IJBPayDelegate', - name: 'delegate', - type: 'address', - }, - { - components: [ - { internalType: 'address', name: 'payer', type: 'address' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'uint256', - name: 'currentFundingCycleConfiguration', - type: 'uint256', - }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: 'amount', - type: 'tuple', - }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: 'forwardedAmount', - type: 'tuple', - }, - { - internalType: 'uint256', - name: 'projectTokenCount', - type: 'uint256', - }, - { internalType: 'address', name: 'beneficiary', type: 'address' }, - { internalType: 'bool', name: 'preferClaimedTokens', type: 'bool' }, - { internalType: 'string', name: 'memo', type: 'string' }, - { internalType: 'bytes', name: 'metadata', type: 'bytes' }, - ], - indexed: false, - internalType: 'struct JBDidPayData', - name: 'data', - type: 'tuple', - }, - { - indexed: false, - internalType: 'uint256', - name: 'delegatedAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'DelegateDidPay', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'contract IJBRedemptionDelegate3_1_1', - name: 'delegate', - type: 'address', - }, - { - components: [ - { internalType: 'address', name: 'holder', type: 'address' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'uint256', - name: 'currentFundingCycleConfiguration', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'projectTokenCount', - type: 'uint256', - }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: 'reclaimedAmount', - type: 'tuple', - }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: 'forwardedAmount', - type: 'tuple', - }, - { - internalType: 'address payable', - name: 'beneficiary', - type: 'address', - }, - { internalType: 'string', name: 'memo', type: 'string' }, - { - internalType: 'bytes', - name: 'dataSourceMetadata', - type: 'bytes', - }, - { internalType: 'bytes', name: 'redeemerMetadata', type: 'bytes' }, - ], - indexed: false, - internalType: 'struct JBDidRedeemData3_1_1', - name: 'data', - type: 'tuple', - }, - { - indexed: false, - internalType: 'uint256', - name: 'delegatedAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'fee', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'DelegateDidRedeem', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'contract IJBRedemptionDelegate', - name: 'delegate', - type: 'address', - }, - { - components: [ - { internalType: 'address', name: 'holder', type: 'address' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'uint256', - name: 'currentFundingCycleConfiguration', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'projectTokenCount', - type: 'uint256', - }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: 'reclaimedAmount', - type: 'tuple', - }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: 'forwardedAmount', - type: 'tuple', - }, - { - internalType: 'address payable', - name: 'beneficiary', - type: 'address', - }, - { internalType: 'string', name: 'memo', type: 'string' }, - { internalType: 'bytes', name: 'metadata', type: 'bytes' }, - ], - indexed: false, - internalType: 'struct JBDidRedeemData', - name: 'data', - type: 'tuple', - }, - { - indexed: false, - internalType: 'uint256', - name: 'delegatedAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'DelegateDidRedeem', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleConfiguration', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleNumber', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'distributedAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'fee', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'beneficiaryDistributionAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'bytes', - name: 'metadata', - type: 'bytes', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'DistributePayouts', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'domain', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'group', - type: 'uint256', - }, - { - components: [ - { internalType: 'bool', name: 'preferClaimed', type: 'bool' }, - { internalType: 'bool', name: 'preferAddToBalance', type: 'bool' }, - { internalType: 'uint256', name: 'percent', type: 'uint256' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'address payable', - name: 'beneficiary', - type: 'address', - }, - { internalType: 'uint256', name: 'lockedUntil', type: 'uint256' }, - { - internalType: 'contract IJBSplitAllocator', - name: 'allocator', - type: 'address', - }, - ], - indexed: false, - internalType: 'struct JBSplit', - name: 'split', - type: 'tuple', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'netAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'DistributeToPayoutSplit', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'feeProjectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'bytes', - name: 'reason', - type: 'bytes', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'FeeReverted', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'fee', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'feeDiscount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'HoldFee', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'contract IJBPaymentTerminal', - 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: 'address', - name: 'previousOwner', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'newOwner', - type: 'address', - }, - ], - name: 'OwnershipTransferred', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleConfiguration', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleNumber', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'payer', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'beneficiaryTokenCount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'bytes', - name: 'metadata', - type: 'bytes', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'Pay', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - components: [ - { internalType: 'bool', name: 'preferClaimed', type: 'bool' }, - { internalType: 'bool', name: 'preferAddToBalance', type: 'bool' }, - { internalType: 'uint256', name: 'percent', type: 'uint256' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'address payable', - name: 'beneficiary', - type: 'address', - }, - { internalType: 'uint256', name: 'lockedUntil', type: 'uint256' }, - { - internalType: 'contract IJBSplitAllocator', - name: 'allocator', - type: 'address', - }, - ], - indexed: false, - internalType: 'struct JBSplit', - name: 'split', - type: 'tuple', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'bytes', - name: 'reason', - type: 'bytes', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'PayoutReverted', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { indexed: true, internalType: 'bool', name: 'wasHeld', type: 'bool' }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'ProcessFee', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleConfiguration', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleNumber', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'holder', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'tokenCount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'reclaimedAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'bytes', - name: 'metadata', - type: 'bytes', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'RedeemTokens', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'refundedFees', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'leftoverAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'RefundHeldFees', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'uint256', - name: 'fee', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'SetFee', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'feeGauge', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'SetFeeGauge', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'addrs', - type: 'address', - }, - { indexed: true, internalType: 'bool', name: 'flag', type: 'bool' }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'SetFeelessAddress', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleConfiguration', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleNumber', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'distributedAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'netDistributedamount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'bytes', - name: 'metadata', - type: 'bytes', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'UseAllowance', - type: 'event', - }, - { - inputs: [ - { internalType: 'address', name: '_token', type: 'address' }, - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'acceptsToken', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_amount', type: 'uint256' }, - { internalType: 'address', name: '_token', type: 'address' }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'addToBalanceOf', - outputs: [], - stateMutability: 'payable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_amount', type: 'uint256' }, - { internalType: 'address', name: '_token', type: 'address' }, - { internalType: 'bool', name: '_shouldRefundHeldFees', type: 'bool' }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'addToBalanceOf', - outputs: [], - stateMutability: 'payable', - type: 'function', - }, - { - inputs: [], - name: 'baseWeightCurrency', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'currency', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: '_token', type: 'address' }], - name: 'currencyForToken', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'currentEthOverflowOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'decimals', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: '_token', type: 'address' }], - name: 'decimalsForToken', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'directory', - outputs: [ - { internalType: 'contract IJBDirectory', 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: '_token', type: 'address' }, - { - internalType: 'uint256', - name: '_minReturnedTokens', - type: 'uint256', - }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'distributePayoutsOf', - outputs: [ - { - internalType: 'uint256', - name: 'netLeftoverDistributionAmount', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'fee', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'feeGauge', - outputs: [{ internalType: 'address', name: '', type: 'address' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'heldFeesOf', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'amount', type: 'uint256' }, - { internalType: 'uint32', name: 'fee', type: 'uint32' }, - { internalType: 'uint32', name: 'feeDiscount', type: 'uint32' }, - { internalType: 'address', name: 'beneficiary', type: 'address' }, - ], - internalType: 'struct JBFee[]', - name: '', - type: 'tuple[]', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: '', type: 'address' }], - name: 'isFeelessAddress', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { - internalType: 'contract IJBPaymentTerminal', - name: '_to', - type: 'address', - }, - ], - name: 'migrate', - outputs: [{ internalType: 'uint256', name: 'balance', type: 'uint256' }], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'operatorStore', - outputs: [ - { - internalType: 'contract IJBOperatorStore', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'owner', - outputs: [{ internalType: 'address', name: '', type: 'address' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_amount', type: 'uint256' }, - { internalType: 'address', name: '_token', type: 'address' }, - { internalType: 'address', name: '_beneficiary', type: 'address' }, - { - internalType: 'uint256', - name: '_minReturnedTokens', - type: 'uint256', - }, - { internalType: 'bool', name: '_preferClaimedTokens', type: 'bool' }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'pay', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'payable', - type: 'function', - }, - { - inputs: [], - name: 'payoutSplitsGroup', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'prices', - outputs: [ - { internalType: 'contract IJBPrices', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'processFees', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'projects', - outputs: [ - { internalType: 'contract IJBProjects', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: '_holder', type: 'address' }, - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_tokenCount', type: 'uint256' }, - { internalType: 'address', name: '_token', type: 'address' }, - { - internalType: 'uint256', - name: '_minReturnedTokens', - type: 'uint256', - }, - { - internalType: 'address payable', - name: '_beneficiary', - type: 'address', - }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'redeemTokensOf', - outputs: [ - { internalType: 'uint256', name: 'reclaimAmount', type: 'uint256' }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'renounceOwnership', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [{ internalType: 'uint256', name: '_fee', type: 'uint256' }], - name: 'setFee', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: '_feeGauge', type: 'address' }], - name: 'setFeeGauge', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: '_address', type: 'address' }, - { internalType: 'bool', name: '_flag', type: 'bool' }, - ], - name: 'setFeelessAddress', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'splitsStore', - outputs: [ - { internalType: 'contract IJBSplitsStore', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'store', - outputs: [{ internalType: 'address', name: '', type: 'address' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'bytes4', name: '_interfaceId', type: 'bytes4' }, - ], - name: 'supportsInterface', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'token', - outputs: [{ internalType: 'address', name: '', type: 'address' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: 'newOwner', type: 'address' }], - name: 'transferOwnership', - 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: 'address', name: '_token', type: 'address' }, - { - internalType: 'uint256', - name: '_minReturnedTokens', - type: 'uint256', - }, - { - internalType: 'address payable', - name: '_beneficiary', - type: 'address', - }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'useAllowanceOf', - outputs: [ - { - internalType: 'uint256', - name: 'netDistributedAmount', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - ], -} - -export const JBETHPaymentTerminal3_1_2 = { - address: '0x1d9619E10086FdC1065B114298384aAe3F680CC0', - abi: [ - { - inputs: [ - { - internalType: 'uint256', - name: '_baseWeightCurrency', - type: 'uint256', - }, - { - internalType: 'contract IJBOperatorStore', - name: '_operatorStore', - type: 'address', - }, - { - internalType: 'contract IJBProjects', - name: '_projects', - type: 'address', - }, - { - internalType: 'contract IJBDirectory', - name: '_directory', - type: 'address', - }, - { - internalType: 'contract IJBSplitsStore', - name: '_splitsStore', - type: 'address', - }, - { - internalType: 'contract IJBPrices', - name: '_prices', - type: 'address', - }, - { internalType: 'address', name: '_store', type: 'address' }, - { internalType: 'address', name: '_owner', type: 'address' }, - ], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { inputs: [], name: 'FEE_TOO_HIGH', type: 'error' }, - { inputs: [], name: 'INADEQUATE_DISTRIBUTION_AMOUNT', type: 'error' }, - { inputs: [], name: 'INADEQUATE_RECLAIM_AMOUNT', type: 'error' }, - { inputs: [], name: 'INADEQUATE_TOKEN_COUNT', type: 'error' }, - { inputs: [], name: 'NO_MSG_VALUE_ALLOWED', type: 'error' }, - { inputs: [], name: 'PAY_TO_ZERO_ADDRESS', type: 'error' }, - { - inputs: [ - { internalType: 'uint256', name: 'prod1', type: 'uint256' }, - { internalType: 'uint256', name: 'denominator', type: 'uint256' }, - ], - name: 'PRBMath__MulDivOverflow', - type: 'error', - }, - { inputs: [], name: 'PROJECT_TERMINAL_MISMATCH', type: 'error' }, - { inputs: [], name: 'REDEEM_TO_ZERO_ADDRESS', type: 'error' }, - { inputs: [], name: 'TERMINAL_TOKENS_INCOMPATIBLE', type: 'error' }, - { inputs: [], name: 'UNAUTHORIZED', type: 'error' }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'refundedFees', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'bytes', - name: 'metadata', - type: 'bytes', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'AddToBalance', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'contract IJBPayDelegate3_1_1', - name: 'delegate', - type: 'address', - }, - { - components: [ - { internalType: 'address', name: 'payer', type: 'address' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'uint256', - name: 'currentFundingCycleConfiguration', - type: 'uint256', - }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: 'amount', - type: 'tuple', - }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: 'forwardedAmount', - type: 'tuple', - }, - { - internalType: 'uint256', - name: 'projectTokenCount', - type: 'uint256', - }, - { internalType: 'address', name: 'beneficiary', type: 'address' }, - { internalType: 'bool', name: 'preferClaimedTokens', type: 'bool' }, - { internalType: 'string', name: 'memo', type: 'string' }, - { - internalType: 'bytes', - name: 'dataSourceMetadata', - type: 'bytes', - }, - { internalType: 'bytes', name: 'payerMetadata', type: 'bytes' }, - ], - indexed: false, - internalType: 'struct JBDidPayData3_1_1', - name: 'data', - type: 'tuple', - }, - { - indexed: false, - internalType: 'uint256', - name: 'delegatedAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'DelegateDidPay', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'contract IJBPayDelegate', - name: 'delegate', - type: 'address', - }, - { - components: [ - { internalType: 'address', name: 'payer', type: 'address' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'uint256', - name: 'currentFundingCycleConfiguration', - type: 'uint256', - }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: 'amount', - type: 'tuple', - }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: 'forwardedAmount', - type: 'tuple', - }, - { - internalType: 'uint256', - name: 'projectTokenCount', - type: 'uint256', - }, - { internalType: 'address', name: 'beneficiary', type: 'address' }, - { internalType: 'bool', name: 'preferClaimedTokens', type: 'bool' }, - { internalType: 'string', name: 'memo', type: 'string' }, - { internalType: 'bytes', name: 'metadata', type: 'bytes' }, - ], - indexed: false, - internalType: 'struct JBDidPayData', - name: 'data', - type: 'tuple', - }, - { - indexed: false, - internalType: 'uint256', - name: 'delegatedAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'DelegateDidPay', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'contract IJBRedemptionDelegate3_1_1', - name: 'delegate', - type: 'address', - }, - { - components: [ - { internalType: 'address', name: 'holder', type: 'address' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'uint256', - name: 'currentFundingCycleConfiguration', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'projectTokenCount', - type: 'uint256', - }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: 'reclaimedAmount', - type: 'tuple', - }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: 'forwardedAmount', - type: 'tuple', - }, - { - internalType: 'address payable', - name: 'beneficiary', - type: 'address', - }, - { internalType: 'string', name: 'memo', type: 'string' }, - { - internalType: 'bytes', - name: 'dataSourceMetadata', - type: 'bytes', - }, - { internalType: 'bytes', name: 'redeemerMetadata', type: 'bytes' }, - ], - indexed: false, - internalType: 'struct JBDidRedeemData3_1_1', - name: 'data', - type: 'tuple', - }, - { - indexed: false, - internalType: 'uint256', - name: 'delegatedAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'fee', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'DelegateDidRedeem', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'contract IJBRedemptionDelegate', - name: 'delegate', - type: 'address', - }, - { - components: [ - { internalType: 'address', name: 'holder', type: 'address' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'uint256', - name: 'currentFundingCycleConfiguration', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'projectTokenCount', - type: 'uint256', - }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: 'reclaimedAmount', - type: 'tuple', - }, - { - components: [ - { internalType: 'address', name: 'token', type: 'address' }, - { internalType: 'uint256', name: 'value', type: 'uint256' }, - { internalType: 'uint256', name: 'decimals', type: 'uint256' }, - { internalType: 'uint256', name: 'currency', type: 'uint256' }, - ], - internalType: 'struct JBTokenAmount', - name: 'forwardedAmount', - type: 'tuple', - }, - { - internalType: 'address payable', - name: 'beneficiary', - type: 'address', - }, - { internalType: 'string', name: 'memo', type: 'string' }, - { internalType: 'bytes', name: 'metadata', type: 'bytes' }, - ], - indexed: false, - internalType: 'struct JBDidRedeemData', - name: 'data', - type: 'tuple', - }, - { - indexed: false, - internalType: 'uint256', - name: 'delegatedAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'DelegateDidRedeem', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleConfiguration', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleNumber', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'distributedAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'fee', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'beneficiaryDistributionAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'bytes', - name: 'metadata', - type: 'bytes', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'DistributePayouts', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'domain', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'group', - type: 'uint256', - }, - { - components: [ - { internalType: 'bool', name: 'preferClaimed', type: 'bool' }, - { internalType: 'bool', name: 'preferAddToBalance', type: 'bool' }, - { internalType: 'uint256', name: 'percent', type: 'uint256' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'address payable', - name: 'beneficiary', - type: 'address', - }, - { internalType: 'uint256', name: 'lockedUntil', type: 'uint256' }, - { - internalType: 'contract IJBSplitAllocator', - name: 'allocator', - type: 'address', - }, - ], - indexed: false, - internalType: 'struct JBSplit', - name: 'split', - type: 'tuple', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'netAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'DistributeToPayoutSplit', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'feeProjectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'bytes', - name: 'reason', - type: 'bytes', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'FeeReverted', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'fee', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'feeDiscount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'HoldFee', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'contract IJBPaymentTerminal', - 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: 'address', - name: 'previousOwner', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'newOwner', - type: 'address', - }, - ], - name: 'OwnershipTransferred', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleConfiguration', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleNumber', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'payer', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'beneficiaryTokenCount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'bytes', - name: 'metadata', - type: 'bytes', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'Pay', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - components: [ - { internalType: 'bool', name: 'preferClaimed', type: 'bool' }, - { internalType: 'bool', name: 'preferAddToBalance', type: 'bool' }, - { internalType: 'uint256', name: 'percent', type: 'uint256' }, - { internalType: 'uint256', name: 'projectId', type: 'uint256' }, - { - internalType: 'address payable', - name: 'beneficiary', - type: 'address', - }, - { internalType: 'uint256', name: 'lockedUntil', type: 'uint256' }, - { - internalType: 'contract IJBSplitAllocator', - name: 'allocator', - type: 'address', - }, - ], - indexed: false, - internalType: 'struct JBSplit', - name: 'split', - type: 'tuple', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'bytes', - name: 'reason', - type: 'bytes', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'PayoutReverted', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { indexed: true, internalType: 'bool', name: 'wasHeld', type: 'bool' }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'ProcessFee', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleConfiguration', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleNumber', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'holder', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'tokenCount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'reclaimedAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'bytes', - name: 'metadata', - type: 'bytes', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'RedeemTokens', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'refundedFees', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'leftoverAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'RefundHeldFees', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'uint256', - name: 'fee', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'SetFee', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'feeGauge', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'SetFeeGauge', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'addrs', - type: 'address', - }, - { indexed: true, internalType: 'bool', name: 'flag', type: 'bool' }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'SetFeelessAddress', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleConfiguration', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'fundingCycleNumber', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'projectId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'beneficiary', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'distributedAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'netDistributedamount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'memo', - type: 'string', - }, - { - indexed: false, - internalType: 'bytes', - name: 'metadata', - type: 'bytes', - }, - { - indexed: false, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'UseAllowance', - type: 'event', - }, - { - inputs: [ - { internalType: 'address', name: '_token', type: 'address' }, - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'acceptsToken', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_amount', type: 'uint256' }, - { internalType: 'address', name: '_token', type: 'address' }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'addToBalanceOf', - outputs: [], - stateMutability: 'payable', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_amount', type: 'uint256' }, - { internalType: 'address', name: '_token', type: 'address' }, - { internalType: 'bool', name: '_shouldRefundHeldFees', type: 'bool' }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'addToBalanceOf', - outputs: [], - stateMutability: 'payable', - type: 'function', - }, - { - inputs: [], - name: 'baseWeightCurrency', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'currency', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: '_token', type: 'address' }], - name: 'currencyForToken', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'currentEthOverflowOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'decimals', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: '_token', type: 'address' }], - name: 'decimalsForToken', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'directory', - outputs: [ - { internalType: 'contract IJBDirectory', 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: '_token', type: 'address' }, - { - internalType: 'uint256', - name: '_minReturnedTokens', - type: 'uint256', - }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'distributePayoutsOf', - outputs: [ - { - internalType: 'uint256', - name: 'netLeftoverDistributionAmount', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'fee', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'feeGauge', - outputs: [{ internalType: 'address', name: '', type: 'address' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'heldFeesOf', - outputs: [ - { - components: [ - { internalType: 'uint256', name: 'amount', type: 'uint256' }, - { internalType: 'uint32', name: 'fee', type: 'uint32' }, - { internalType: 'uint32', name: 'feeDiscount', type: 'uint32' }, - { internalType: 'address', name: 'beneficiary', type: 'address' }, - ], - internalType: 'struct JBFee[]', - name: '', - type: 'tuple[]', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: '', type: 'address' }], - name: 'isFeelessAddress', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { - internalType: 'contract IJBPaymentTerminal', - name: '_to', - type: 'address', - }, - ], - name: 'migrate', - outputs: [{ internalType: 'uint256', name: 'balance', type: 'uint256' }], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'operatorStore', - outputs: [ - { - internalType: 'contract IJBOperatorStore', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'owner', - outputs: [{ internalType: 'address', name: '', type: 'address' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_amount', type: 'uint256' }, - { internalType: 'address', name: '_token', type: 'address' }, - { internalType: 'address', name: '_beneficiary', type: 'address' }, - { - internalType: 'uint256', - name: '_minReturnedTokens', - type: 'uint256', - }, - { internalType: 'bool', name: '_preferClaimedTokens', type: 'bool' }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'pay', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'payable', - type: 'function', - }, - { - inputs: [], - name: 'payoutSplitsGroup', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'prices', - outputs: [ - { internalType: 'contract IJBPrices', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - ], - name: 'processFees', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'projects', - outputs: [ - { internalType: 'contract IJBProjects', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: '_holder', type: 'address' }, - { internalType: 'uint256', name: '_projectId', type: 'uint256' }, - { internalType: 'uint256', name: '_tokenCount', type: 'uint256' }, - { internalType: 'address', name: '_token', type: 'address' }, - { - internalType: 'uint256', - name: '_minReturnedTokens', - type: 'uint256', - }, - { - internalType: 'address payable', - name: '_beneficiary', - type: 'address', - }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'redeemTokensOf', - outputs: [ - { internalType: 'uint256', name: 'reclaimAmount', type: 'uint256' }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'renounceOwnership', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [{ internalType: 'uint256', name: '_fee', type: 'uint256' }], - name: 'setFee', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: '_feeGauge', type: 'address' }], - name: 'setFeeGauge', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: '_address', type: 'address' }, - { internalType: 'bool', name: '_flag', type: 'bool' }, - ], - name: 'setFeelessAddress', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'splitsStore', - outputs: [ - { internalType: 'contract IJBSplitsStore', name: '', type: 'address' }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'store', - outputs: [{ internalType: 'address', name: '', type: 'address' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'bytes4', name: '_interfaceId', type: 'bytes4' }, - ], - name: 'supportsInterface', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'token', - outputs: [{ internalType: 'address', name: '', type: 'address' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: 'newOwner', type: 'address' }], - name: 'transferOwnership', - 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: 'address', name: '_token', type: 'address' }, - { - internalType: 'uint256', - name: '_minReturnedTokens', - type: 'uint256', - }, - { - internalType: 'address payable', - name: '_beneficiary', - type: 'address', - }, - { internalType: 'string', name: '_memo', type: 'string' }, - { internalType: 'bytes', name: '_metadata', type: 'bytes' }, - ], - name: 'useAllowanceOf', - outputs: [ - { - internalType: 'uint256', - name: 'netDistributedAmount', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - ], -}