@sfpro/sdk
Version:
TypeScript SDK for Superfluid Protocol - stream money every second
1,854 lines (1,840 loc) • 214 kB
text/typescript
import {
createUseReadContract,
createUseWriteContract,
createUseSimulateContract,
createUseWatchContractEvent,
} from 'wagmi/codegen'
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// fontaine
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
export const fontaineAbi = [
{
type: 'constructor',
inputs: [
{ name: 'fluid', internalType: 'contract ISuperToken', type: 'address' },
{
name: 'taxDistributionPool',
internalType: 'contract ISuperfluidPool',
type: 'address',
},
],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [],
name: 'EARLY_END',
outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'FLUID',
outputs: [
{ name: '', internalType: 'contract ISuperToken', type: 'address' },
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'TAX_DISTRIBUTION_POOL',
outputs: [
{ name: '', internalType: 'contract ISuperfluidPool', type: 'address' },
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'endDate',
outputs: [{ name: '', internalType: 'uint128', type: 'uint128' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [
{ name: 'unlockRecipient', internalType: 'address', type: 'address' },
{ name: 'targetUnlockFlowRate', internalType: 'int96', type: 'int96' },
{ name: 'targetTaxFlowRate', internalType: 'int96', type: 'int96' },
{ name: 'unlockPeriod', internalType: 'uint128', type: 'uint128' },
],
name: 'initialize',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [],
name: 'recipient',
outputs: [{ name: '', internalType: 'address', type: 'address' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'taxFlowRate',
outputs: [{ name: '', internalType: 'uint96', type: 'uint96' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'terminateUnlock',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [],
name: 'unlockFlowRate',
outputs: [{ name: '', internalType: 'uint96', type: 'uint96' }],
stateMutability: 'view',
},
{
type: 'event',
anonymous: false,
inputs: [
{
name: 'version',
internalType: 'uint64',
type: 'uint64',
indexed: false,
},
],
name: 'Initialized',
},
{ type: 'error', inputs: [], name: 'CANNOT_UNLOCK_TO_SUPERAPP' },
{ type: 'error', inputs: [], name: 'CFA_INVALID_FLOW_RATE' },
{ type: 'error', inputs: [], name: 'InvalidInitialization' },
{ type: 'error', inputs: [], name: 'NOT_CONNECTED_LOCKER' },
{ type: 'error', inputs: [], name: 'NO_ACTIVE_UNLOCK' },
{ type: 'error', inputs: [], name: 'NotInitializing' },
{ type: 'error', inputs: [], name: 'TOO_EARLY_TO_TERMINATE_UNLOCK' },
] as const
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// locker
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
export const lockerAbi = [
{
type: 'constructor',
inputs: [
{ name: 'fluid', internalType: 'contract ISuperToken', type: 'address' },
{
name: 'programManager',
internalType: 'contract IEPProgramManager',
type: 'address',
},
{
name: 'stakingRewardController',
internalType: 'contract IStakingRewardController',
type: 'address',
},
{ name: 'fontaineBeacon', internalType: 'address', type: 'address' },
{ name: 'isUnlockAvailable', internalType: 'bool', type: 'bool' },
{
name: 'nonfungiblePositionManager',
internalType: 'contract INonfungiblePositionManager',
type: 'address',
},
{
name: 'ethSupPool',
internalType: 'contract IUniswapV3Pool',
type: 'address',
},
{
name: 'swapRouter',
internalType: 'contract IV3SwapRouter',
type: 'address',
},
{ name: 'daoTreasury', internalType: 'address', type: 'address' },
],
stateMutability: 'nonpayable',
},
{ type: 'fallback', stateMutability: 'payable' },
{ type: 'receive', stateMutability: 'payable' },
{
type: 'function',
inputs: [],
name: 'BP_PUMP_RATIO',
outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'BP_SLIPPAGE_TOLERANCE',
outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'DAO_TREASURY',
outputs: [{ name: '', internalType: 'address', type: 'address' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'EP_PROGRAM_MANAGER',
outputs: [
{ name: '', internalType: 'contract IEPProgramManager', type: 'address' },
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'ETH_SUP_POOL',
outputs: [
{ name: '', internalType: 'contract IUniswapV3Pool', type: 'address' },
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'FLUID',
outputs: [
{ name: '', internalType: 'contract ISuperToken', type: 'address' },
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'FONTAINE_BEACON',
outputs: [
{ name: '', internalType: 'contract UpgradeableBeacon', type: 'address' },
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'LP_DISTRIBUTION_POOL',
outputs: [
{ name: '', internalType: 'contract ISuperfluidPool', type: 'address' },
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'LP_OPERATION_DEADLINE',
outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'MIN_UNLOCK_AMOUNT',
outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'NONFUNGIBLE_POSITION_MANAGER',
outputs: [
{
name: '',
internalType: 'contract INonfungiblePositionManager',
type: 'address',
},
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'STAKER_DISTRIBUTION_POOL',
outputs: [
{ name: '', internalType: 'contract ISuperfluidPool', type: 'address' },
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'STAKING_REWARD_CONTROLLER',
outputs: [
{
name: '',
internalType: 'contract IStakingRewardController',
type: 'address',
},
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'SWAP_ROUTER',
outputs: [
{ name: '', internalType: 'contract IV3SwapRouter', type: 'address' },
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'TAX_FREE_WITHDRAW_DELAY',
outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'UNLOCKING_FEE',
outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'UNLOCK_AVAILABLE',
outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'activePositionCount',
outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [
{ name: 'programId', internalType: 'uint256', type: 'uint256' },
{ name: 'totalProgramUnits', internalType: 'uint256', type: 'uint256' },
{ name: 'nonce', internalType: 'uint256', type: 'uint256' },
{ name: 'stackSignature', internalType: 'bytes', type: 'bytes' },
],
name: 'claim',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [
{ name: 'programIds', internalType: 'uint256[]', type: 'uint256[]' },
{
name: 'totalProgramUnits',
internalType: 'uint256[]',
type: 'uint256[]',
},
{ name: 'nonce', internalType: 'uint256', type: 'uint256' },
{ name: 'stackSignature', internalType: 'bytes', type: 'bytes' },
],
name: 'claim',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [
{ name: 'programId', internalType: 'uint256', type: 'uint256' },
{ name: 'totalProgramUnits', internalType: 'uint256', type: 'uint256' },
{ name: 'nonce', internalType: 'uint256', type: 'uint256' },
{ name: 'stackSignature', internalType: 'bytes', type: 'bytes' },
],
name: 'claimAndStake',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [
{ name: 'programIds', internalType: 'uint256[]', type: 'uint256[]' },
{
name: 'totalProgramUnits',
internalType: 'uint256[]',
type: 'uint256[]',
},
{ name: 'nonce', internalType: 'uint256', type: 'uint256' },
{ name: 'stackSignature', internalType: 'bytes', type: 'bytes' },
],
name: 'claimAndStake',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],
name: 'collectFees',
outputs: [
{ name: 'collectedEthx', internalType: 'uint256', type: 'uint256' },
{ name: 'collectedSup', internalType: 'uint256', type: 'uint256' },
],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [{ name: 'programId', internalType: 'uint256', type: 'uint256' }],
name: 'connect',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [
{ name: 'programIds', internalType: 'uint256[]', type: 'uint256[]' },
],
name: 'disconnect',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [{ name: 'programId', internalType: 'uint256', type: 'uint256' }],
name: 'disconnect',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [
{
name: 'programIdsToDisconnect',
internalType: 'uint256[]',
type: 'uint256[]',
},
{
name: 'programIdsToClaim',
internalType: 'uint256[]',
type: 'uint256[]',
},
{
name: 'totalProgramUnits',
internalType: 'uint256[]',
type: 'uint256[]',
},
{ name: 'nonce', internalType: 'uint256', type: 'uint256' },
{ name: 'stackSignature', internalType: 'bytes', type: 'bytes' },
],
name: 'disconnectAndClaim',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [
{
name: 'programIdsToDisconnect',
internalType: 'uint256[]',
type: 'uint256[]',
},
{
name: 'programIdsToClaim',
internalType: 'uint256[]',
type: 'uint256[]',
},
{
name: 'totalProgramUnits',
internalType: 'uint256[]',
type: 'uint256[]',
},
{ name: 'nonce', internalType: 'uint256', type: 'uint256' },
{ name: 'stackSignature', internalType: 'bytes', type: 'bytes' },
],
name: 'disconnectAndClaimAndStake',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [],
name: 'fontaineCount',
outputs: [{ name: '', internalType: 'uint16', type: 'uint16' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [{ name: 'unlockId', internalType: 'uint256', type: 'uint256' }],
name: 'fontaines',
outputs: [
{ name: 'fontaine', internalType: 'contract IFontaine', type: 'address' },
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'getAvailableBalance',
outputs: [{ name: 'aBalance', internalType: 'uint256', type: 'uint256' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [
{ name: 'programIds', internalType: 'uint256[]', type: 'uint256[]' },
],
name: 'getFlowRatePerProgram',
outputs: [{ name: 'flowRates', internalType: 'int96[]', type: 'int96[]' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [{ name: 'programId', internalType: 'uint256', type: 'uint256' }],
name: 'getFlowRatePerProgram',
outputs: [{ name: 'flowRate', internalType: 'int96', type: 'int96' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'getFontaineBeaconImplementation',
outputs: [
{ name: 'fontaineBeaconImpl', internalType: 'address', type: 'address' },
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'getLiquidityBalance',
outputs: [{ name: 'lBalance', internalType: 'uint256', type: 'uint256' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],
name: 'getPositionLiquidity',
outputs: [{ name: 'liquidity', internalType: 'uint128', type: 'uint128' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'getStakedBalance',
outputs: [{ name: 'sBalance', internalType: 'uint256', type: 'uint256' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [{ name: 'programId', internalType: 'uint256', type: 'uint256' }],
name: 'getUnitsPerProgram',
outputs: [{ name: 'units', internalType: 'uint128', type: 'uint128' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [
{ name: 'programIds', internalType: 'uint256[]', type: 'uint256[]' },
],
name: 'getUnitsPerProgram',
outputs: [{ name: 'units', internalType: 'uint128[]', type: 'uint128[]' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],
name: 'initialize',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }],
name: 'lock',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [],
name: 'lockerOwner',
outputs: [{ name: '', internalType: 'address', type: 'address' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [
{ name: 'positionTokenId', internalType: 'uint256', type: 'uint256' },
],
name: 'lpCooldownTimestamps',
outputs: [
{ name: 'lpCooldownTimestamp', internalType: 'uint256', type: 'uint256' },
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [{ name: 'supAmount', internalType: 'uint256', type: 'uint256' }],
name: 'provideLiquidity',
outputs: [
{ name: 'positionTokenId', internalType: 'uint256', type: 'uint256' },
],
stateMutability: 'payable',
},
{
type: 'function',
inputs: [
{ name: 'amountToStake', internalType: 'uint256', type: 'uint256' },
],
name: 'stake',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [],
name: 'stakingUnlocksAt',
outputs: [{ name: '', internalType: 'uint80', type: 'uint80' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [
{ name: 'positionTokenId', internalType: 'uint256', type: 'uint256' },
],
name: 'taxFreeExitTimestamps',
outputs: [
{
name: 'taxFreeWithdrawTimestamp',
internalType: 'uint256',
type: 'uint256',
},
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [
{ name: 'unlockAmount', internalType: 'uint256', type: 'uint256' },
{ name: 'unlockPeriod', internalType: 'uint128', type: 'uint128' },
{ name: 'recipient', internalType: 'address', type: 'address' },
],
name: 'unlock',
outputs: [],
stateMutability: 'payable',
},
{
type: 'function',
inputs: [
{ name: 'amountToUnstake', internalType: 'uint256', type: 'uint256' },
],
name: 'unstake',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [],
name: 'withdrawDustETH',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [
{ name: 'tokenId', internalType: 'uint256', type: 'uint256' },
{ name: 'liquidityToRemove', internalType: 'uint128', type: 'uint128' },
{ name: 'amount0ToRemove', internalType: 'uint256', type: 'uint256' },
{ name: 'amount1ToRemove', internalType: 'uint256', type: 'uint256' },
],
name: 'withdrawLiquidity',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'event',
anonymous: false,
inputs: [
{
name: 'amount',
internalType: 'uint256',
type: 'uint256',
indexed: true,
},
],
name: 'FluidLocked',
},
{
type: 'event',
anonymous: false,
inputs: [
{
name: 'newTotalStakedBalance',
internalType: 'uint256',
type: 'uint256',
indexed: true,
},
{
name: 'addedAmount',
internalType: 'uint256',
type: 'uint256',
indexed: true,
},
],
name: 'FluidStaked',
},
{
type: 'event',
anonymous: false,
inputs: [
{
name: 'programId',
internalType: 'uint256',
type: 'uint256',
indexed: true,
},
{
name: 'totalProgramUnits',
internalType: 'uint256',
type: 'uint256',
indexed: true,
},
],
name: 'FluidStreamClaimed',
},
{
type: 'event',
anonymous: false,
inputs: [
{
name: 'programId',
internalType: 'uint256[]',
type: 'uint256[]',
indexed: true,
},
{
name: 'totalProgramUnits',
internalType: 'uint256[]',
type: 'uint256[]',
indexed: true,
},
],
name: 'FluidStreamsClaimed',
},
{
type: 'event',
anonymous: false,
inputs: [
{
name: 'unlockPeriod',
internalType: 'uint128',
type: 'uint128',
indexed: true,
},
{
name: 'availableBalance',
internalType: 'uint256',
type: 'uint256',
indexed: true,
},
{
name: 'recipient',
internalType: 'address',
type: 'address',
indexed: false,
},
{
name: 'fontaine',
internalType: 'address',
type: 'address',
indexed: true,
},
],
name: 'FluidUnlocked',
},
{
type: 'event',
anonymous: false,
inputs: [
{
name: 'newTotalStakedBalance',
internalType: 'uint256',
type: 'uint256',
indexed: true,
},
{
name: 'removedAmount',
internalType: 'uint256',
type: 'uint256',
indexed: true,
},
],
name: 'FluidUnstaked',
},
{
type: 'event',
anonymous: false,
inputs: [
{
name: 'version',
internalType: 'uint64',
type: 'uint64',
indexed: false,
},
],
name: 'Initialized',
},
{
type: 'event',
anonymous: false,
inputs: [
{
name: 'tokenId',
internalType: 'uint256',
type: 'uint256',
indexed: true,
},
],
name: 'LiquidityPositionBurned',
},
{
type: 'event',
anonymous: false,
inputs: [
{
name: 'tokenId',
internalType: 'uint256',
type: 'uint256',
indexed: true,
},
],
name: 'LiquidityPositionCreated',
},
{ type: 'error', inputs: [], name: 'FORBIDDEN' },
{ type: 'error', inputs: [], name: 'INSUFFICIENT_AVAILABLE_BALANCE' },
{ type: 'error', inputs: [], name: 'INSUFFICIENT_BALANCE' },
{ type: 'error', inputs: [], name: 'INSUFFICIENT_ETH_SENT' },
{ type: 'error', inputs: [], name: 'INSUFFICIENT_STAKED_BALANCE' },
{ type: 'error', inputs: [], name: 'INSUFFICIENT_UNLOCK_AMOUNT' },
{ type: 'error', inputs: [], name: 'INVALID_UNLOCKING_FEE' },
{ type: 'error', inputs: [], name: 'INVALID_UNLOCK_PERIOD' },
{ type: 'error', inputs: [], name: 'InvalidInitialization' },
{ type: 'error', inputs: [], name: 'LIQUIDITY_POOL_NOT_APPROVED' },
{ type: 'error', inputs: [], name: 'LOCKER_HAS_NO_POSITION' },
{ type: 'error', inputs: [], name: 'LP_COOLDOWN_NOT_ELAPSED' },
{ type: 'error', inputs: [], name: 'LP_DISTRIBUTION_POOL_HAS_NO_UNITS' },
{ type: 'error', inputs: [], name: 'MathOverflowedMulDiv' },
{ type: 'error', inputs: [], name: 'NOT_LOCKER_OWNER' },
{ type: 'error', inputs: [], name: 'NO_FLUID_TO_UNLOCK' },
{ type: 'error', inputs: [], name: 'NO_FLUID_TO_UNSTAKE' },
{ type: 'error', inputs: [], name: 'NotInitializing' },
{ type: 'error', inputs: [], name: 'Reentrancy' },
{ type: 'error', inputs: [], name: 'STAKER_DISTRIBUTION_POOL_HAS_NO_UNITS' },
{ type: 'error', inputs: [], name: 'STAKING_COOLDOWN_NOT_ELAPSED' },
{
type: 'error',
inputs: [
{ name: 'bits', internalType: 'uint8', type: 'uint8' },
{ name: 'value', internalType: 'int256', type: 'int256' },
],
name: 'SafeCastOverflowedIntDowncast',
},
{ type: 'error', inputs: [], name: 'TTE_NOT_ACTIVATED' },
] as const
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// lockerFactory
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
* - [__View Contract on Base Basescan__](https://basescan.org/address/0xA6694cAB43713287F7735dADc940b555db9d39D9)
* - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x897D343D24Ac5b84838B976Cf37036EDEfe3E967)
*/
export const lockerFactoryAbi = [
{
type: 'constructor',
inputs: [
{ name: 'lockerBeacon', internalType: 'address', type: 'address' },
{
name: 'stakingRewardController',
internalType: 'contract IStakingRewardController',
type: 'address',
},
{ name: 'pauseStatus', internalType: 'bool', type: 'bool' },
],
stateMutability: 'nonpayable',
},
{
type: 'error',
inputs: [{ name: 'target', internalType: 'address', type: 'address' }],
name: 'AddressEmptyCode',
},
{
type: 'error',
inputs: [
{ name: 'implementation', internalType: 'address', type: 'address' },
],
name: 'ERC1967InvalidImplementation',
},
{ type: 'error', inputs: [], name: 'ERC1967NonPayable' },
{ type: 'error', inputs: [], name: 'FailedInnerCall' },
{ type: 'error', inputs: [], name: 'InvalidInitialization' },
{ type: 'error', inputs: [], name: 'LOCKER_CREATION_PAUSED' },
{ type: 'error', inputs: [], name: 'NOT_GOVERNOR' },
{ type: 'error', inputs: [], name: 'NotInitializing' },
{
type: 'event',
anonymous: false,
inputs: [
{
name: 'newGovernor',
internalType: 'address',
type: 'address',
indexed: false,
},
],
name: 'GovernorUpdated',
},
{
type: 'event',
anonymous: false,
inputs: [
{
name: 'version',
internalType: 'uint64',
type: 'uint64',
indexed: false,
},
],
name: 'Initialized',
},
{
type: 'event',
anonymous: false,
inputs: [
{
name: 'lockerOwner',
internalType: 'address',
type: 'address',
indexed: false,
},
{
name: 'lockerAddress',
internalType: 'address',
type: 'address',
indexed: false,
},
],
name: 'LockerCreated',
},
{
type: 'event',
anonymous: false,
inputs: [
{
name: 'implementation',
internalType: 'address',
type: 'address',
indexed: true,
},
],
name: 'Upgraded',
},
{
type: 'function',
inputs: [],
name: 'IS_PAUSED',
outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'LOCKER_BEACON',
outputs: [
{ name: '', internalType: 'contract UpgradeableBeacon', type: 'address' },
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'STAKING_REWARD_CONTROLLER',
outputs: [
{
name: '',
internalType: 'contract IStakingRewardController',
type: 'address',
},
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [{ name: 'user', internalType: 'address', type: 'address' }],
name: 'createLockerContract',
outputs: [
{ name: 'lockerInstance', internalType: 'address', type: 'address' },
],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [],
name: 'createLockerContract',
outputs: [
{ name: 'lockerInstance', internalType: 'address', type: 'address' },
],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [{ name: 'user', internalType: 'address', type: 'address' }],
name: 'getLockerAddress',
outputs: [
{ name: 'lockerAddress', internalType: 'address', type: 'address' },
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'getLockerBeaconImplementation',
outputs: [
{ name: 'lockerBeaconImpl', internalType: 'address', type: 'address' },
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [{ name: 'user', internalType: 'address', type: 'address' }],
name: 'getUserLocker',
outputs: [
{ name: 'isCreated', internalType: 'bool', type: 'bool' },
{ name: 'lockerAddress', internalType: 'address', type: 'address' },
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'governor',
outputs: [{ name: '', internalType: 'address', type: 'address' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [{ name: '_governor', internalType: 'address', type: 'address' }],
name: 'initialize',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [{ name: 'newGovernor', internalType: 'address', type: 'address' }],
name: 'setGovernor',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [
{ name: 'newImplementation', internalType: 'address', type: 'address' },
{ name: 'data', internalType: 'bytes', type: 'bytes' },
],
name: 'upgradeTo',
outputs: [],
stateMutability: 'nonpayable',
},
] as const
/**
* - [__View Contract on Base Basescan__](https://basescan.org/address/0xA6694cAB43713287F7735dADc940b555db9d39D9)
* - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x897D343D24Ac5b84838B976Cf37036EDEfe3E967)
*/
export const lockerFactoryAddress = {
8453: '0xA6694cAB43713287F7735dADc940b555db9d39D9',
84532: '0x897D343D24Ac5b84838B976Cf37036EDEfe3E967',
} as const
/**
* - [__View Contract on Base Basescan__](https://basescan.org/address/0xA6694cAB43713287F7735dADc940b555db9d39D9)
* - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x897D343D24Ac5b84838B976Cf37036EDEfe3E967)
*/
export const lockerFactoryConfig = {
address: lockerFactoryAddress,
abi: lockerFactoryAbi,
} as const
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// programManager
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
* - [__View Contract on Base Basescan__](https://basescan.org/address/0x1e32cf099992E9D3b17eDdDFFfeb2D07AED95C6a)
* - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x71a1975A1009e48E0BF2f621B6835db5Ea1f7706)
*/
export const programManagerAbi = [
{
type: 'constructor',
inputs: [
{
name: 'taxDistributionPool',
internalType: 'contract ISuperfluidPool',
type: 'address',
},
],
stateMutability: 'nonpayable',
},
{
type: 'error',
inputs: [{ name: 'target', internalType: 'address', type: 'address' }],
name: 'AddressEmptyCode',
},
{ type: 'error', inputs: [], name: 'CFA_INVALID_FLOW_RATE' },
{
type: 'error',
inputs: [
{ name: 'implementation', internalType: 'address', type: 'address' },
],
name: 'ERC1967InvalidImplementation',
},
{ type: 'error', inputs: [], name: 'ERC1967NonPayable' },
{ type: 'error', inputs: [], name: 'FailedInnerCall' },
{ type: 'error', inputs: [], name: 'INVALID_PARAMETER' },
{
type: 'error',
inputs: [{ name: 'reason', internalType: 'string', type: 'string' }],
name: 'INVALID_SIGNATURE',
},
{ type: 'error', inputs: [], name: 'InvalidInitialization' },
{ type: 'error', inputs: [], name: 'LOCKER_NOT_FOUND' },
{ type: 'error', inputs: [], name: 'NOT_PROGRAM_ADMIN' },
{ type: 'error', inputs: [], name: 'NotInitializing' },
{
type: 'error',
inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],
name: 'OwnableInvalidOwner',
},
{
type: 'error',
inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
name: 'OwnableUnauthorizedAccount',
},
{ type: 'error', inputs: [], name: 'POOL_HAS_NO_UNITS' },
{ type: 'error', inputs: [], name: 'PROGRAM_ALREADY_CREATED' },
{ type: 'error', inputs: [], name: 'PROGRAM_NOT_FOUND' },
{
type: 'error',
inputs: [
{ name: 'bits', internalType: 'uint8', type: 'uint8' },
{ name: 'value', internalType: 'int256', type: 'int256' },
],
name: 'SafeCastOverflowedIntDowncast',
},
{ type: 'error', inputs: [], name: 'TOO_EARLY_TO_END_PROGRAM' },
{
type: 'event',
anonymous: false,
inputs: [
{
name: 'version',
internalType: 'uint64',
type: 'uint64',
indexed: false,
},
],
name: 'Initialized',
},
{
type: 'event',
anonymous: false,
inputs: [
{
name: 'previousOwner',
internalType: 'address',
type: 'address',
indexed: true,
},
{
name: 'newOwner',
internalType: 'address',
type: 'address',
indexed: true,
},
],
name: 'OwnershipTransferred',
},
{
type: 'event',
anonymous: false,
inputs: [
{
name: 'programId',
internalType: 'uint256',
type: 'uint256',
indexed: true,
},
{
name: 'returnedDeposit',
internalType: 'uint256',
type: 'uint256',
indexed: true,
},
],
name: 'ProgramCancelled',
},
{
type: 'event',
anonymous: false,
inputs: [
{
name: 'programId',
internalType: 'uint256',
type: 'uint256',
indexed: false,
},
{
name: 'programAdmin',
internalType: 'address',
type: 'address',
indexed: false,
},
{
name: 'signer',
internalType: 'address',
type: 'address',
indexed: false,
},
{
name: 'token',
internalType: 'address',
type: 'address',
indexed: false,
},
{
name: 'distributionPool',
internalType: 'address',
type: 'address',
indexed: false,
},
],
name: 'ProgramCreated',
},
{
type: 'event',
anonymous: false,
inputs: [
{
name: 'programId',
internalType: 'uint256',
type: 'uint256',
indexed: true,
},
{
name: 'fundingAmount',
internalType: 'uint256',
type: 'uint256',
indexed: true,
},
{
name: 'subsidyAmount',
internalType: 'uint256',
type: 'uint256',
indexed: true,
},
{
name: 'earlyEndDate',
internalType: 'uint256',
type: 'uint256',
indexed: false,
},
{
name: 'endDate',
internalType: 'uint256',
type: 'uint256',
indexed: false,
},
],
name: 'ProgramFunded',
},
{
type: 'event',
anonymous: false,
inputs: [
{
name: 'programId',
internalType: 'uint256',
type: 'uint256',
indexed: false,
},
{
name: 'newSigner',
internalType: 'address',
type: 'address',
indexed: false,
},
],
name: 'ProgramSignerUpdated',
},
{
type: 'event',
anonymous: false,
inputs: [
{
name: 'programId',
internalType: 'uint256',
type: 'uint256',
indexed: true,
},
{
name: 'fundingCompensationAmount',
internalType: 'uint256',
type: 'uint256',
indexed: true,
},
{
name: 'subsidyCompensationAmount',
internalType: 'uint256',
type: 'uint256',
indexed: true,
},
],
name: 'ProgramStopped',
},
{
type: 'event',
anonymous: false,
inputs: [
{
name: 'implementation',
internalType: 'address',
type: 'address',
indexed: true,
},
],
name: 'Upgraded',
},
{
type: 'event',
anonymous: false,
inputs: [
{
name: 'user',
internalType: 'address',
type: 'address',
indexed: false,
},
{
name: 'programId',
internalType: 'uint256',
type: 'uint256',
indexed: false,
},
{
name: 'newUnits',
internalType: 'uint256',
type: 'uint256',
indexed: false,
},
],
name: 'UserUnitsUpdated',
},
{
type: 'function',
inputs: [],
name: 'EARLY_PROGRAM_END',
outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'TAX_DISTRIBUTION_POOL',
outputs: [
{ name: '', internalType: 'contract ISuperfluidPool', type: 'address' },
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [
{ name: 'programIds', internalType: 'uint256[]', type: 'uint256[]' },
{ name: 'newUnits', internalType: 'uint256[]', type: 'uint256[]' },
{ name: 'nonce', internalType: 'uint256', type: 'uint256' },
{ name: 'stackSignature', internalType: 'bytes', type: 'bytes' },
],
name: 'batchUpdateUnits',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [
{ name: 'user', internalType: 'address', type: 'address' },
{ name: 'programIds', internalType: 'uint256[]', type: 'uint256[]' },
{ name: 'newUnits', internalType: 'uint256[]', type: 'uint256[]' },
{ name: 'nonce', internalType: 'uint256', type: 'uint256' },
{ name: 'stackSignature', internalType: 'bytes', type: 'bytes' },
],
name: 'batchUpdateUserUnits',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [
{ name: 'host', internalType: 'contract ISuperfluid', type: 'address' },
{ name: 'params', internalType: 'bytes', type: 'bytes' },
{ name: '', internalType: 'address', type: 'address' },
],
name: 'buildBatchOperations',
outputs: [
{
name: 'operations',
internalType: 'struct ISuperfluid.Operation[]',
type: 'tuple[]',
components: [
{ name: 'operationType', internalType: 'uint32', type: 'uint32' },
{ name: 'target', internalType: 'address', type: 'address' },
{ name: 'data', internalType: 'bytes', type: 'bytes' },
],
},
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [
{ name: 'programId', internalType: 'uint256', type: 'uint256' },
{
name: 'plannedFundingAmount',
internalType: 'uint256',
type: 'uint256',
},
{
name: 'plannedProgramDuration',
internalType: 'uint32',
type: 'uint32',
},
],
name: 'calculateAllowances',
outputs: [
{ name: 'depositAllowance', internalType: 'uint256', type: 'uint256' },
{ name: 'flowRateAllowance', internalType: 'int96', type: 'int96' },
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [{ name: 'programId', internalType: 'uint256', type: 'uint256' }],
name: 'cancelProgram',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [
{ name: 'programId', internalType: 'uint256', type: 'uint256' },
{ name: 'programAdmin', internalType: 'address', type: 'address' },
{ name: 'signer', internalType: 'address', type: 'address' },
{ name: 'token', internalType: 'contract ISuperToken', type: 'address' },
{ name: 'poolName', internalType: 'string', type: 'string' },
{ name: 'poolSymbol', internalType: 'string', type: 'string' },
],
name: 'createProgram',
outputs: [
{
name: 'distributionPool',
internalType: 'contract ISuperfluidPool',
type: 'address',
},
],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [
{ name: 'token', internalType: 'contract ISuperToken', type: 'address' },
],
name: 'emergencyWithdraw',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [],
name: 'fluidLockerFactory',
outputs: [
{
name: '',
internalType: 'contract IFluidLockerFactory',
type: 'address',
},
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'fluidTreasury',
outputs: [{ name: '', internalType: 'address', type: 'address' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [
{ name: 'programId', internalType: 'uint256', type: 'uint256' },
{ name: 'user', internalType: 'address', type: 'address' },
],
name: 'getNextValidNonce',
outputs: [{ name: 'validNonce', internalType: 'uint256', type: 'uint256' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [{ name: 'programId', internalType: 'uint256', type: 'uint256' }],
name: 'getProgramDetails',
outputs: [
{
name: 'details',
internalType: 'struct FluidEPProgramManager.FluidProgramDetails',
type: 'tuple',
components: [
{ name: 'fundingFlowRate', internalType: 'int96', type: 'int96' },
{ name: 'subsidyFlowRate', internalType: 'int96', type: 'int96' },
{ name: 'fundingStartDate', internalType: 'uint32', type: 'uint32' },
{ name: 'duration', internalType: 'uint32', type: 'uint32' },
],
},
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [{ name: 'programId', internalType: 'uint256', type: 'uint256' }],
name: 'getProgramPool',
outputs: [
{
name: 'programPool',
internalType: 'contract ISuperfluidPool',
type: 'address',
},
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [
{ name: 'owner', internalType: 'address', type: 'address' },
{ name: 'treasury', internalType: 'address', type: 'address' },
],
name: 'initialize',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [
{ name: 'programId', internalType: 'uint256', type: 'uint256' },
{ name: 'stackPoints', internalType: 'uint256[]', type: 'uint256[]' },
{ name: 'users', internalType: 'address[]', type: 'address[]' },
],
name: 'manualPoolUpdate',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [
{ name: 'programId', internalType: 'uint256', type: 'uint256' },
{ name: 'stackPoints', internalType: 'uint256', type: 'uint256' },
{ name: 'user', internalType: 'address', type: 'address' },
],
name: 'manualPoolUpdate',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [],
name: 'owner',
outputs: [{ name: '', internalType: 'address', type: 'address' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [
{ name: 'programId', internalType: 'uint256', type: 'uint256' },
{ name: 'amount', internalType: 'uint256', type: 'uint256' },
{ name: 'duration', internalType: 'uint32', type: 'uint32' },
],
name: 'paramsGivePermission',
outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [
{ name: 'host', internalType: 'contract ISuperfluid', type: 'address' },
{ name: 'params', internalType: 'bytes', type: 'bytes' },
{ name: 'msgSender', internalType: 'address', type: 'address' },
],
name: 'postCheck',
outputs: [],
stateMutability: 'view',
},
{
type: 'function',
inputs: [{ name: 'programId', internalType: 'uint256', type: 'uint256' }],
name: 'programs',
outputs: [
{ name: 'programAdmin', internalType: 'address', type: 'address' },
{ name: 'stackSigner', internalType: 'address', type: 'address' },
{ name: 'token', internalType: 'contract ISuperToken', type: 'address' },
{
name: 'distributionPool',
internalType: 'contract ISuperfluidPool',
type: 'address',
},
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'renounceOwnership',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [
{
name: 'lockerFactoryAddress',
internalType: 'address',
type: 'address',
},
],
name: 'setLockerFactory',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [{ name: 'subsidyRate', internalType: 'uint96', type: 'uint96' }],
name: 'setSubsidyRate',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [
{ name: 'treasuryAddress', internalType: 'address', type: 'address' },
],
name: 'setTreasury',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [
{ name: 'programId', internalType: 'uint256', type: 'uint256' },
{ name: 'totalAmount', internalType: 'uint256', type: 'uint256' },
{ name: 'programDuration', internalType: 'uint32', type: 'uint32' },
],
name: 'startFunding',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [{ name: 'programId', internalType: 'uint256', type: 'uint256' }],
name: 'stopFunding',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [],
name: 'subsidyFundingRate',
outputs: [{ name: '', internalType: 'uint96', type: 'uint96' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
name: 'transferOwnership',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [
{ name: 'programId', internalType: 'uint256', type: 'uint256' },
{ name: 'newSigner', internalType: 'address', type: 'address' },
],
name: 'updateProgramSigner',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [
{ name: 'programId', internalType: 'uint256', type: 'uint256' },
{ name: 'newUnits', internalType: 'uint256', type: 'uint256' },
{ name: 'nonce', internalType: 'uint256', type: 'uint256' },
{ name: 'stackSignature', internalType: 'bytes', type: 'bytes' },
],
name: 'updateUnits',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [
{ name: 'user', internalType: 'address', type: 'address' },
{ name: 'programId', internalType: 'uint256', type: 'uint256' },
{ name: 'newUnits', internalType: 'uint256', type: 'uint256' },
{ name: 'nonce', internalType: 'uint256', type: 'uint256' },
{ name: 'stackSignature', internalType: 'bytes', type: 'bytes' },
],
name: 'updateUserUnits',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [
{ name: 'newImplementation', internalType: 'address', type: 'address' },
{ name: 'data', internalType: 'bytes', type: 'bytes' },
],
name: 'upgradeTo',
outputs: [],
stateMutability: 'nonpayable',
},
] as const
/**
* - [__View Contract on Base Basescan__](https://basescan.org/address/0x1e32cf099992E9D3b17eDdDFFfeb2D07AED95C6a)
* - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x71a1975A1009e48E0BF2f621B6835db5Ea1f7706)
*/
export const programManagerAddress = {
8453: '0x1e32cf099992E9D3b17eDdDFFfeb2D07AED95C6a',
84532: '0x71a1975A1009e48E0BF2f621B6835db5Ea1f7706',
} as const
/**
* - [__View Contract on Base Basescan__](https://basescan.org/address/0x1e32cf099992E9D3b17eDdDFFfeb2D07AED95C6a)
* - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x71a1975A1009e48E0BF2f621B6835db5Ea1f7706)
*/
export const programManagerConfig = {
address: programManagerAddress,
abi: programManagerAbi,
} as const
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// stakingRewardController
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
* - [__View Contract on Base Basescan__](https://basescan.org/address/0xb19Ae25A98d352B36CED60F93db926247535048b)
* - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x9FC0Bb109F3e733Bd84B30F8D89685b0304fC018)
*/
export const stakingRewardControllerAbi = [
{
type: 'constructor',
inputs: [
{ name: 'fluid', internalType: 'contract ISuperToken', type: 'address' },
],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [],
name: 'FLUID',
outputs: [
{ name: '', internalType: 'contract ISuperToken', type: 'address' },
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [
{ name: 'lockerAddress', internalType: 'address', type: 'address' },
],
name: 'approveLocker',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [],
name: 'getTaxAllocation',
outputs: [
{ name: 'stakerAllocationBP', internalType: 'uint128', type: 'uint128' },
{
name: 'liquidityProviderAllocationBP',
internalType: 'uint128',
type: 'uint128',
},
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],
name: 'initialize',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [],
name: 'lockerFactory',
outputs: [{ name: '', internalType: 'address', type: 'address' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'lpDistributionPool',
outputs: [
{ name: '', internalType: 'contract ISuperfluidPool', type: 'address' },
],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'owner',
outputs: [{ name: '', internalType: 'address', type: 'address' }],
stateMutability: 'view',
},
{
type: 'function',
inputs: [],
name: 'refreshTaxDistributionFlow',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [],
name: 'renounceOwnership',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [
{
name: 'lockerFactoryAddress',
internalType: 'address',
type: 'address',
},
],
name: 'setLockerFactory',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [
{ name: 'stakerAllocationBP', internalType: 'uint128', type: 'uint128' },
{
name: 'liquidityProviderAllocationBP',
internalType: 'uint128',
type: 'uint128',
},
],
name: 'setTaxAllocation',
outputs: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
inputs: [],
name: 'setupLPDistributionPool',
outputs: [],
st