Skip to content
docs

ProtocolBase

Defined in: protocols/base.ts:7

Shared plumbing for protocol base classes: holds the account and config, guards writes.

TConfig extends object = Record<string, never>

new ProtocolBase<TConfig>(account, config): ProtocolBase<TConfig>

Defined in: protocols/base.ts:11

IWalletAccountReadOnly | IWalletAccount

TConfig

ProtocolBase<TConfig>

protected readonly _account: IWalletAccountReadOnly | IWalletAccount

Defined in: protocols/base.ts:8


protected readonly _config: TConfig

Defined in: protocols/base.ts:9

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


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