ulysses-actions-sdk
Version:
An sdk for interacting with contracts using Ulysses Protocol
41 lines (40 loc) • 1.64 kB
TypeScript
import { SupportedChainId } from 'maia-core-sdk';
import { GasParams, ITokenOutputParams, ITokenParams } from 'ulysses-sdk';
import { IAction, IActionResult } from '../action';
export interface IContextParameters {
chainId: SupportedChainId;
useVirtualAccount: boolean;
userAccount?: string;
value?: string;
gasParams?: GasParams;
inputTokens?: ITokenParams;
outputTokens?: ITokenOutputParams;
}
export interface IActionContext<TParams, TResult> {
encodeAction(action: IAction<TParams, TResult>, params: TParams): IActionResult<TResult>;
wrapCalldata(results: IActionResult<TResult>[]): IActionResult<TResult>;
chainId: SupportedChainId;
useVirtualAccount?: boolean;
userAccount?: string;
value?: string;
gasParams?: GasParams;
inputTokens?: ITokenParams;
outputTokens?: ITokenOutputParams;
}
export declare class ContextHandler<TParams, TResult> implements IActionContext<TParams, TResult> {
chainId: SupportedChainId;
useVirtualAccount: boolean;
userAccount?: string | undefined;
value?: string | undefined;
gasParams?: GasParams | undefined;
inputTokens?: ITokenParams | undefined;
outputTokens?: ITokenOutputParams | undefined;
constructor(params: IContextParameters);
encodeAction(action: IAction<any, any>, params: any): IActionResult<any>;
wrapCalldata(results: IActionResult<TResult>[]): IActionResult<TResult>;
private isPayableContext;
private isOutputTokenParams;
private isOutputMultipleTokenParams;
private isSingleDepositParams;
private isMultipleDepositParams;
}