Skip to content
docs

ProtocolSuiteOptions

Defined in: protocol-suite.ts:21

P

optional account?: () => IWalletAccount

Defined in: protocol-suite.ts:36

Account factory for reads; default: the recording mock. Use a fixture-backed one for real quote checks.

IWalletAccount


optional activity?: object

Defined in: protocol-suite.ts:49

Recorded transactions the module must recognize through describeActivity (and ones it must refuse). Required for every module in the registry: a wallet built on the SDK shows these as “Supplied USDC · Aave v3” instead of “Contract call”. Load them from fixtures/activity/*.json.

fixtures: ActivityFixtureJson[]

optional negatives?: ActivityFixtureJson[]


optional config?: unknown

Defined in: protocol-suite.ts:43

Constructor config, when the module requires one (e.g. swap2 engines need fromChain).


optional mustResolve?: string[]

Defined in: protocol-suite.ts:41

Reads and quotes that must RESOLVE with their sample on account — an error fails the suite. Every other read is lenient (fixtures may be absent): it may throw, but it may never sign or send.


optional notImplemented?: string[]

Defined in: protocol-suite.ts:27

Methods this module intentionally leaves unimplemented (must throw NotImplementedError).


Protocol: ProtocolCtor<P>

Defined in: protocol-suite.ts:23


optional samples?: Partial<Record<string, unknown[]>>

Defined in: protocol-suite.ts:25

Sample arguments per method, used to call quote*/reads and check they never send. Methods without a sample are only checked for presence.


type: ProtocolType

Defined in: protocol-suite.ts:22


optional unsupported?: string[]

Defined in: protocol-suite.ts:34

Methods the protocol itself has no use for (e.g. a staking protocol whose payouts settle automatically has nothing to claim). They must still exist and throw a clear Error on every account; they are excluded from the read-only check. Prefer notImplemented when the operation exists in the protocol but the module has not built it yet.