@sfpro/sdk
Version:
TypeScript SDK for Superfluid Protocol - stream money every second
1,436 lines (1,435 loc) • 114 kB
JavaScript
import { createUseReadContract, createUseWriteContract, createUseSimulateContract, createUseWatchContractEvent, } from 'wagmi/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: [