@soma-finance/core-contracts
Version:
SOMA Finance core contracts
918 lines • 71 kB
TypeScript
import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
import type { Listener, Provider } from "@ethersproject/providers";
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "../common";
export declare namespace AttoDecimal {
type InstanceStruct = {
mantissa: PromiseOrValue<BigNumberish>;
};
type InstanceStructOutput = [BigNumber] & {
mantissa: BigNumber;
};
}
export declare namespace SomaStarter {
type PropsStruct = {
issuanceLimit: PromiseOrValue<BigNumberish>;
startsAt: PromiseOrValue<BigNumberish>;
endsAt: PromiseOrValue<BigNumberish>;
paymentToken: PromiseOrValue<string>;
issuanceToken: PromiseOrValue<string>;
fee: AttoDecimal.InstanceStruct;
rate: AttoDecimal.InstanceStruct;
};
type PropsStructOutput = [
BigNumber,
BigNumber,
BigNumber,
string,
string,
AttoDecimal.InstanceStructOutput,
AttoDecimal.InstanceStructOutput
] & {
issuanceLimit: BigNumber;
startsAt: BigNumber;
endsAt: BigNumber;
paymentToken: string;
issuanceToken: string;
fee: AttoDecimal.InstanceStructOutput;
rate: AttoDecimal.InstanceStructOutput;
};
type IntervalStruct = {
startsAt: PromiseOrValue<BigNumberish>;
unlockingPart: AttoDecimal.InstanceStruct;
};
type IntervalStructOutput = [
BigNumber,
AttoDecimal.InstanceStructOutput
] & {
startsAt: BigNumber;
unlockingPart: AttoDecimal.InstanceStructOutput;
};
type AccountStateStruct = {
limitIndex: PromiseOrValue<BigNumberish>;
paymentSum: PromiseOrValue<BigNumberish>;
};
type AccountStateStructOutput = [BigNumber, BigNumber] & {
limitIndex: BigNumber;
paymentSum: BigNumber;
};
type ComplexAccountStateStruct = {
issuanceAmount: PromiseOrValue<BigNumberish>;
withdrawnIssuanceAmount: PromiseOrValue<BigNumberish>;
};
type ComplexAccountStateStructOutput = [BigNumber, BigNumber] & {
issuanceAmount: BigNumber;
withdrawnIssuanceAmount: BigNumber;
};
type LinearPropsStruct = {
endsAt: PromiseOrValue<BigNumberish>;
duration: PromiseOrValue<BigNumberish>;
};
type LinearPropsStructOutput = [BigNumber, BigNumber] & {
endsAt: BigNumber;
duration: BigNumber;
};
type StateStruct = {
available: PromiseOrValue<BigNumberish>;
issuance: PromiseOrValue<BigNumberish>;
lockedPayments: PromiseOrValue<BigNumberish>;
unlockedPayments: PromiseOrValue<BigNumberish>;
nominatedOwner: PromiseOrValue<string>;
owner: PromiseOrValue<string>;
paymentLimits: PromiseOrValue<BigNumberish>[];
requiredPrivileges: PromiseOrValue<BytesLike>;
};
type StateStructOutput = [
BigNumber,
BigNumber,
BigNumber,
BigNumber,
string,
string,
BigNumber[],
string
] & {
available: BigNumber;
issuance: BigNumber;
lockedPayments: BigNumber;
unlockedPayments: BigNumber;
nominatedOwner: string;
owner: string;
paymentLimits: BigNumber[];
requiredPrivileges: string;
};
}
export interface SomaStarterInterface extends utils.Interface {
functions: {
"GLOBAL_ADMIN_ROLE()": FunctionFragment;
"GLOBAL_WHITELIST_ROLE()": FunctionFragment;
"LOCAL_ADMIN_ROLE()": FunctionFragment;
"LOCAL_WHITELIST_ROLE()": FunctionFragment;
"SOMA()": FunctionFragment;
"TOKEN_RECOVERY_ROLE()": FunctionFragment;
"acceptPoolOwnership(uint256)": FunctionFragment;
"changeLimit(uint256,uint256,uint256)": FunctionFragment;
"collectFee(uint256)": FunctionFragment;
"collectedFees(address)": FunctionFragment;
"createIntervalPool((uint256,uint256,uint256,address,address,(uint256),(uint256)),uint256,bytes32,address,(uint256),(uint256,(uint256))[])": FunctionFragment;
"createLinearPool((uint256,uint256,uint256,address,address,(uint256),(uint256)),uint256,bytes32,address,(uint256),uint256)": FunctionFragment;
"createPaymentLimit(uint256,uint256)": FunctionFragment;
"createSimplePool((uint256,uint256,uint256,address,address,(uint256),(uint256)),uint256,bytes32,address)": FunctionFragment;
"getRoleAdmin(bytes32)": FunctionFragment;
"hasRole(bytes32,address)": FunctionFragment;
"increaseIssuance(uint256,uint256)": FunctionFragment;
"initialize()": FunctionFragment;
"intervalPoolAccount(uint256,address)": FunctionFragment;
"intervalPoolProps(uint256)": FunctionFragment;
"linearPoolAccount(uint256,address)": FunctionFragment;
"linearPoolProps(uint256)": FunctionFragment;
"multicall(bytes[])": FunctionFragment;
"nominateNewPoolOwner(uint256,address)": FunctionFragment;
"pause()": FunctionFragment;
"paused()": FunctionFragment;
"poolAccount(uint256,address)": FunctionFragment;
"poolProps(uint256)": FunctionFragment;
"poolState(uint256)": FunctionFragment;
"poolsCount()": FunctionFragment;
"recoverTokens(address,address,uint256)": FunctionFragment;
"setAccountsLimit(uint256,uint256,address[])": FunctionFragment;
"supportsInterface(bytes4)": FunctionFragment;
"swap(uint256,uint256)": FunctionFragment;
"unlockInterval(uint256,uint256)": FunctionFragment;
"unlockLinear(uint256)": FunctionFragment;
"unpause()": FunctionFragment;
"updateRequiredPrivileges(uint256,bytes32)": FunctionFragment;
"withdrawFee(address,address)": FunctionFragment;
"withdrawPayments(uint256)": FunctionFragment;
"withdrawUnsold(uint256)": FunctionFragment;
};
getFunction(nameOrSignatureOrTopic: "GLOBAL_ADMIN_ROLE" | "GLOBAL_WHITELIST_ROLE" | "LOCAL_ADMIN_ROLE" | "LOCAL_WHITELIST_ROLE" | "SOMA" | "TOKEN_RECOVERY_ROLE" | "acceptPoolOwnership" | "changeLimit" | "collectFee" | "collectedFees" | "createIntervalPool" | "createLinearPool" | "createPaymentLimit" | "createSimplePool" | "getRoleAdmin" | "hasRole" | "increaseIssuance" | "initialize" | "intervalPoolAccount" | "intervalPoolProps" | "linearPoolAccount" | "linearPoolProps" | "multicall" | "nominateNewPoolOwner" | "pause" | "paused" | "poolAccount" | "poolProps" | "poolState" | "poolsCount" | "recoverTokens" | "setAccountsLimit" | "supportsInterface" | "swap" | "unlockInterval" | "unlockLinear" | "unpause" | "updateRequiredPrivileges" | "withdrawFee" | "withdrawPayments" | "withdrawUnsold"): FunctionFragment;
encodeFunctionData(functionFragment: "GLOBAL_ADMIN_ROLE", values?: undefined): string;
encodeFunctionData(functionFragment: "GLOBAL_WHITELIST_ROLE", values?: undefined): string;
encodeFunctionData(functionFragment: "LOCAL_ADMIN_ROLE", values?: undefined): string;
encodeFunctionData(functionFragment: "LOCAL_WHITELIST_ROLE", values?: undefined): string;
encodeFunctionData(functionFragment: "SOMA", values?: undefined): string;
encodeFunctionData(functionFragment: "TOKEN_RECOVERY_ROLE", values?: undefined): string;
encodeFunctionData(functionFragment: "acceptPoolOwnership", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "changeLimit", values: [
PromiseOrValue<BigNumberish>,
PromiseOrValue<BigNumberish>,
PromiseOrValue<BigNumberish>
]): string;
encodeFunctionData(functionFragment: "collectFee", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "collectedFees", values: [PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "createIntervalPool", values: [
SomaStarter.PropsStruct,
PromiseOrValue<BigNumberish>,
PromiseOrValue<BytesLike>,
PromiseOrValue<string>,
AttoDecimal.InstanceStruct,
SomaStarter.IntervalStruct[]
]): string;
encodeFunctionData(functionFragment: "createLinearPool", values: [
SomaStarter.PropsStruct,
PromiseOrValue<BigNumberish>,
PromiseOrValue<BytesLike>,
PromiseOrValue<string>,
AttoDecimal.InstanceStruct,
PromiseOrValue<BigNumberish>
]): string;
encodeFunctionData(functionFragment: "createPaymentLimit", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "createSimplePool", values: [
SomaStarter.PropsStruct,
PromiseOrValue<BigNumberish>,
PromiseOrValue<BytesLike>,
PromiseOrValue<string>
]): string;
encodeFunctionData(functionFragment: "getRoleAdmin", values: [PromiseOrValue<BytesLike>]): string;
encodeFunctionData(functionFragment: "hasRole", values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "increaseIssuance", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "initialize", values?: undefined): string;
encodeFunctionData(functionFragment: "intervalPoolAccount", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "intervalPoolProps", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "linearPoolAccount", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "linearPoolProps", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "multicall", values: [PromiseOrValue<BytesLike>[]]): string;
encodeFunctionData(functionFragment: "nominateNewPoolOwner", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "pause", values?: undefined): string;
encodeFunctionData(functionFragment: "paused", values?: undefined): string;
encodeFunctionData(functionFragment: "poolAccount", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "poolProps", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "poolState", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "poolsCount", values?: undefined): string;
encodeFunctionData(functionFragment: "recoverTokens", values: [
PromiseOrValue<string>,
PromiseOrValue<string>,
PromiseOrValue<BigNumberish>
]): string;
encodeFunctionData(functionFragment: "setAccountsLimit", values: [
PromiseOrValue<BigNumberish>,
PromiseOrValue<BigNumberish>,
PromiseOrValue<string>[]
]): string;
encodeFunctionData(functionFragment: "supportsInterface", values: [PromiseOrValue<BytesLike>]): string;
encodeFunctionData(functionFragment: "swap", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "unlockInterval", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "unlockLinear", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "unpause", values?: undefined): string;
encodeFunctionData(functionFragment: "updateRequiredPrivileges", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BytesLike>]): string;
encodeFunctionData(functionFragment: "withdrawFee", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "withdrawPayments", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "withdrawUnsold", values: [PromiseOrValue<BigNumberish>]): string;
decodeFunctionResult(functionFragment: "GLOBAL_ADMIN_ROLE", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "GLOBAL_WHITELIST_ROLE", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "LOCAL_ADMIN_ROLE", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "LOCAL_WHITELIST_ROLE", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "SOMA", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "TOKEN_RECOVERY_ROLE", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "acceptPoolOwnership", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "changeLimit", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "collectFee", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "collectedFees", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "createIntervalPool", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "createLinearPool", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "createPaymentLimit", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "createSimplePool", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getRoleAdmin", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "increaseIssuance", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "intervalPoolAccount", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "intervalPoolProps", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "linearPoolAccount", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "linearPoolProps", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "nominateNewPoolOwner", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "pause", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "poolAccount", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "poolProps", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "poolState", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "poolsCount", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "recoverTokens", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "setAccountsLimit", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "swap", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "unlockInterval", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "unlockLinear", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "unpause", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "updateRequiredPrivileges", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "withdrawFee", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "withdrawPayments", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "withdrawUnsold", data: BytesLike): Result;
events: {
"AccountLimitChanged(uint256,address,uint256)": EventFragment;
"FeeWithdrawn(address,uint256)": EventFragment;
"ImmediatelyUnlockingPartUpdated(uint256,uint256)": EventFragment;
"Initialized(uint8)": EventFragment;
"IntervalCreated(uint256,uint256,uint256)": EventFragment;
"IntervalPoolUnlocking(uint256,address,uint256)": EventFragment;
"IssuanceIncreased(uint256,uint256)": EventFragment;
"LinearPoolUnlocking(uint256,address,uint256)": EventFragment;
"LinearUnlockingEndingTimestampUpdated(uint256,uint256)": EventFragment;
"Paused(address)": EventFragment;
"PaymentLimitChanged(uint256,uint256,uint256)": EventFragment;
"PaymentLimitCreated(uint256,uint256,uint256)": EventFragment;
"PaymentUnlocked(uint256,uint256,uint256)": EventFragment;
"PaymentsWithdrawn(uint256,uint256)": EventFragment;
"PoolCreated(uint8,address,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256)": EventFragment;
"PoolOwnerChanged(uint256,address)": EventFragment;
"PoolOwnerNominated(uint256,address)": EventFragment;
"PoolPrivilegesChanged(uint256,bytes32)": EventFragment;
"Swap(uint256,address,uint256,uint256,uint256)": EventFragment;
"TokensRecovered(address,address,uint256,address)": EventFragment;
"Unpaused(address)": EventFragment;
"UnsoldWithdrawn(uint256,uint256)": EventFragment;
};
getEvent(nameOrSignatureOrTopic: "AccountLimitChanged"): EventFragment;
getEvent(nameOrSignatureOrTopic: "FeeWithdrawn"): EventFragment;
getEvent(nameOrSignatureOrTopic: "ImmediatelyUnlockingPartUpdated"): EventFragment;
getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment;
getEvent(nameOrSignatureOrTopic: "IntervalCreated"): EventFragment;
getEvent(nameOrSignatureOrTopic: "IntervalPoolUnlocking"): EventFragment;
getEvent(nameOrSignatureOrTopic: "IssuanceIncreased"): EventFragment;
getEvent(nameOrSignatureOrTopic: "LinearPoolUnlocking"): EventFragment;
getEvent(nameOrSignatureOrTopic: "LinearUnlockingEndingTimestampUpdated"): EventFragment;
getEvent(nameOrSignatureOrTopic: "Paused"): EventFragment;
getEvent(nameOrSignatureOrTopic: "PaymentLimitChanged"): EventFragment;
getEvent(nameOrSignatureOrTopic: "PaymentLimitCreated"): EventFragment;
getEvent(nameOrSignatureOrTopic: "PaymentUnlocked"): EventFragment;
getEvent(nameOrSignatureOrTopic: "PaymentsWithdrawn"): EventFragment;
getEvent(nameOrSignatureOrTopic: "PoolCreated"): EventFragment;
getEvent(nameOrSignatureOrTopic: "PoolOwnerChanged"): EventFragment;
getEvent(nameOrSignatureOrTopic: "PoolOwnerNominated"): EventFragment;
getEvent(nameOrSignatureOrTopic: "PoolPrivilegesChanged"): EventFragment;
getEvent(nameOrSignatureOrTopic: "Swap"): EventFragment;
getEvent(nameOrSignatureOrTopic: "TokensRecovered"): EventFragment;
getEvent(nameOrSignatureOrTopic: "Unpaused"): EventFragment;
getEvent(nameOrSignatureOrTopic: "UnsoldWithdrawn"): EventFragment;
}
export interface AccountLimitChangedEventObject {
poolIndex: BigNumber;
address_: string;
limitIndex: BigNumber;
}
export declare type AccountLimitChangedEvent = TypedEvent<[
BigNumber,
string,
BigNumber
], AccountLimitChangedEventObject>;
export declare type AccountLimitChangedEventFilter = TypedEventFilter<AccountLimitChangedEvent>;
export interface FeeWithdrawnEventObject {
token: string;
amount: BigNumber;
}
export declare type FeeWithdrawnEvent = TypedEvent<[
string,
BigNumber
], FeeWithdrawnEventObject>;
export declare type FeeWithdrawnEventFilter = TypedEventFilter<FeeWithdrawnEvent>;
export interface ImmediatelyUnlockingPartUpdatedEventObject {
poolIndex: BigNumber;
mantissa: BigNumber;
}
export declare type ImmediatelyUnlockingPartUpdatedEvent = TypedEvent<[
BigNumber,
BigNumber
], ImmediatelyUnlockingPartUpdatedEventObject>;
export declare type ImmediatelyUnlockingPartUpdatedEventFilter = TypedEventFilter<ImmediatelyUnlockingPartUpdatedEvent>;
export interface InitializedEventObject {
version: number;
}
export declare type InitializedEvent = TypedEvent<[number], InitializedEventObject>;
export declare type InitializedEventFilter = TypedEventFilter<InitializedEvent>;
export interface IntervalCreatedEventObject {
poolIndex: BigNumber;
startsAt: BigNumber;
unlockingPart: BigNumber;
}
export declare type IntervalCreatedEvent = TypedEvent<[
BigNumber,
BigNumber,
BigNumber
], IntervalCreatedEventObject>;
export declare type IntervalCreatedEventFilter = TypedEventFilter<IntervalCreatedEvent>;
export interface IntervalPoolUnlockingEventObject {
poolIndex: BigNumber;
account: string;
amount: BigNumber;
}
export declare type IntervalPoolUnlockingEvent = TypedEvent<[
BigNumber,
string,
BigNumber
], IntervalPoolUnlockingEventObject>;
export declare type IntervalPoolUnlockingEventFilter = TypedEventFilter<IntervalPoolUnlockingEvent>;
export interface IssuanceIncreasedEventObject {
poolIndex: BigNumber;
amount: BigNumber;
}
export declare type IssuanceIncreasedEvent = TypedEvent<[
BigNumber,
BigNumber
], IssuanceIncreasedEventObject>;
export declare type IssuanceIncreasedEventFilter = TypedEventFilter<IssuanceIncreasedEvent>;
export interface LinearPoolUnlockingEventObject {
poolIndex: BigNumber;
account: string;
amount: BigNumber;
}
export declare type LinearPoolUnlockingEvent = TypedEvent<[
BigNumber,
string,
BigNumber
], LinearPoolUnlockingEventObject>;
export declare type LinearPoolUnlockingEventFilter = TypedEventFilter<LinearPoolUnlockingEvent>;
export interface LinearUnlockingEndingTimestampUpdatedEventObject {
poolIndex: BigNumber;
timestamp: BigNumber;
}
export declare type LinearUnlockingEndingTimestampUpdatedEvent = TypedEvent<[
BigNumber,
BigNumber
], LinearUnlockingEndingTimestampUpdatedEventObject>;
export declare type LinearUnlockingEndingTimestampUpdatedEventFilter = TypedEventFilter<LinearUnlockingEndingTimestampUpdatedEvent>;
export interface PausedEventObject {
account: string;
}
export declare type PausedEvent = TypedEvent<[string], PausedEventObject>;
export declare type PausedEventFilter = TypedEventFilter<PausedEvent>;
export interface PaymentLimitChangedEventObject {
poolIndex: BigNumber;
limitIndex: BigNumber;
newLimit: BigNumber;
}
export declare type PaymentLimitChangedEvent = TypedEvent<[
BigNumber,
BigNumber,
BigNumber
], PaymentLimitChangedEventObject>;
export declare type PaymentLimitChangedEventFilter = TypedEventFilter<PaymentLimitChangedEvent>;
export interface PaymentLimitCreatedEventObject {
poolIndex: BigNumber;
limitIndex: BigNumber;
limit: BigNumber;
}
export declare type PaymentLimitCreatedEvent = TypedEvent<[
BigNumber,
BigNumber,
BigNumber
], PaymentLimitCreatedEventObject>;
export declare type PaymentLimitCreatedEventFilter = TypedEventFilter<PaymentLimitCreatedEvent>;
export interface PaymentUnlockedEventObject {
poolIndex: BigNumber;
unlockedAmount: BigNumber;
collectedFee: BigNumber;
}
export declare type PaymentUnlockedEvent = TypedEvent<[
BigNumber,
BigNumber,
BigNumber
], PaymentUnlockedEventObject>;
export declare type PaymentUnlockedEventFilter = TypedEventFilter<PaymentUnlockedEvent>;
export interface PaymentsWithdrawnEventObject {
poolIndex: BigNumber;
amount: BigNumber;
}
export declare type PaymentsWithdrawnEvent = TypedEvent<[
BigNumber,
BigNumber
], PaymentsWithdrawnEventObject>;
export declare type PaymentsWithdrawnEventFilter = TypedEventFilter<PaymentsWithdrawnEvent>;
export interface PoolCreatedEventObject {
type_: number;
paymentToken: string;
issuanceToken: string;
poolIndex: BigNumber;
issuanceLimit: BigNumber;
startsAt: BigNumber;
endsAt: BigNumber;
fee: BigNumber;
rate: BigNumber;
paymentLimit: BigNumber;
}
export declare type PoolCreatedEvent = TypedEvent<[
number,
string,
string,
BigNumber,
BigNumber,
BigNumber,
BigNumber,
BigNumber,
BigNumber,
BigNumber
], PoolCreatedEventObject>;
export declare type PoolCreatedEventFilter = TypedEventFilter<PoolCreatedEvent>;
export interface PoolOwnerChangedEventObject {
poolIndex: BigNumber;
newOwner: string;
}
export declare type PoolOwnerChangedEvent = TypedEvent<[
BigNumber,
string
], PoolOwnerChangedEventObject>;
export declare type PoolOwnerChangedEventFilter = TypedEventFilter<PoolOwnerChangedEvent>;
export interface PoolOwnerNominatedEventObject {
poolIndex: BigNumber;
nominatedOwner: string;
}
export declare type PoolOwnerNominatedEvent = TypedEvent<[
BigNumber,
string
], PoolOwnerNominatedEventObject>;
export declare type PoolOwnerNominatedEventFilter = TypedEventFilter<PoolOwnerNominatedEvent>;
export interface PoolPrivilegesChangedEventObject {
poolIndex: BigNumber;
newRequiredPrivileges: string;
}
export declare type PoolPrivilegesChangedEvent = TypedEvent<[
BigNumber,
string
], PoolPrivilegesChangedEventObject>;
export declare type PoolPrivilegesChangedEventFilter = TypedEventFilter<PoolPrivilegesChangedEvent>;
export interface SwapEventObject {
poolIndex: BigNumber;
caller: string;
requestedPaymentAmount: BigNumber;
paymentAmount: BigNumber;
issuanceAmount: BigNumber;
}
export declare type SwapEvent = TypedEvent<[
BigNumber,
string,
BigNumber,
BigNumber,
BigNumber
], SwapEventObject>;
export declare type SwapEventFilter = TypedEventFilter<SwapEvent>;
export interface TokensRecoveredEventObject {
token: string;
to: string;
amount: BigNumber;
sender: string;
}
export declare type TokensRecoveredEvent = TypedEvent<[
string,
string,
BigNumber,
string
], TokensRecoveredEventObject>;
export declare type TokensRecoveredEventFilter = TypedEventFilter<TokensRecoveredEvent>;
export interface UnpausedEventObject {
account: string;
}
export declare type UnpausedEvent = TypedEvent<[string], UnpausedEventObject>;
export declare type UnpausedEventFilter = TypedEventFilter<UnpausedEvent>;
export interface UnsoldWithdrawnEventObject {
poolIndex: BigNumber;
amount: BigNumber;
}
export declare type UnsoldWithdrawnEvent = TypedEvent<[
BigNumber,
BigNumber
], UnsoldWithdrawnEventObject>;
export declare type UnsoldWithdrawnEventFilter = TypedEventFilter<UnsoldWithdrawnEvent>;
export interface SomaStarter extends BaseContract {
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
deployed(): Promise<this>;
interface: SomaStarterInterface;
queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
listeners(eventName?: string): Array<Listener>;
removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
removeAllListeners(eventName?: string): this;
off: OnEvent<this>;
on: OnEvent<this>;
once: OnEvent<this>;
removeListener: OnEvent<this>;
functions: {
GLOBAL_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>;
GLOBAL_WHITELIST_ROLE(overrides?: CallOverrides): Promise<[string]>;
LOCAL_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>;
LOCAL_WHITELIST_ROLE(overrides?: CallOverrides): Promise<[string]>;
SOMA(overrides?: CallOverrides): Promise<[string]>;
TOKEN_RECOVERY_ROLE(overrides?: CallOverrides): Promise<[string]>;
acceptPoolOwnership(poolIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
changeLimit(poolIndex: PromiseOrValue<BigNumberish>, limitIndex: PromiseOrValue<BigNumberish>, newLimit: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
collectFee(poolIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
collectedFees(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
createIntervalPool(props: SomaStarter.PropsStruct, paymentLimit: PromiseOrValue<BigNumberish>, requiredPrivileges: PromiseOrValue<BytesLike>, owner_: PromiseOrValue<string>, immediatelyUnlockingPart: AttoDecimal.InstanceStruct, intervals: SomaStarter.IntervalStruct[], overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
createLinearPool(props: SomaStarter.PropsStruct, paymentLimit: PromiseOrValue<BigNumberish>, requiredPrivileges: PromiseOrValue<BytesLike>, owner_: PromiseOrValue<string>, immediatelyUnlockingPart: AttoDecimal.InstanceStruct, linearUnlockingEndsAt: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
createPaymentLimit(poolIndex: PromiseOrValue<BigNumberish>, limit: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
createSimplePool(props: SomaStarter.PropsStruct, paymentLimit: PromiseOrValue<BigNumberish>, requiredPrivileges: PromiseOrValue<BytesLike>, owner_: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string]>;
hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
increaseIssuance(poolIndex: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
initialize(overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
intervalPoolAccount(poolIndex: PromiseOrValue<BigNumberish>, address_: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
SomaStarter.AccountStateStructOutput,
SomaStarter.ComplexAccountStateStructOutput,
BigNumber
] & {
state: SomaStarter.AccountStateStructOutput;
complex: SomaStarter.ComplexAccountStateStructOutput;
unlockedIntervalsCount: BigNumber;
}>;
intervalPoolProps(poolIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
SomaStarter.PropsStructOutput,
AttoDecimal.InstanceStructOutput,
SomaStarter.IntervalStructOutput[]
] & {
props: SomaStarter.PropsStructOutput;
immediatelyUnlockingPart: AttoDecimal.InstanceStructOutput;
intervals: SomaStarter.IntervalStructOutput[];
}>;
linearPoolAccount(poolIndex: PromiseOrValue<BigNumberish>, address_: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
SomaStarter.AccountStateStructOutput,
SomaStarter.ComplexAccountStateStructOutput,
BigNumber
] & {
state: SomaStarter.AccountStateStructOutput;
complex: SomaStarter.ComplexAccountStateStructOutput;
immediatelyUnlockedAmount: BigNumber;
}>;
linearPoolProps(poolIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
SomaStarter.PropsStructOutput,
AttoDecimal.InstanceStructOutput,
SomaStarter.LinearPropsStructOutput
] & {
props: SomaStarter.PropsStructOutput;
immediatelyUnlockingPart: AttoDecimal.InstanceStructOutput;
linear: SomaStarter.LinearPropsStructOutput;
}>;
multicall(data: PromiseOrValue<BytesLike>[], overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
nominateNewPoolOwner(poolIndex: PromiseOrValue<BigNumberish>, nominatedOwner_: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
pause(overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
paused(overrides?: CallOverrides): Promise<[boolean]>;
poolAccount(poolIndex: PromiseOrValue<BigNumberish>, address_: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
number,
SomaStarter.AccountStateStructOutput
] & {
type_: number;
state: SomaStarter.AccountStateStructOutput;
}>;
poolProps(poolIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
number,
SomaStarter.PropsStructOutput
] & {
type_: number;
props: SomaStarter.PropsStructOutput;
}>;
poolState(poolIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
SomaStarter.StateStructOutput
] & {
state: SomaStarter.StateStructOutput;
}>;
poolsCount(overrides?: CallOverrides): Promise<[BigNumber]>;
recoverTokens(token: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
setAccountsLimit(poolIndex: PromiseOrValue<BigNumberish>, limitIndex: PromiseOrValue<BigNumberish>, accounts: PromiseOrValue<string>[], overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[boolean]>;
swap(poolIndex: PromiseOrValue<BigNumberish>, requestedPaymentAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
unlockInterval(poolIndex: PromiseOrValue<BigNumberish>, intervalIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
unlockLinear(poolIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
unpause(overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
updateRequiredPrivileges(poolIndex: PromiseOrValue<BigNumberish>, newRequiredPrivileges: PromiseOrValue<BytesLike>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
withdrawFee(token: PromiseOrValue<string>, to: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
withdrawPayments(poolIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
withdrawUnsold(poolIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
};
GLOBAL_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>;
GLOBAL_WHITELIST_ROLE(overrides?: CallOverrides): Promise<string>;
LOCAL_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>;
LOCAL_WHITELIST_ROLE(overrides?: CallOverrides): Promise<string>;
SOMA(overrides?: CallOverrides): Promise<string>;
TOKEN_RECOVERY_ROLE(overrides?: CallOverrides): Promise<string>;
acceptPoolOwnership(poolIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
changeLimit(poolIndex: PromiseOrValue<BigNumberish>, limitIndex: PromiseOrValue<BigNumberish>, newLimit: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
collectFee(poolIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
collectedFees(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
createIntervalPool(props: SomaStarter.PropsStruct, paymentLimit: PromiseOrValue<BigNumberish>, requiredPrivileges: PromiseOrValue<BytesLike>, owner_: PromiseOrValue<string>, immediatelyUnlockingPart: AttoDecimal.InstanceStruct, intervals: SomaStarter.IntervalStruct[], overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
createLinearPool(props: SomaStarter.PropsStruct, paymentLimit: PromiseOrValue<BigNumberish>, requiredPrivileges: PromiseOrValue<BytesLike>, owner_: PromiseOrValue<string>, immediatelyUnlockingPart: AttoDecimal.InstanceStruct, linearUnlockingEndsAt: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
createPaymentLimit(poolIndex: PromiseOrValue<BigNumberish>, limit: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
createSimplePool(props: SomaStarter.PropsStruct, paymentLimit: PromiseOrValue<BigNumberish>, requiredPrivileges: PromiseOrValue<BytesLike>, owner_: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
increaseIssuance(poolIndex: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
initialize(overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
intervalPoolAccount(poolIndex: PromiseOrValue<BigNumberish>, address_: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
SomaStarter.AccountStateStructOutput,
SomaStarter.ComplexAccountStateStructOutput,
BigNumber
] & {
state: SomaStarter.AccountStateStructOutput;
complex: SomaStarter.ComplexAccountStateStructOutput;
unlockedIntervalsCount: BigNumber;
}>;
intervalPoolProps(poolIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
SomaStarter.PropsStructOutput,
AttoDecimal.InstanceStructOutput,
SomaStarter.IntervalStructOutput[]
] & {
props: SomaStarter.PropsStructOutput;
immediatelyUnlockingPart: AttoDecimal.InstanceStructOutput;
intervals: SomaStarter.IntervalStructOutput[];
}>;
linearPoolAccount(poolIndex: PromiseOrValue<BigNumberish>, address_: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
SomaStarter.AccountStateStructOutput,
SomaStarter.ComplexAccountStateStructOutput,
BigNumber
] & {
state: SomaStarter.AccountStateStructOutput;
complex: SomaStarter.ComplexAccountStateStructOutput;
immediatelyUnlockedAmount: BigNumber;
}>;
linearPoolProps(poolIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
SomaStarter.PropsStructOutput,
AttoDecimal.InstanceStructOutput,
SomaStarter.LinearPropsStructOutput
] & {
props: SomaStarter.PropsStructOutput;
immediatelyUnlockingPart: AttoDecimal.InstanceStructOutput;
linear: SomaStarter.LinearPropsStructOutput;
}>;
multicall(data: PromiseOrValue<BytesLike>[], overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
nominateNewPoolOwner(poolIndex: PromiseOrValue<BigNumberish>, nominatedOwner_: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
pause(overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
paused(overrides?: CallOverrides): Promise<boolean>;
poolAccount(poolIndex: PromiseOrValue<BigNumberish>, address_: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
number,
SomaStarter.AccountStateStructOutput
] & {
type_: number;
state: SomaStarter.AccountStateStructOutput;
}>;
poolProps(poolIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
number,
SomaStarter.PropsStructOutput
] & {
type_: number;
props: SomaStarter.PropsStructOutput;
}>;
poolState(poolIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<SomaStarter.StateStructOutput>;
poolsCount(overrides?: CallOverrides): Promise<BigNumber>;
recoverTokens(token: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
setAccountsLimit(poolIndex: PromiseOrValue<BigNumberish>, limitIndex: PromiseOrValue<BigNumberish>, accounts: PromiseOrValue<string>[], overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
swap(poolIndex: PromiseOrValue<BigNumberish>, requestedPaymentAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
unlockInterval(poolIndex: PromiseOrValue<BigNumberish>, intervalIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
unlockLinear(poolIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
unpause(overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
updateRequiredPrivileges(poolIndex: PromiseOrValue<BigNumberish>, newRequiredPrivileges: PromiseOrValue<BytesLike>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
withdrawFee(token: PromiseOrValue<string>, to: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
withdrawPayments(poolIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
withdrawUnsold(poolIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
callStatic: {
GLOBAL_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>;
GLOBAL_WHITELIST_ROLE(overrides?: CallOverrides): Promise<string>;
LOCAL_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>;
LOCAL_WHITELIST_ROLE(overrides?: CallOverrides): Promise<string>;
SOMA(overrides?: CallOverrides): Promise<string>;
TOKEN_RECOVERY_ROLE(overrides?: CallOverrides): Promise<string>;
acceptPoolOwnership(poolIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
changeLimit(poolIndex: PromiseOrValue<BigNumberish>, limitIndex: PromiseOrValue<BigNumberish>, newLimit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
collectFee(poolIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
collectedFees(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
createIntervalPool(props: SomaStarter.PropsStruct, paymentLimit: PromiseOrValue<BigNumberish>, requiredPrivileges: PromiseOrValue<BytesLike>, owner_: PromiseOrValue<string>, immediatelyUnlockingPart: AttoDecimal.InstanceStruct, intervals: SomaStarter.IntervalStruct[], overrides?: CallOverrides): Promise<[
boolean,
BigNumber
] & {
success: boolean;
poolIndex: BigNumber;
}>;
createLinearPool(props: SomaStarter.PropsStruct, paymentLimit: PromiseOrValue<BigNumberish>, requiredPrivileges: PromiseOrValue<BytesLike>, owner_: PromiseOrValue<string>, immediatelyUnlockingPart: AttoDecimal.InstanceStruct, linearUnlockingEndsAt: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
boolean,
BigNumber
] & {
success: boolean;
poolIndex: BigNumber;
}>;
createPaymentLimit(poolIndex: PromiseOrValue<BigNumberish>, limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
createSimplePool(props: SomaStarter.PropsStruct, paymentLimit: PromiseOrValue<BigNumberish>, requiredPrivileges: PromiseOrValue<BytesLike>, owner_: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
boolean,
BigNumber
] & {
success: boolean;
poolIndex: BigNumber;
}>;
getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
increaseIssuance(poolIndex: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
initialize(overrides?: CallOverrides): Promise<void>;
intervalPoolAccount(poolIndex: PromiseOrValue<BigNumberish>, address_: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
SomaStarter.AccountStateStructOutput,
SomaStarter.ComplexAccountStateStructOutput,
BigNumber
] & {
state: SomaStarter.AccountStateStructOutput;
complex: SomaStarter.ComplexAccountStateStructOutput;
unlockedIntervalsCount: BigNumber;
}>;
intervalPoolProps(poolIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
SomaStarter.PropsStructOutput,
AttoDecimal.InstanceStructOutput,
SomaStarter.IntervalStructOutput[]
] & {
props: SomaStarter.PropsStructOutput;
immediatelyUnlockingPart: AttoDecimal.InstanceStructOutput;
intervals: SomaStarter.IntervalStructOutput[];
}>;
linearPoolAccount(poolIndex: PromiseOrValue<BigNumberish>, address_: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
SomaStarter.AccountStateStructOutput,
SomaStarter.ComplexAccountStateStructOutput,
BigNumber
] & {
state: SomaStarter.AccountStateStructOutput;
complex: SomaStarter.ComplexAccountStateStructOutput;
immediatelyUnlockedAmount: BigNumber;
}>;
linearPoolProps(poolIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
SomaStarter.PropsStructOutput,
AttoDecimal.InstanceStructOutput,
SomaStarter.LinearPropsStructOutput
] & {
props: SomaStarter.PropsStructOutput;
immediatelyUnlockingPart: AttoDecimal.InstanceStructOutput;
linear: SomaStarter.LinearPropsStructOutput;
}>;
multicall(data: PromiseOrValue<BytesLike>[], overrides?: CallOverrides): Promise<string[]>;
nominateNewPoolOwner(poolIndex: PromiseOrValue<BigNumberish>, nominatedOwner_: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
pause(overrides?: CallOverrides): Promise<void>;
paused(overrides?: CallOverrides): Promise<boolean>;
poolAccount(poolIndex: PromiseOrValue<BigNumberish>, address_: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
number,
SomaStarter.AccountStateStructOutput
] & {
type_: number;
state: SomaStarter.AccountStateStructOutput;
}>;
poolProps(poolIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
number,
SomaStarter.PropsStructOutput
] & {
type_: number;
props: SomaStarter.PropsStructOutput;
}>;
poolState(poolIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<SomaStarter.StateStructOutput>;
poolsCount(overrides?: CallOverrides): Promise<BigNumber>;
recoverTokens(token: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
setAccountsLimit(poolIndex: PromiseOrValue<BigNumberish>, limitIndex: PromiseOrValue<BigNumberish>, accounts: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<boolean>;
supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
swap(poolIndex: PromiseOrValue<BigNumberish>, requestedPaymentAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
BigNumber,
BigNumber
] & {
paymentAmount: BigNumber;
issuanceAmount: BigNumber;
}>;
unlockInterval(poolIndex: PromiseOrValue<BigNumberish>, intervalIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
unlockLi