UNPKG

@sfpro/sdk

Version:

TypeScript SDK for Superfluid Protocol - stream money every second

1,436 lines (1,435 loc) 113 kB
import { createReadContract, createWriteContract, createSimulateContract, createWatchContractEvent, } from '@wagmi/core/codegen'; export const cfaForwarderAbi = [ { type: 'constructor', inputs: [ { name: 'host', internalType: 'contract ISuperfluid', type: 'address' }, ], stateMutability: 'nonpayable', }, { type: 'error', inputs: [], name: 'CFA_FWD_INVALID_FLOW_RATE' }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract ISuperToken', type: 'address' }, { name: 'sender', internalType: 'address', type: 'address' }, { name: 'receiver', internalType: 'address', type: 'address' }, { name: 'flowrate', internalType: 'int96', type: 'int96' }, { name: 'userData', internalType: 'bytes', type: 'bytes' }, ], name: 'createFlow', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract ISuperToken', type: 'address' }, { name: 'sender', internalType: 'address', type: 'address' }, { name: 'receiver', internalType: 'address', type: 'address' }, { name: 'userData', internalType: 'bytes', type: 'bytes' }, ], name: 'deleteFlow', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract ISuperToken', type: 'address' }, { name: 'account', internalType: 'address', type: 'address' }, ], name: 'getAccountFlowInfo', outputs: [ { name: 'lastUpdated', internalType: 'uint256', type: 'uint256' }, { name: 'flowrate', internalType: 'int96', type: 'int96' }, { name: 'deposit', internalType: 'uint256', type: 'uint256' }, { name: 'owedDeposit', internalType: 'uint256', type: 'uint256' }, ], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract ISuperToken', type: 'address' }, { name: 'account', internalType: 'address', type: 'address' }, ], name: 'getAccountFlowrate', outputs: [{ name: 'flowrate', internalType: 'int96', type: 'int96' }], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract ISuperToken', type: 'address' }, { name: 'flowrate', internalType: 'int96', type: 'int96' }, ], name: 'getBufferAmountByFlowrate', outputs: [ { name: 'bufferAmount', internalType: 'uint256', type: 'uint256' }, ], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract ISuperToken', type: 'address' }, { name: 'sender', internalType: 'address', type: 'address' }, { name: 'receiver', internalType: 'address', type: 'address' }, ], name: 'getFlowInfo', outputs: [ { name: 'lastUpdated', internalType: 'uint256', type: 'uint256' }, { name: 'flowrate', internalType: 'int96', type: 'int96' }, { name: 'deposit', internalType: 'uint256', type: 'uint256' }, { name: 'owedDeposit', internalType: 'uint256', type: 'uint256' }, ], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract ISuperToken', type: 'address' }, { name: 'sender', internalType: 'address', type: 'address' }, { name: 'flowOperator', internalType: 'address', type: 'address' }, ], name: 'getFlowOperatorPermissions', outputs: [ { name: 'permissions', internalType: 'uint8', type: 'uint8' }, { name: 'flowrateAllowance', internalType: 'int96', type: 'int96' }, ], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract ISuperToken', type: 'address' }, { name: 'sender', internalType: 'address', type: 'address' }, { name: 'receiver', internalType: 'address', type: 'address' }, ], name: 'getFlowrate', outputs: [{ name: 'flowrate', internalType: 'int96', type: 'int96' }], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract ISuperToken', type: 'address' }, { name: 'flowOperator', internalType: 'address', type: 'address' }, ], name: 'grantPermissions', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract ISuperToken', type: 'address' }, { name: 'flowOperator', internalType: 'address', type: 'address' }, ], name: 'revokePermissions', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract ISuperToken', type: 'address' }, { name: 'receiver', internalType: 'address', type: 'address' }, { name: 'flowrate', internalType: 'int96', type: 'int96' }, ], name: 'setFlowrate', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract ISuperToken', type: 'address' }, { name: 'sender', internalType: 'address', type: 'address' }, { name: 'receiver', internalType: 'address', type: 'address' }, { name: 'flowrate', internalType: 'int96', type: 'int96' }, ], name: 'setFlowrateFrom', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract ISuperToken', type: 'address' }, { name: 'sender', internalType: 'address', type: 'address' }, { name: 'receiver', internalType: 'address', type: 'address' }, { name: 'flowrate', internalType: 'int96', type: 'int96' }, { name: 'userData', internalType: 'bytes', type: 'bytes' }, ], name: 'updateFlow', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract ISuperToken', type: 'address' }, { name: 'flowOperator', internalType: 'address', type: 'address' }, { name: 'permissions', internalType: 'uint8', type: 'uint8' }, { name: 'flowrateAllowance', internalType: 'int96', type: 'int96' }, ], name: 'updateFlowOperatorPermissions', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'error', inputs: [], name: 'AGREEMENT_BASE_ONLY_HOST' }, { type: 'error', inputs: [{ name: '_code', internalType: 'uint256', type: 'uint256' }], name: 'APP_RULE', }, { type: 'error', inputs: [], name: 'CFA_ACL_FLOW_RATE_ALLOWANCE_EXCEEDED' }, { type: 'error', inputs: [], name: 'CFA_ACL_NO_NEGATIVE_ALLOWANCE' }, { type: 'error', inputs: [], name: 'CFA_ACL_NO_SENDER_CREATE' }, { type: 'error', inputs: [], name: 'CFA_ACL_NO_SENDER_FLOW_OPERATOR' }, { type: 'error', inputs: [], name: 'CFA_ACL_NO_SENDER_UPDATE' }, { type: 'error', inputs: [], name: 'CFA_ACL_OPERATOR_NO_CREATE_PERMISSIONS' }, { type: 'error', inputs: [], name: 'CFA_ACL_OPERATOR_NO_DELETE_PERMISSIONS' }, { type: 'error', inputs: [], name: 'CFA_ACL_OPERATOR_NO_UPDATE_PERMISSIONS' }, { type: 'error', inputs: [], name: 'CFA_ACL_UNCLEAN_PERMISSIONS' }, { type: 'error', inputs: [], name: 'CFA_DEPOSIT_TOO_BIG' }, { type: 'error', inputs: [], name: 'CFA_FLOW_ALREADY_EXISTS' }, { type: 'error', inputs: [], name: 'CFA_FLOW_DOES_NOT_EXIST' }, { type: 'error', inputs: [], name: 'CFA_FLOW_RATE_TOO_BIG' }, { type: 'error', inputs: [], name: 'CFA_HOOK_OUT_OF_GAS' }, { type: 'error', inputs: [], name: 'CFA_INSUFFICIENT_BALANCE' }, { type: 'error', inputs: [], name: 'CFA_INVALID_FLOW_RATE' }, { type: 'error', inputs: [], name: 'CFA_NON_CRITICAL_SENDER' }, { type: 'error', inputs: [], name: 'CFA_NO_SELF_FLOW' }, { type: 'error', inputs: [], name: 'CFA_ZERO_ADDRESS_RECEIVER' }, { type: 'error', inputs: [], name: 'CFA_ZERO_ADDRESS_SENDER' }, { type: 'error', inputs: [], name: 'SF_TOKEN_AGREEMENT_ALREADY_EXISTS' }, { type: 'error', inputs: [], name: 'SF_TOKEN_AGREEMENT_DOES_NOT_EXIST' }, { type: 'error', inputs: [], name: 'SF_TOKEN_BURN_INSUFFICIENT_BALANCE' }, { type: 'error', inputs: [], name: 'SF_TOKEN_MOVE_INSUFFICIENT_BALANCE' }, { type: 'error', inputs: [], name: 'SF_TOKEN_ONLY_HOST' }, { type: 'error', inputs: [], name: 'SF_TOKEN_ONLY_LISTED_AGREEMENT' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_APPROVE_FROM_ZERO_ADDRESS' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_APPROVE_TO_ZERO_ADDRESS' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_BURN_FROM_ZERO_ADDRESS' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_CALLER_IS_NOT_OPERATOR_FOR_HOLDER', }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_INFLATIONARY_DEFLATIONARY_NOT_SUPPORTED', }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_MINT_TO_ZERO_ADDRESS' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_NFT_PROXY_ADDRESS_CHANGED' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_NOT_ERC777_TOKENS_RECIPIENT', }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_NO_UNDERLYING_TOKEN' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_ONLY_ADMIN' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_ONLY_GOV_OWNER' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_ONLY_SELF' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_TRANSFER_FROM_ZERO_ADDRESS' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_TRANSFER_TO_ZERO_ADDRESS' }, ]; export const cfaForwarderAddress = { 1: '0xcfA132E353cB4E398080B9700609bb008eceB125', 10: '0xcfA132E353cB4E398080B9700609bb008eceB125', 56: '0xcfA132E353cB4E398080B9700609bb008eceB125', 100: '0xcfA132E353cB4E398080B9700609bb008eceB125', 137: '0xcfA132E353cB4E398080B9700609bb008eceB125', 8453: '0xcfA132E353cB4E398080B9700609bb008eceB125', 42161: '0xcfA132E353cB4E398080B9700609bb008eceB125', 42220: '0xcfA132E353cB4E398080B9700609bb008eceB125', 43113: '0x2CDd45c5182602a36d391F7F16DD9f8386C3bD8D', 43114: '0xcfA132E353cB4E398080B9700609bb008eceB125', 84532: '0xcfA132E353cB4E398080B9700609bb008eceB125', 534351: '0xcfA132E353cB4E398080B9700609bb008eceB125', 534352: '0xcfA132E353cB4E398080B9700609bb008eceB125', 11155111: '0xcfA132E353cB4E398080B9700609bb008eceB125', 11155420: '0xcfA132E353cB4E398080B9700609bb008eceB125', 666666666: '0xcfA132E353cB4E398080B9700609bb008eceB125', }; export const cfaForwarderConfig = { address: cfaForwarderAddress, abi: cfaForwarderAbi, }; export const gdaForwarderAbi = [ { type: 'constructor', inputs: [ { name: 'host', internalType: 'contract ISuperfluid', type: 'address' }, ], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'pool', internalType: 'contract ISuperfluidPool', type: 'address', }, { name: 'memberAddress', internalType: 'address', type: 'address' }, { name: 'userData', internalType: 'bytes', type: 'bytes' }, ], name: 'claimAll', outputs: [{ name: 'success', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'pool', internalType: 'contract ISuperfluidPool', type: 'address', }, { name: 'userData', internalType: 'bytes', type: 'bytes' }, ], name: 'connectPool', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract ISuperfluidToken', type: 'address', }, { name: 'admin', internalType: 'address', type: 'address' }, { name: 'config', internalType: 'struct PoolConfig', type: 'tuple', components: [ { name: 'transferabilityForUnitsOwner', internalType: 'bool', type: 'bool', }, { name: 'distributionFromAnyAddress', internalType: 'bool', type: 'bool', }, ], }, ], name: 'createPool', outputs: [ { name: 'success', internalType: 'bool', type: 'bool' }, { name: 'pool', internalType: 'contract ISuperfluidPool', type: 'address', }, ], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'pool', internalType: 'contract ISuperfluidPool', type: 'address', }, { name: 'userData', internalType: 'bytes', type: 'bytes' }, ], name: 'disconnectPool', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract ISuperfluidToken', type: 'address', }, { name: 'from', internalType: 'address', type: 'address' }, { name: 'pool', internalType: 'contract ISuperfluidPool', type: 'address', }, { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' }, { name: 'userData', internalType: 'bytes', type: 'bytes' }, ], name: 'distribute', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract ISuperfluidToken', type: 'address', }, { name: 'from', internalType: 'address', type: 'address' }, { name: 'pool', internalType: 'contract ISuperfluidPool', type: 'address', }, { name: 'requestedFlowRate', internalType: 'int96', type: 'int96' }, { name: 'userData', internalType: 'bytes', type: 'bytes' }, ], name: 'distributeFlow', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract ISuperfluidToken', type: 'address', }, { name: 'from', internalType: 'address', type: 'address' }, { name: 'to', internalType: 'contract ISuperfluidPool', type: 'address' }, { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' }, ], name: 'estimateDistributionActualAmount', outputs: [ { name: 'actualAmount', internalType: 'uint256', type: 'uint256' }, ], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract ISuperfluidToken', type: 'address', }, { name: 'from', internalType: 'address', type: 'address' }, { name: 'to', internalType: 'contract ISuperfluidPool', type: 'address' }, { name: 'requestedFlowRate', internalType: 'int96', type: 'int96' }, ], name: 'estimateFlowDistributionActualFlowRate', outputs: [ { name: 'actualFlowRate', internalType: 'int96', type: 'int96' }, { name: 'totalDistributionFlowRate', internalType: 'int96', type: 'int96', }, ], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract ISuperfluidToken', type: 'address', }, { name: 'from', internalType: 'address', type: 'address' }, { name: 'to', internalType: 'contract ISuperfluidPool', type: 'address' }, ], name: 'getFlowDistributionFlowRate', outputs: [{ name: '', internalType: 'int96', type: 'int96' }], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract ISuperfluidToken', type: 'address', }, { name: 'account', internalType: 'address', type: 'address' }, ], name: 'getNetFlow', outputs: [{ name: '', internalType: 'int96', type: 'int96' }], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'pool', internalType: 'contract ISuperfluidPool', type: 'address', }, ], name: 'getPoolAdjustmentFlowInfo', outputs: [ { name: '', internalType: 'address', type: 'address' }, { name: '', internalType: 'bytes32', type: 'bytes32' }, { name: '', internalType: 'int96', type: 'int96' }, ], stateMutability: 'view', }, { type: 'function', inputs: [{ name: 'pool', internalType: 'address', type: 'address' }], name: 'getPoolAdjustmentFlowRate', outputs: [{ name: '', internalType: 'int96', type: 'int96' }], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'pool', internalType: 'contract ISuperfluidPool', type: 'address', }, { name: 'member', internalType: 'address', type: 'address' }, ], name: 'isMemberConnected', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract ISuperfluidToken', type: 'address', }, { name: 'account', internalType: 'address', type: 'address' }, ], name: 'isPool', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'pool', internalType: 'contract ISuperfluidPool', type: 'address', }, { name: 'memberAddress', internalType: 'address', type: 'address' }, { name: 'newUnits', internalType: 'uint128', type: 'uint128' }, { name: 'userData', internalType: 'bytes', type: 'bytes' }, ], name: 'updateMemberUnits', outputs: [{ name: 'success', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'error', inputs: [], name: 'AGREEMENT_BASE_ONLY_HOST' }, { type: 'error', inputs: [], name: 'GDA_ADMIN_CANNOT_BE_POOL' }, { type: 'error', inputs: [], name: 'GDA_DISTRIBUTE_FOR_OTHERS_NOT_ALLOWED' }, { type: 'error', inputs: [], name: 'GDA_DISTRIBUTE_FROM_ANY_ADDRESS_NOT_ALLOWED', }, { type: 'error', inputs: [], name: 'GDA_FLOW_DOES_NOT_EXIST' }, { type: 'error', inputs: [], name: 'GDA_INSUFFICIENT_BALANCE' }, { type: 'error', inputs: [], name: 'GDA_NON_CRITICAL_SENDER' }, { type: 'error', inputs: [], name: 'GDA_NOT_POOL_ADMIN' }, { type: 'error', inputs: [], name: 'GDA_NO_NEGATIVE_FLOW_RATE' }, { type: 'error', inputs: [], name: 'GDA_NO_ZERO_ADDRESS_ADMIN' }, { type: 'error', inputs: [], name: 'GDA_ONLY_SUPER_TOKEN_POOL' }, { type: 'error', inputs: [], name: 'SUPERFLUID_POOL_INVALID_TIME' }, { type: 'error', inputs: [], name: 'SUPERFLUID_POOL_NOT_GDA' }, { type: 'error', inputs: [], name: 'SUPERFLUID_POOL_NOT_POOL_ADMIN_OR_GDA' }, { type: 'error', inputs: [], name: 'SUPERFLUID_POOL_NO_POOL_MEMBERS' }, { type: 'error', inputs: [], name: 'SUPERFLUID_POOL_NO_ZERO_ADDRESS' }, { type: 'error', inputs: [], name: 'SUPERFLUID_POOL_SELF_TRANSFER_NOT_ALLOWED', }, { type: 'error', inputs: [], name: 'SUPERFLUID_POOL_TRANSFER_UNITS_NOT_ALLOWED', }, { type: 'error', inputs: [], name: 'SF_TOKEN_AGREEMENT_ALREADY_EXISTS' }, { type: 'error', inputs: [], name: 'SF_TOKEN_AGREEMENT_DOES_NOT_EXIST' }, { type: 'error', inputs: [], name: 'SF_TOKEN_BURN_INSUFFICIENT_BALANCE' }, { type: 'error', inputs: [], name: 'SF_TOKEN_MOVE_INSUFFICIENT_BALANCE' }, { type: 'error', inputs: [], name: 'SF_TOKEN_ONLY_HOST' }, { type: 'error', inputs: [], name: 'SF_TOKEN_ONLY_LISTED_AGREEMENT' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_APPROVE_FROM_ZERO_ADDRESS' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_APPROVE_TO_ZERO_ADDRESS' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_BURN_FROM_ZERO_ADDRESS' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_CALLER_IS_NOT_OPERATOR_FOR_HOLDER', }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_INFLATIONARY_DEFLATIONARY_NOT_SUPPORTED', }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_MINT_TO_ZERO_ADDRESS' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_NFT_PROXY_ADDRESS_CHANGED' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_NOT_ERC777_TOKENS_RECIPIENT', }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_NO_UNDERLYING_TOKEN' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_ONLY_ADMIN' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_ONLY_GOV_OWNER' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_ONLY_SELF' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_TRANSFER_FROM_ZERO_ADDRESS' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_TRANSFER_TO_ZERO_ADDRESS' }, ]; export const gdaForwarderAddress = { 1: '0x6DA13Bde224A05a288748d857b9e7DDEffd1dE08', 10: '0x6DA13Bde224A05a288748d857b9e7DDEffd1dE08', 56: '0x6DA13Bde224A05a288748d857b9e7DDEffd1dE08', 100: '0x6DA13Bde224A05a288748d857b9e7DDEffd1dE08', 137: '0x6DA13Bde224A05a288748d857b9e7DDEffd1dE08', 8453: '0x6DA13Bde224A05a288748d857b9e7DDEffd1dE08', 42161: '0x6DA13Bde224A05a288748d857b9e7DDEffd1dE08', 42220: '0x6DA13Bde224A05a288748d857b9e7DDEffd1dE08', 43113: '0x6DA13Bde224A05a288748d857b9e7DDEffd1dE08', 43114: '0x6DA13Bde224A05a288748d857b9e7DDEffd1dE08', 84532: '0x6DA13Bde224A05a288748d857b9e7DDEffd1dE08', 534351: '0x6DA13Bde224A05a288748d857b9e7DDEffd1dE08', 534352: '0x6DA13Bde224A05a288748d857b9e7DDEffd1dE08', 11155111: '0x6DA13Bde224A05a288748d857b9e7DDEffd1dE08', 11155420: '0x6DA13Bde224A05a288748d857b9e7DDEffd1dE08', 666666666: '0x6DA13Bde224A05a288748d857b9e7DDEffd1dE08', }; export const gdaForwarderConfig = { address: gdaForwarderAddress, abi: gdaForwarderAbi, }; export const gdaPoolAbi = [ { type: 'constructor', inputs: [ { name: 'gda', internalType: 'contract GeneralDistributionAgreementV1', type: 'address', }, ], stateMutability: 'nonpayable', }, { type: 'error', inputs: [], name: 'SUPERFLUID_POOL_INVALID_TIME' }, { type: 'error', inputs: [], name: 'SUPERFLUID_POOL_NOT_GDA' }, { type: 'error', inputs: [], name: 'SUPERFLUID_POOL_NOT_POOL_ADMIN_OR_GDA' }, { type: 'error', inputs: [], name: 'SUPERFLUID_POOL_NO_POOL_MEMBERS' }, { type: 'error', inputs: [], name: 'SUPERFLUID_POOL_NO_ZERO_ADDRESS' }, { type: 'error', inputs: [], name: 'SUPERFLUID_POOL_SELF_TRANSFER_NOT_ALLOWED', }, { type: 'error', inputs: [], name: 'SUPERFLUID_POOL_TRANSFER_UNITS_NOT_ALLOWED', }, { type: 'event', anonymous: false, inputs: [ { name: 'owner', internalType: 'address', type: 'address', indexed: true, }, { name: 'spender', internalType: 'address', type: 'address', indexed: true, }, { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false, }, ], name: 'Approval', }, { type: 'event', anonymous: false, inputs: [ { name: 'token', internalType: 'contract ISuperfluidToken', type: 'address', indexed: true, }, { name: 'member', internalType: 'address', type: 'address', indexed: true, }, { name: 'claimedAmount', internalType: 'int256', type: 'int256', indexed: false, }, { name: 'totalClaimed', internalType: 'int256', type: 'int256', indexed: false, }, ], name: 'DistributionClaimed', }, { type: 'event', anonymous: false, inputs: [ { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false }, ], name: 'Initialized', }, { type: 'event', anonymous: false, inputs: [ { name: 'token', internalType: 'contract ISuperfluidToken', type: 'address', indexed: true, }, { name: 'member', internalType: 'address', type: 'address', indexed: true, }, { name: 'oldUnits', internalType: 'uint128', type: 'uint128', indexed: false, }, { name: 'newUnits', internalType: 'uint128', type: 'uint128', indexed: false, }, ], name: 'MemberUnitsUpdated', }, { type: 'event', anonymous: false, inputs: [ { name: 'from', internalType: 'address', type: 'address', indexed: true }, { name: 'to', internalType: 'address', type: 'address', indexed: true }, { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false, }, ], name: 'Transfer', }, { type: 'function', inputs: [], name: 'GDA', outputs: [ { name: '', internalType: 'contract GeneralDistributionAgreementV1', type: 'address', }, ], stateMutability: 'view', }, { type: 'function', inputs: [], name: 'admin', outputs: [{ name: '', internalType: 'address', type: 'address' }], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'owner', internalType: 'address', type: 'address' }, { name: 'spender', internalType: 'address', type: 'address' }, ], name: 'allowance', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'spender', internalType: 'address', type: 'address' }, { name: 'amount', internalType: 'uint256', type: 'uint256' }, ], name: 'approve', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [{ name: 'account', internalType: 'address', type: 'address' }], name: 'balanceOf', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], stateMutability: 'view', }, { type: 'function', inputs: [], name: 'castrate', outputs: [], stateMutability: 'nonpayable', }, { type: 'function', inputs: [{ name: 'memberAddr', internalType: 'address', type: 'address' }], name: 'claimAll', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [], name: 'claimAll', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'spender', internalType: 'address', type: 'address' }, { name: 'subtractedValue', internalType: 'uint256', type: 'uint256' }, ], name: 'decreaseAllowance', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [], name: 'distributionFromAnyAddress', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'memberAddr', internalType: 'address', type: 'address' }, { name: 'time', internalType: 'uint32', type: 'uint32' }, ], name: 'getClaimable', outputs: [{ name: '', internalType: 'int256', type: 'int256' }], stateMutability: 'view', }, { type: 'function', inputs: [{ name: 'memberAddr', internalType: 'address', type: 'address' }], name: 'getClaimableNow', outputs: [ { name: 'claimableBalance', internalType: 'int256', type: 'int256' }, { name: 'timestamp', internalType: 'uint256', type: 'uint256' }, ], stateMutability: 'view', }, { type: 'function', inputs: [{ name: 'time', internalType: 'uint32', type: 'uint32' }], name: 'getDisconnectedBalance', outputs: [{ name: 'balance', internalType: 'int256', type: 'int256' }], stateMutability: 'view', }, { type: 'function', inputs: [{ name: 'memberAddr', internalType: 'address', type: 'address' }], name: 'getMemberFlowRate', outputs: [{ name: '', internalType: 'int96', type: 'int96' }], stateMutability: 'view', }, { type: 'function', inputs: [{ name: 'memberAddr', internalType: 'address', type: 'address' }], name: 'getTotalAmountReceivedByMember', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], stateMutability: 'view', }, { type: 'function', inputs: [], name: 'getTotalConnectedFlowRate', outputs: [{ name: '', internalType: 'int96', type: 'int96' }], stateMutability: 'view', }, { type: 'function', inputs: [], name: 'getTotalConnectedUnits', outputs: [{ name: '', internalType: 'uint128', type: 'uint128' }], stateMutability: 'view', }, { type: 'function', inputs: [], name: 'getTotalDisconnectedFlowRate', outputs: [{ name: 'flowRate', internalType: 'int96', type: 'int96' }], stateMutability: 'view', }, { type: 'function', inputs: [], name: 'getTotalDisconnectedUnits', outputs: [{ name: '', internalType: 'uint128', type: 'uint128' }], stateMutability: 'view', }, { type: 'function', inputs: [], name: 'getTotalFlowRate', outputs: [{ name: '', internalType: 'int96', type: 'int96' }], stateMutability: 'view', }, { type: 'function', inputs: [], name: 'getTotalUnits', outputs: [{ name: '', internalType: 'uint128', type: 'uint128' }], stateMutability: 'view', }, { type: 'function', inputs: [{ name: 'memberAddr', internalType: 'address', type: 'address' }], name: 'getUnits', outputs: [{ name: '', internalType: 'uint128', type: 'uint128' }], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'spender', internalType: 'address', type: 'address' }, { name: 'addedValue', internalType: 'uint256', type: 'uint256' }, ], name: 'increaseAllowance', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'admin_', internalType: 'address', type: 'address' }, { name: 'superToken_', internalType: 'contract ISuperfluidToken', type: 'address', }, { name: 'transferabilityForUnitsOwner_', internalType: 'bool', type: 'bool', }, { name: 'distributionFromAnyAddress_', internalType: 'bool', type: 'bool', }, ], name: 'initialize', outputs: [], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'memberAddr', internalType: 'address', type: 'address' }, { name: 'doConnect', internalType: 'bool', type: 'bool' }, { name: 'time', internalType: 'uint32', type: 'uint32' }, ], name: 'operatorConnectMember', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'index', internalType: 'struct PDPoolIndex', type: 'tuple', components: [ { name: 'total_units', internalType: 'Unit', type: 'int128' }, { name: '_wrapped_particle', internalType: 'struct BasicParticle', type: 'tuple', components: [ { name: '_settled_at', internalType: 'Time', type: 'uint32' }, { name: '_flow_rate', internalType: 'FlowRate', type: 'int128' }, { name: '_settled_value', internalType: 'Value', type: 'int256' }, ], }, ], }, ], name: 'operatorSetIndex', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [], name: 'poolOperatorGetIndex', outputs: [ { name: '', internalType: 'struct SuperfluidPool.PoolIndexData', type: 'tuple', components: [ { name: 'totalUnits', internalType: 'uint128', type: 'uint128' }, { name: 'wrappedSettledAt', internalType: 'uint32', type: 'uint32' }, { name: 'wrappedFlowRate', internalType: 'int96', type: 'int96' }, { name: 'wrappedSettledValue', internalType: 'int256', type: 'int256', }, ], }, ], stateMutability: 'view', }, { type: 'function', inputs: [], name: 'proxiableUUID', outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], stateMutability: 'pure', }, { type: 'function', inputs: [], name: 'superToken', outputs: [ { name: '', internalType: 'contract ISuperfluidToken', type: 'address' }, ], stateMutability: 'view', }, { type: 'function', inputs: [], name: 'totalSupply', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'to', internalType: 'address', type: 'address' }, { name: 'amount', internalType: 'uint256', type: 'uint256' }, ], name: 'transfer', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'from', internalType: 'address', type: 'address' }, { name: 'to', internalType: 'address', type: 'address' }, { name: 'amount', internalType: 'uint256', type: 'uint256' }, ], name: 'transferFrom', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [], name: 'transferabilityForUnitsOwner', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'memberAddr', internalType: 'address', type: 'address' }, { name: 'newUnits', internalType: 'uint128', type: 'uint128' }, ], name: 'updateMemberUnits', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, ]; export const superTokenAbi = [ { type: 'constructor', inputs: [ { name: 'host', internalType: 'contract ISuperfluid', type: 'address' }, { name: 'constantOutflowNFT', internalType: 'contract IConstantOutflowNFT', type: 'address', }, { name: 'constantInflowNFT', internalType: 'contract IConstantInflowNFT', type: 'address', }, { name: 'poolAdminNFT', internalType: 'contract IPoolAdminNFT', type: 'address', }, { name: 'poolMemberNFT', internalType: 'contract IPoolMemberNFT', type: 'address', }, ], stateMutability: 'nonpayable', }, { type: 'error', inputs: [], name: 'SF_TOKEN_AGREEMENT_ALREADY_EXISTS' }, { type: 'error', inputs: [], name: 'SF_TOKEN_AGREEMENT_DOES_NOT_EXIST' }, { type: 'error', inputs: [], name: 'SF_TOKEN_BURN_INSUFFICIENT_BALANCE' }, { type: 'error', inputs: [], name: 'SF_TOKEN_MOVE_INSUFFICIENT_BALANCE' }, { type: 'error', inputs: [], name: 'SF_TOKEN_ONLY_HOST' }, { type: 'error', inputs: [], name: 'SF_TOKEN_ONLY_LISTED_AGREEMENT' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_APPROVE_FROM_ZERO_ADDRESS' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_APPROVE_TO_ZERO_ADDRESS' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_BURN_FROM_ZERO_ADDRESS' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_CALLER_IS_NOT_OPERATOR_FOR_HOLDER', }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_INFLATIONARY_DEFLATIONARY_NOT_SUPPORTED', }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_MINT_TO_ZERO_ADDRESS' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_NFT_PROXY_ADDRESS_CHANGED' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_NOT_ERC777_TOKENS_RECIPIENT', }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_NO_UNDERLYING_TOKEN' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_ONLY_ADMIN' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_ONLY_GOV_OWNER' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_ONLY_SELF' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_TRANSFER_FROM_ZERO_ADDRESS' }, { type: 'error', inputs: [], name: 'SUPER_TOKEN_TRANSFER_TO_ZERO_ADDRESS' }, { type: 'event', anonymous: false, inputs: [ { name: 'oldAdmin', internalType: 'address', type: 'address', indexed: true, }, { name: 'newAdmin', internalType: 'address', type: 'address', indexed: true, }, ], name: 'AdminChanged', }, { type: 'event', anonymous: false, inputs: [ { name: 'agreementClass', internalType: 'address', type: 'address', indexed: true, }, { name: 'id', internalType: 'bytes32', type: 'bytes32', indexed: false }, { name: 'data', internalType: 'bytes32[]', type: 'bytes32[]', indexed: false, }, ], name: 'AgreementCreated', }, { type: 'event', anonymous: false, inputs: [ { name: 'agreementClass', internalType: 'address', type: 'address', indexed: true, }, { name: 'id', internalType: 'bytes32', type: 'bytes32', indexed: false }, { name: 'penaltyAccount', internalType: 'address', type: 'address', indexed: true, }, { name: 'rewardAccount', internalType: 'address', type: 'address', indexed: true, }, { name: 'rewardAmount', internalType: 'uint256', type: 'uint256', indexed: false, }, ], name: 'AgreementLiquidated', }, { type: 'event', anonymous: false, inputs: [ { name: 'liquidatorAccount', internalType: 'address', type: 'address', indexed: false, }, { name: 'agreementClass', internalType: 'address', type: 'address', indexed: true, }, { name: 'id', internalType: 'bytes32', type: 'bytes32', indexed: false }, { name: 'penaltyAccount', internalType: 'address', type: 'address', indexed: true, }, { name: 'bondAccount', internalType: 'address', type: 'address', indexed: true, }, { name: 'rewardAmount', internalType: 'uint256', type: 'uint256', indexed: false, }, { name: 'bailoutAmount', internalType: 'uint256', type: 'uint256', indexed: false, }, ], name: 'AgreementLiquidatedBy', }, { type: 'event', anonymous: false, inputs: [ { name: 'agreementClass', internalType: 'address', type: 'address', indexed: true, }, { name: 'id', internalType: 'bytes32', type: 'bytes32', indexed: false }, { name: 'liquidatorAccount', internalType: 'address', type: 'address', indexed: true, }, { name: 'targetAccount', internalType: 'address', type: 'address', indexed: true, }, { name: 'rewardAmountReceiver', internalType: 'address', type: 'address', indexed: false, }, { name: 'rewardAmount', internalType: 'uint256', type: 'uint256', indexed: false, }, { name: 'targetAccountBalanceDelta', internalType: 'int256', type: 'int256', indexed: false, }, { name: 'liquidationTypeData', internalType: 'bytes', type: 'bytes', indexed: false, }, ], name: 'AgreementLiquidatedV2', }, { type: 'event', anonymous: false, inputs: [ { name: 'agreementClass', internalType: 'address', type: 'address', indexed: true, }, { name: 'account', internalType: 'address', type: 'address', indexed: true, }, { name: 'slotId', internalType: 'uint256', type: 'uint256', indexed: false, }, ], name: 'AgreementStateUpdated', }, { type: 'event', anonymous: false, inputs: [ { name: 'agreementClass', internalType: 'address', type: 'address', indexed: true, }, { name: 'id', internalType: 'bytes32', type: 'bytes32', indexed: false }, ], name: 'AgreementTerminated', }, { type: 'event', anonymous: false, inputs: [ { name: 'agreementClass', internalType: 'address', type: 'address', indexed: true, }, { name: 'id', internalType: 'bytes32', type: 'bytes32', indexed: false }, { name: 'data', internalType: 'bytes32[]', type: 'bytes32[]', indexed: false, }, ], name: 'AgreementUpdated', }, { type: 'event', anonymous: false, inputs: [ { name: 'owner', internalType: 'address', type: 'address', indexed: true, }, { name: 'spender', internalType: 'address', type: 'address', indexed: true, }, { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false, }, ], name: 'Approval', }, { type: 'event', anonymous: false, inputs: [ { name: 'operator', internalType: 'address', type: 'address', indexed: true, }, { name: 'tokenHolder', internalType: 'address', type: 'address', indexed: true, }, ], name: 'AuthorizedOperator', }, { type: 'event', anonymous: false, inputs: [ { name: 'bailoutAccount', internalType: 'address', type: 'address', indexed: true, }, { name: 'bailoutAmount', internalType: 'uint256', type: 'uint256', indexed: false, }, ], name: 'Bailout', }, { type: 'event', anonymous: false, inputs: [