@0xsplits/splits-sdk
Version:
SDK for the 0xSplits protocol
928 lines (926 loc) • 23.9 kB
text/typescript
export const splitMainEthereumAbi = [
{ inputs: [], stateMutability: 'nonpayable', type: 'constructor' },
{ inputs: [], name: 'Create2Error', type: 'error' },
{ inputs: [], name: 'CreateError', type: 'error' },
{
inputs: [
{ internalType: 'address', name: 'newController', type: 'address' },
],
name: 'InvalidNewController',
type: 'error',
},
{
inputs: [
{ internalType: 'uint256', name: 'accountsLength', type: 'uint256' },
{ internalType: 'uint256', name: 'allocationsLength', type: 'uint256' },
],
name: 'InvalidSplit__AccountsAndAllocationsMismatch',
type: 'error',
},
{
inputs: [{ internalType: 'uint256', name: 'index', type: 'uint256' }],
name: 'InvalidSplit__AccountsOutOfOrder',
type: 'error',
},
{
inputs: [{ internalType: 'uint256', name: 'index', type: 'uint256' }],
name: 'InvalidSplit__AllocationMustBePositive',
type: 'error',
},
{
inputs: [
{ internalType: 'uint32', name: 'allocationsSum', type: 'uint32' },
],
name: 'InvalidSplit__InvalidAllocationsSum',
type: 'error',
},
{
inputs: [
{ internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
],
name: 'InvalidSplit__InvalidDistributorFee',
type: 'error',
},
{
inputs: [{ internalType: 'bytes32', name: 'hash', type: 'bytes32' }],
name: 'InvalidSplit__InvalidHash',
type: 'error',
},
{
inputs: [
{ internalType: 'uint256', name: 'accountsLength', type: 'uint256' },
],
name: 'InvalidSplit__TooFewAccounts',
type: 'error',
},
{
inputs: [{ internalType: 'address', name: 'sender', type: 'address' }],
name: 'Unauthorized',
type: 'error',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'split',
type: 'address',
},
],
name: 'CancelControlTransfer',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'split',
type: 'address',
},
{
indexed: true,
internalType: 'address',
name: 'previousController',
type: 'address',
},
{
indexed: true,
internalType: 'address',
name: 'newController',
type: 'address',
},
],
name: 'ControlTransfer',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'split',
type: 'address',
},
],
name: 'CreateSplit',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'split',
type: 'address',
},
{
indexed: true,
internalType: 'contract ERC20',
name: 'token',
type: 'address',
},
{
indexed: false,
internalType: 'uint256',
name: 'amount',
type: 'uint256',
},
{
indexed: true,
internalType: 'address',
name: 'distributorAddress',
type: 'address',
},
],
name: 'DistributeERC20',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'split',
type: 'address',
},
{
indexed: false,
internalType: 'uint256',
name: 'amount',
type: 'uint256',
},
{
indexed: true,
internalType: 'address',
name: 'distributorAddress',
type: 'address',
},
],
name: 'DistributeETH',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'split',
type: 'address',
},
{
indexed: true,
internalType: 'address',
name: 'newPotentialController',
type: 'address',
},
],
name: 'InitiateControlTransfer',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'split',
type: 'address',
},
],
name: 'UpdateSplit',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'account',
type: 'address',
},
{
indexed: false,
internalType: 'uint256',
name: 'ethAmount',
type: 'uint256',
},
{
indexed: false,
internalType: 'contract ERC20[]',
name: 'tokens',
type: 'address[]',
},
{
indexed: false,
internalType: 'uint256[]',
name: 'tokenAmounts',
type: 'uint256[]',
},
],
name: 'Withdrawal',
type: 'event',
},
{
inputs: [],
name: 'PERCENTAGE_SCALE',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [{ internalType: 'address', name: 'split', type: 'address' }],
name: 'acceptControl',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [{ internalType: 'address', name: 'split', type: 'address' }],
name: 'cancelControlTransfer',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{ internalType: 'address[]', name: 'accounts', type: 'address[]' },
{
internalType: 'uint32[]',
name: 'percentAllocations',
type: 'uint32[]',
},
{ internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
{ internalType: 'address', name: 'controller', type: 'address' },
],
name: 'createSplit',
outputs: [{ internalType: 'address', name: 'split', type: 'address' }],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{ internalType: 'address', name: 'split', type: 'address' },
{ internalType: 'contract ERC20', name: 'token', type: 'address' },
{ internalType: 'address[]', name: 'accounts', type: 'address[]' },
{
internalType: 'uint32[]',
name: 'percentAllocations',
type: 'uint32[]',
},
{ internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
{ internalType: 'address', name: 'distributorAddress', type: 'address' },
],
name: 'distributeERC20',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{ internalType: 'address', name: 'split', type: 'address' },
{ internalType: 'address[]', name: 'accounts', type: 'address[]' },
{
internalType: 'uint32[]',
name: 'percentAllocations',
type: 'uint32[]',
},
{ internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
{ internalType: 'address', name: 'distributorAddress', type: 'address' },
],
name: 'distributeETH',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [{ internalType: 'address', name: 'split', type: 'address' }],
name: 'getController',
outputs: [{ internalType: 'address', name: '', type: 'address' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{ internalType: 'address', name: 'account', type: 'address' },
{ internalType: 'contract ERC20', name: 'token', type: 'address' },
],
name: 'getERC20Balance',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
name: 'getETHBalance',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [{ internalType: 'address', name: 'split', type: 'address' }],
name: 'getHash',
outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [{ internalType: 'address', name: 'split', type: 'address' }],
name: 'getNewPotentialController',
outputs: [{ internalType: 'address', name: '', type: 'address' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [{ internalType: 'address', name: 'split', type: 'address' }],
name: 'makeSplitImmutable',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{ internalType: 'address[]', name: 'accounts', type: 'address[]' },
{
internalType: 'uint32[]',
name: 'percentAllocations',
type: 'uint32[]',
},
{ internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
],
name: 'predictImmutableSplitAddress',
outputs: [{ internalType: 'address', name: 'split', type: 'address' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{ internalType: 'address', name: 'split', type: 'address' },
{ internalType: 'address', name: 'newController', type: 'address' },
],
name: 'transferControl',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{ internalType: 'address', name: 'split', type: 'address' },
{ internalType: 'contract ERC20', name: 'token', type: 'address' },
{ internalType: 'address[]', name: 'accounts', type: 'address[]' },
{
internalType: 'uint32[]',
name: 'percentAllocations',
type: 'uint32[]',
},
{ internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
{ internalType: 'address', name: 'distributorAddress', type: 'address' },
],
name: 'updateAndDistributeERC20',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{ internalType: 'address', name: 'split', type: 'address' },
{ internalType: 'address[]', name: 'accounts', type: 'address[]' },
{
internalType: 'uint32[]',
name: 'percentAllocations',
type: 'uint32[]',
},
{ internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
{ internalType: 'address', name: 'distributorAddress', type: 'address' },
],
name: 'updateAndDistributeETH',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{ internalType: 'address', name: 'split', type: 'address' },
{ internalType: 'address[]', name: 'accounts', type: 'address[]' },
{
internalType: 'uint32[]',
name: 'percentAllocations',
type: 'uint32[]',
},
{ internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
],
name: 'updateSplit',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [],
name: 'walletImplementation',
outputs: [{ internalType: 'address', name: '', type: 'address' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{ internalType: 'address', name: 'account', type: 'address' },
{ internalType: 'uint256', name: 'withdrawETH', type: 'uint256' },
{ internalType: 'contract ERC20[]', name: 'tokens', type: 'address[]' },
],
name: 'withdraw',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
] as const
export const splitMainPolygonAbi = [
{ inputs: [], stateMutability: 'nonpayable', type: 'constructor' },
{ inputs: [], name: 'Create2Error', type: 'error' },
{ inputs: [], name: 'CreateError', type: 'error' },
{
inputs: [
{ internalType: 'address', name: 'newController', type: 'address' },
],
name: 'InvalidNewController',
type: 'error',
},
{
inputs: [
{ internalType: 'uint256', name: 'accountsLength', type: 'uint256' },
{ internalType: 'uint256', name: 'allocationsLength', type: 'uint256' },
],
name: 'InvalidSplit__AccountsAndAllocationsMismatch',
type: 'error',
},
{
inputs: [{ internalType: 'uint256', name: 'index', type: 'uint256' }],
name: 'InvalidSplit__AccountsOutOfOrder',
type: 'error',
},
{
inputs: [{ internalType: 'uint256', name: 'index', type: 'uint256' }],
name: 'InvalidSplit__AllocationMustBePositive',
type: 'error',
},
{
inputs: [
{ internalType: 'uint32', name: 'allocationsSum', type: 'uint32' },
],
name: 'InvalidSplit__InvalidAllocationsSum',
type: 'error',
},
{
inputs: [
{ internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
],
name: 'InvalidSplit__InvalidDistributorFee',
type: 'error',
},
{
inputs: [{ internalType: 'bytes32', name: 'hash', type: 'bytes32' }],
name: 'InvalidSplit__InvalidHash',
type: 'error',
},
{
inputs: [
{ internalType: 'uint256', name: 'accountsLength', type: 'uint256' },
],
name: 'InvalidSplit__TooFewAccounts',
type: 'error',
},
{
inputs: [{ internalType: 'address', name: 'sender', type: 'address' }],
name: 'Unauthorized',
type: 'error',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'split',
type: 'address',
},
],
name: 'CancelControlTransfer',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'split',
type: 'address',
},
{
indexed: true,
internalType: 'address',
name: 'previousController',
type: 'address',
},
{
indexed: true,
internalType: 'address',
name: 'newController',
type: 'address',
},
],
name: 'ControlTransfer',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'split',
type: 'address',
},
{
indexed: false,
internalType: 'address[]',
name: 'accounts',
type: 'address[]',
},
{
indexed: false,
internalType: 'uint32[]',
name: 'percentAllocations',
type: 'uint32[]',
},
{
indexed: false,
internalType: 'uint32',
name: 'distributorFee',
type: 'uint32',
},
{
indexed: false,
internalType: 'address',
name: 'controller',
type: 'address',
},
],
name: 'CreateSplit',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'split',
type: 'address',
},
{
indexed: true,
internalType: 'contract ERC20',
name: 'token',
type: 'address',
},
{
indexed: false,
internalType: 'uint256',
name: 'amount',
type: 'uint256',
},
{
indexed: true,
internalType: 'address',
name: 'distributorAddress',
type: 'address',
},
],
name: 'DistributeERC20',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'split',
type: 'address',
},
{
indexed: false,
internalType: 'uint256',
name: 'amount',
type: 'uint256',
},
{
indexed: true,
internalType: 'address',
name: 'distributorAddress',
type: 'address',
},
],
name: 'DistributeETH',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'split',
type: 'address',
},
{
indexed: true,
internalType: 'address',
name: 'newPotentialController',
type: 'address',
},
],
name: 'InitiateControlTransfer',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'split',
type: 'address',
},
{
indexed: false,
internalType: 'address[]',
name: 'accounts',
type: 'address[]',
},
{
indexed: false,
internalType: 'uint32[]',
name: 'percentAllocations',
type: 'uint32[]',
},
{
indexed: false,
internalType: 'uint32',
name: 'distributorFee',
type: 'uint32',
},
],
name: 'UpdateSplit',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'account',
type: 'address',
},
{
indexed: false,
internalType: 'uint256',
name: 'ethAmount',
type: 'uint256',
},
{
indexed: false,
internalType: 'contract ERC20[]',
name: 'tokens',
type: 'address[]',
},
{
indexed: false,
internalType: 'uint256[]',
name: 'tokenAmounts',
type: 'uint256[]',
},
],
name: 'Withdrawal',
type: 'event',
},
{
inputs: [],
name: 'PERCENTAGE_SCALE',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [{ internalType: 'address', name: 'split', type: 'address' }],
name: 'acceptControl',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [{ internalType: 'address', name: 'split', type: 'address' }],
name: 'cancelControlTransfer',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{ internalType: 'address[]', name: 'accounts', type: 'address[]' },
{
internalType: 'uint32[]',
name: 'percentAllocations',
type: 'uint32[]',
},
{ internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
{ internalType: 'address', name: 'controller', type: 'address' },
],
name: 'createSplit',
outputs: [{ internalType: 'address', name: 'split', type: 'address' }],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{ internalType: 'address', name: 'split', type: 'address' },
{ internalType: 'contract ERC20', name: 'token', type: 'address' },
{ internalType: 'address[]', name: 'accounts', type: 'address[]' },
{
internalType: 'uint32[]',
name: 'percentAllocations',
type: 'uint32[]',
},
{ internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
{ internalType: 'address', name: 'distributorAddress', type: 'address' },
],
name: 'distributeERC20',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{ internalType: 'address', name: 'split', type: 'address' },
{ internalType: 'address[]', name: 'accounts', type: 'address[]' },
{
internalType: 'uint32[]',
name: 'percentAllocations',
type: 'uint32[]',
},
{ internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
{ internalType: 'address', name: 'distributorAddress', type: 'address' },
],
name: 'distributeETH',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [{ internalType: 'address', name: 'split', type: 'address' }],
name: 'getController',
outputs: [{ internalType: 'address', name: '', type: 'address' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{ internalType: 'address', name: 'account', type: 'address' },
{ internalType: 'contract ERC20', name: 'token', type: 'address' },
],
name: 'getERC20Balance',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
name: 'getETHBalance',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [{ internalType: 'address', name: 'split', type: 'address' }],
name: 'getHash',
outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [{ internalType: 'address', name: 'split', type: 'address' }],
name: 'getNewPotentialController',
outputs: [{ internalType: 'address', name: '', type: 'address' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [{ internalType: 'address', name: 'split', type: 'address' }],
name: 'makeSplitImmutable',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{ internalType: 'address[]', name: 'accounts', type: 'address[]' },
{
internalType: 'uint32[]',
name: 'percentAllocations',
type: 'uint32[]',
},
{ internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
],
name: 'predictImmutableSplitAddress',
outputs: [{ internalType: 'address', name: 'split', type: 'address' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{ internalType: 'address', name: 'split', type: 'address' },
{ internalType: 'address', name: 'newController', type: 'address' },
],
name: 'transferControl',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{ internalType: 'address', name: 'split', type: 'address' },
{ internalType: 'contract ERC20', name: 'token', type: 'address' },
{ internalType: 'address[]', name: 'accounts', type: 'address[]' },
{
internalType: 'uint32[]',
name: 'percentAllocations',
type: 'uint32[]',
},
{ internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
{ internalType: 'address', name: 'distributorAddress', type: 'address' },
],
name: 'updateAndDistributeERC20',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{ internalType: 'address', name: 'split', type: 'address' },
{ internalType: 'address[]', name: 'accounts', type: 'address[]' },
{
internalType: 'uint32[]',
name: 'percentAllocations',
type: 'uint32[]',
},
{ internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
{ internalType: 'address', name: 'distributorAddress', type: 'address' },
],
name: 'updateAndDistributeETH',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{ internalType: 'address', name: 'split', type: 'address' },
{ internalType: 'address[]', name: 'accounts', type: 'address[]' },
{
internalType: 'uint32[]',
name: 'percentAllocations',
type: 'uint32[]',
},
{ internalType: 'uint32', name: 'distributorFee', type: 'uint32' },
],
name: 'updateSplit',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [],
name: 'walletImplementation',
outputs: [{ internalType: 'address', name: '', type: 'address' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{ internalType: 'address', name: 'account', type: 'address' },
{ internalType: 'uint256', name: 'withdrawETH', type: 'uint256' },
{ internalType: 'contract ERC20[]', name: 'tokens', type: 'address[]' },
],
name: 'withdraw',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
] as const