Skip to content
docs

SwapProtocol

Defined in: protocols/swap.ts:52

Base class for swap-only modules.

TConfig extends SwapProtocolConfig = SwapProtocolConfig

new SwapProtocol<TConfig>(account, config?): SwapProtocol<TConfig>

Defined in: protocols/swap.ts:56

IWalletAccountReadOnly | IWalletAccount

TConfig = ...

SwapProtocol<TConfig>

ProtocolBase.constructor

protected readonly _account: IWalletAccountReadOnly | IWalletAccount

Defined in: protocols/base.ts:8

ProtocolBase._account


protected readonly _config: TConfig

Defined in: protocols/base.ts:9

ProtocolBase._config

describeActivity(_tx, _ctx): ActivityItem | null

Defined in: protocols/base.ts:24

Recognize one of this protocol’s own transactions in an address’s history and describe it for the wallet’s activity feed (“Supplied 100 USDC · Aave v3”). Return null when the transaction is not this protocol’s: the kit then asks the next module and finally falls back to send / receive / approve / contract call. Must be pure and synchronous: no network, no account state. The conformance suite feeds every module its recorded fixtures through this method.

ChainTx

DescribeActivityContext

ActivityItem | null

ProtocolBase.describeActivity


quoteSwap(_options): Promise<SwapQuote>

Defined in: protocols/swap.ts:60

Price a same-chain swap; nothing is signed.

SwapOptions

Promise<SwapQuote>

ISwapProtocol.quoteSwap


protected requireSigningAccount(methodName): IWalletAccount

Defined in: protocols/base.ts:29

The account, narrowed to a signing one, or a ReadOnlyAccountError naming the caller.

string

IWalletAccount

ProtocolBase.requireSigningAccount


swap(_options): Promise<SwapResult>

Defined in: protocols/swap.ts:59

Sign and broadcast a same-chain swap.

SwapOptions

Promise<SwapResult>

ISwapProtocol.swap