UNPKG

@soma-finance/core-contracts

Version:

SOMA Finance core contracts

1,917 lines 40.9 kB
[ { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "address_", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "limitIndex", "type": "uint256" } ], "name": "AccountLimitChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "FeeWithdrawn", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "mantissa", "type": "uint256" } ], "name": "ImmediatelyUnlockingPartUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "startsAt", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "unlockingPart", "type": "uint256" } ], "name": "IntervalCreated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "IntervalPoolUnlocking", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "IssuanceIncreased", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "LinearPoolUnlocking", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "LinearUnlockingEndingTimestampUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Paused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "limitIndex", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newLimit", "type": "uint256" } ], "name": "PaymentLimitChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "limitIndex", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "limit", "type": "uint256" } ], "name": "PaymentLimitCreated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "unlockedAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "collectedFee", "type": "uint256" } ], "name": "PaymentUnlocked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "PaymentsWithdrawn", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "enum SomaStarter.Type", "name": "type_", "type": "uint8" }, { "indexed": true, "internalType": "contract IERC20", "name": "paymentToken", "type": "address" }, { "indexed": true, "internalType": "contract IERC20", "name": "issuanceToken", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "issuanceLimit", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "startsAt", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "endsAt", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "fee", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "rate", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "paymentLimit", "type": "uint256" } ], "name": "PoolCreated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "PoolOwnerChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "nominatedOwner", "type": "address" } ], "name": "PoolOwnerNominated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "indexed": false, "internalType": "bytes32", "name": "newRequiredPrivileges", "type": "bytes32" } ], "name": "PoolPrivilegesChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "caller", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "requestedPaymentAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "paymentAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "issuanceAmount", "type": "uint256" } ], "name": "Swap", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "token", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "TokensRecovered", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "UnsoldWithdrawn", "type": "event" }, { "inputs": [], "name": "GLOBAL_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "GLOBAL_WHITELIST_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "LOCAL_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "LOCAL_WHITELIST_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "SOMA", "outputs": [ { "internalType": "contract ISOMA", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "TOKEN_RECOVERY_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "poolIndex", "type": "uint256" } ], "name": "acceptPoolOwnership", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "internalType": "uint256", "name": "limitIndex", "type": "uint256" }, { "internalType": "uint256", "name": "newLimit", "type": "uint256" } ], "name": "changeLimit", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "poolIndex", "type": "uint256" } ], "name": "collectFee", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "contract IERC20", "name": "token", "type": "address" } ], "name": "collectedFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint256", "name": "issuanceLimit", "type": "uint256" }, { "internalType": "uint256", "name": "startsAt", "type": "uint256" }, { "internalType": "uint256", "name": "endsAt", "type": "uint256" }, { "internalType": "contract IERC20", "name": "paymentToken", "type": "address" }, { "internalType": "contract IERC20", "name": "issuanceToken", "type": "address" }, { "components": [ { "internalType": "uint256", "name": "mantissa", "type": "uint256" } ], "internalType": "struct AttoDecimal.Instance", "name": "fee", "type": "tuple" }, { "components": [ { "internalType": "uint256", "name": "mantissa", "type": "uint256" } ], "internalType": "struct AttoDecimal.Instance", "name": "rate", "type": "tuple" } ], "internalType": "struct SomaStarter.Props", "name": "props", "type": "tuple" }, { "internalType": "uint256", "name": "paymentLimit", "type": "uint256" }, { "internalType": "bytes32", "name": "requiredPrivileges", "type": "bytes32" }, { "internalType": "address", "name": "owner_", "type": "address" }, { "components": [ { "internalType": "uint256", "name": "mantissa", "type": "uint256" } ], "internalType": "struct AttoDecimal.Instance", "name": "immediatelyUnlockingPart", "type": "tuple" }, { "components": [ { "internalType": "uint256", "name": "startsAt", "type": "uint256" }, { "components": [ { "internalType": "uint256", "name": "mantissa", "type": "uint256" } ], "internalType": "struct AttoDecimal.Instance", "name": "unlockingPart", "type": "tuple" } ], "internalType": "struct SomaStarter.Interval[]", "name": "intervals", "type": "tuple[]" } ], "name": "createIntervalPool", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" }, { "internalType": "uint256", "name": "poolIndex", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint256", "name": "issuanceLimit", "type": "uint256" }, { "internalType": "uint256", "name": "startsAt", "type": "uint256" }, { "internalType": "uint256", "name": "endsAt", "type": "uint256" }, { "internalType": "contract IERC20", "name": "paymentToken", "type": "address" }, { "internalType": "contract IERC20", "name": "issuanceToken", "type": "address" }, { "components": [ { "internalType": "uint256", "name": "mantissa", "type": "uint256" } ], "internalType": "struct AttoDecimal.Instance", "name": "fee", "type": "tuple" }, { "components": [ { "internalType": "uint256", "name": "mantissa", "type": "uint256" } ], "internalType": "struct AttoDecimal.Instance", "name": "rate", "type": "tuple" } ], "internalType": "struct SomaStarter.Props", "name": "props", "type": "tuple" }, { "internalType": "uint256", "name": "paymentLimit", "type": "uint256" }, { "internalType": "bytes32", "name": "requiredPrivileges", "type": "bytes32" }, { "internalType": "address", "name": "owner_", "type": "address" }, { "components": [ { "internalType": "uint256", "name": "mantissa", "type": "uint256" } ], "internalType": "struct AttoDecimal.Instance", "name": "immediatelyUnlockingPart", "type": "tuple" }, { "internalType": "uint256", "name": "linearUnlockingEndsAt", "type": "uint256" } ], "name": "createLinearPool", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" }, { "internalType": "uint256", "name": "poolIndex", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "internalType": "uint256", "name": "limit", "type": "uint256" } ], "name": "createPaymentLimit", "outputs": [ { "internalType": "uint256", "name": "limitIndex", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint256", "name": "issuanceLimit", "type": "uint256" }, { "internalType": "uint256", "name": "startsAt", "type": "uint256" }, { "internalType": "uint256", "name": "endsAt", "type": "uint256" }, { "internalType": "contract IERC20", "name": "paymentToken", "type": "address" }, { "internalType": "contract IERC20", "name": "issuanceToken", "type": "address" }, { "components": [ { "internalType": "uint256", "name": "mantissa", "type": "uint256" } ], "internalType": "struct AttoDecimal.Instance", "name": "fee", "type": "tuple" }, { "components": [ { "internalType": "uint256", "name": "mantissa", "type": "uint256" } ], "internalType": "struct AttoDecimal.Instance", "name": "rate", "type": "tuple" } ], "internalType": "struct SomaStarter.Props", "name": "props", "type": "tuple" }, { "internalType": "uint256", "name": "paymentLimit", "type": "uint256" }, { "internalType": "bytes32", "name": "requiredPrivileges", "type": "bytes32" }, { "internalType": "address", "name": "owner_", "type": "address" } ], "name": "createSimplePool", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" }, { "internalType": "uint256", "name": "poolIndex", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "increaseIssuance", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "internalType": "address", "name": "address_", "type": "address" } ], "name": "intervalPoolAccount", "outputs": [ { "components": [ { "internalType": "uint256", "name": "limitIndex", "type": "uint256" }, { "internalType": "uint256", "name": "paymentSum", "type": "uint256" } ], "internalType": "struct SomaStarter.AccountState", "name": "state", "type": "tuple" }, { "components": [ { "internalType": "uint256", "name": "issuanceAmount", "type": "uint256" }, { "internalType": "uint256", "name": "withdrawnIssuanceAmount", "type": "uint256" } ], "internalType": "struct SomaStarter.ComplexAccountState", "name": "complex", "type": "tuple" }, { "internalType": "uint256", "name": "unlockedIntervalsCount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "poolIndex", "type": "uint256" } ], "name": "intervalPoolProps", "outputs": [ { "components": [ { "internalType": "uint256", "name": "issuanceLimit", "type": "uint256" }, { "internalType": "uint256", "name": "startsAt", "type": "uint256" }, { "internalType": "uint256", "name": "endsAt", "type": "uint256" }, { "internalType": "contract IERC20", "name": "paymentToken", "type": "address" }, { "internalType": "contract IERC20", "name": "issuanceToken", "type": "address" }, { "components": [ { "internalType": "uint256", "name": "mantissa", "type": "uint256" } ], "internalType": "struct AttoDecimal.Instance", "name": "fee", "type": "tuple" }, { "components": [ { "internalType": "uint256", "name": "mantissa", "type": "uint256" } ], "internalType": "struct AttoDecimal.Instance", "name": "rate", "type": "tuple" } ], "internalType": "struct SomaStarter.Props", "name": "props", "type": "tuple" }, { "components": [ { "internalType": "uint256", "name": "mantissa", "type": "uint256" } ], "internalType": "struct AttoDecimal.Instance", "name": "immediatelyUnlockingPart", "type": "tuple" }, { "components": [ { "internalType": "uint256", "name": "startsAt", "type": "uint256" }, { "components": [ { "internalType": "uint256", "name": "mantissa", "type": "uint256" } ], "internalType": "struct AttoDecimal.Instance", "name": "unlockingPart", "type": "tuple" } ], "internalType": "struct SomaStarter.Interval[]", "name": "intervals", "type": "tuple[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "internalType": "address", "name": "address_", "type": "address" } ], "name": "linearPoolAccount", "outputs": [ { "components": [ { "internalType": "uint256", "name": "limitIndex", "type": "uint256" }, { "internalType": "uint256", "name": "paymentSum", "type": "uint256" } ], "internalType": "struct SomaStarter.AccountState", "name": "state", "type": "tuple" }, { "components": [ { "internalType": "uint256", "name": "issuanceAmount", "type": "uint256" }, { "internalType": "uint256", "name": "withdrawnIssuanceAmount", "type": "uint256" } ], "internalType": "struct SomaStarter.ComplexAccountState", "name": "complex", "type": "tuple" }, { "internalType": "uint256", "name": "immediatelyUnlockedAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "poolIndex", "type": "uint256" } ], "name": "linearPoolProps", "outputs": [ { "components": [ { "internalType": "uint256", "name": "issuanceLimit", "type": "uint256" }, { "internalType": "uint256", "name": "startsAt", "type": "uint256" }, { "internalType": "uint256", "name": "endsAt", "type": "uint256" }, { "internalType": "contract IERC20", "name": "paymentToken", "type": "address" }, { "internalType": "contract IERC20", "name": "issuanceToken", "type": "address" }, { "components": [ { "internalType": "uint256", "name": "mantissa", "type": "uint256" } ], "internalType": "struct AttoDecimal.Instance", "name": "fee", "type": "tuple" }, { "components": [ { "internalType": "uint256", "name": "mantissa", "type": "uint256" } ], "internalType": "struct AttoDecimal.Instance", "name": "rate", "type": "tuple" } ], "internalType": "struct SomaStarter.Props", "name": "props", "type": "tuple" }, { "components": [ { "internalType": "uint256", "name": "mantissa", "type": "uint256" } ], "internalType": "struct AttoDecimal.Instance", "name": "immediatelyUnlockingPart", "type": "tuple" }, { "components": [ { "internalType": "uint256", "name": "endsAt", "type": "uint256" }, { "internalType": "uint256", "name": "duration", "type": "uint256" } ], "internalType": "struct SomaStarter.LinearProps", "name": "linear", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes[]", "name": "data", "type": "bytes[]" } ], "name": "multicall", "outputs": [ { "internalType": "bytes[]", "name": "results", "type": "bytes[]" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "internalType": "address", "name": "nominatedOwner_", "type": "address" } ], "name": "nominateNewPoolOwner", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "internalType": "address", "name": "address_", "type": "address" } ], "name": "poolAccount", "outputs": [ { "internalType": "enum SomaStarter.Type", "name": "type_", "type": "uint8" }, { "components": [ { "internalType": "uint256", "name": "limitIndex", "type": "uint256" }, { "internalType": "uint256", "name": "paymentSum", "type": "uint256" } ], "internalType": "struct SomaStarter.AccountState", "name": "state", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "poolIndex", "type": "uint256" } ], "name": "poolProps", "outputs": [ { "internalType": "enum SomaStarter.Type", "name": "type_", "type": "uint8" }, { "components": [ { "internalType": "uint256", "name": "issuanceLimit", "type": "uint256" }, { "internalType": "uint256", "name": "startsAt", "type": "uint256" }, { "internalType": "uint256", "name": "endsAt", "type": "uint256" }, { "internalType": "contract IERC20", "name": "paymentToken", "type": "address" }, { "internalType": "contract IERC20", "name": "issuanceToken", "type": "address" }, { "components": [ { "internalType": "uint256", "name": "mantissa", "type": "uint256" } ], "internalType": "struct AttoDecimal.Instance", "name": "fee", "type": "tuple" }, { "components": [ { "internalType": "uint256", "name": "mantissa", "type": "uint256" } ], "internalType": "struct AttoDecimal.Instance", "name": "rate", "type": "tuple" } ], "internalType": "struct SomaStarter.Props", "name": "props", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "poolIndex", "type": "uint256" } ], "name": "poolState", "outputs": [ { "components": [ { "internalType": "uint256", "name": "available", "type": "uint256" }, { "internalType": "uint256", "name": "issuance", "type": "uint256" }, { "internalType": "uint256", "name": "lockedPayments", "type": "uint256" }, { "internalType": "uint256", "name": "unlockedPayments", "type": "uint256" }, { "internalType": "address", "name": "nominatedOwner", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256[]", "name": "paymentLimits", "type": "uint256[]" }, { "internalType": "bytes32", "name": "requiredPrivileges", "type": "bytes32" } ], "internalType": "struct SomaStarter.State", "name": "state", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "poolsCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "recoverTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "internalType": "uint256", "name": "limitIndex", "type": "uint256" }, { "internalType": "address[]", "name": "accounts", "type": "address[]" } ], "name": "setAccountsLimit", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "internalType": "uint256", "name": "requestedPaymentAmount", "type": "uint256" } ], "name": "swap", "outputs": [ { "internalType": "uint256", "name": "paymentAmount", "type": "uint256" }, { "internalType": "uint256", "name": "issuanceAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "internalType": "uint256", "name": "intervalIndex", "type": "uint256" } ], "name": "unlockInterval", "outputs": [ { "internalType": "uint256", "name": "withdrawnIssuanceAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "poolIndex", "type": "uint256" } ], "name": "unlockLinear", "outputs": [ { "internalType": "uint256", "name": "withdrawalAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "unpause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "poolIndex", "type": "uint256" }, { "internalType": "bytes32", "name": "newRequiredPrivileges", "type": "bytes32" } ], "name": "updateRequiredPrivileges", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "contract IERC20", "name": "token", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" } ], "name": "withdrawFee", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "poolIndex", "type": "uint256" } ], "name": "withdrawPayments", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "poolIndex", "type": "uint256" } ], "name": "withdrawUnsold", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ]