@lelantos-org/sdk / advanced / ChainAdapter
Interface: ChainAdapter
Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:248
A reader that also holds a signing key.
Every member added here either signs as the user's EOA or spends its gas: shielding moves public tokens out of an address that must both custody them and pay for the transaction. Narrow with supportsSigning before using any of them.
Extends
ChainReader.DepositWrites.Permit2Writes.NativeWrites
Properties
isKnownRoot?
optional isKnownRoot?: IsKnownRoot;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:45
Whether the pool would accept a proof against root, from the ring of recent roots it keeps. Authoritative; the commitment mirror approximates it. Optional: without it the mirror decides.
Inherited from
Methods
blockNumber()?
optional blockNumber(): Promise<number>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:51
Current chain tip. Feeds SelectOpts.tipBlock, without which the selector's spend cooldown is inert. The request names no address and no topic. Optional.
Returns
Promise<number>
Inherited from
cancelDelay()?
optional cancelDelay(): Promise<number>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:34
Blocks, in the EVM's block.number, after submittedAt before cancelDeposit is allowed. Optional.
Returns
Promise<number>
Inherited from
cancelDeposit()?
optional cancelDeposit(id, inputs): Promise<CancelDepositReceipt>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:174
MASP.cancelDeposit. The on-chain digest check rejects tampered preimages. Resolves once mined, with the refund split read off DepositCanceled. Optional.
Parameters
| Parameter | Type |
|---|---|
id | bigint |
inputs | CancelDepositInputs |
Returns
Promise<CancelDepositReceipt>
Inherited from
DepositWrites.cancelDepositcancelDepositNative()?
optional cancelDepositNative(id, inputs): Promise<CancelDepositReceipt>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:234
NativeAdapter.cancelNative: the only way to settle an adapter-owned escrow by refund, since the pool would return the coin to the adapter. No payer: the adapter supplies its own. Optional.
Parameters
| Parameter | Type |
|---|---|
id | bigint |
inputs | Omit<CancelDepositInputs, "payer"> |
Returns
Promise<CancelDepositReceipt>
Inherited from
NativeWrites.cancelDepositNativechainId()
chainId(): Promise<bigint>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:7
Returns
Promise<bigint>
Inherited from
fetchAsset()
fetchAsset(id): Promise<AssetEntry>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:20
The registry entry, including the asset's protocol fee rates, which are per-asset and per-leg. 0 bps disables a leg's fee.
Parameters
| Parameter | Type |
|---|---|
id | AssetId |
Returns
Promise<AssetEntry>
Inherited from
fetchDepositEscrowed()?
optional fetchDepositEscrowed(id, fromBlock?): Promise<DepositEscrowedRecord | null>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:29
The decoded DepositEscrowed log for escrow id, or null when none is found from fromBlock (default: an adapter-chosen recent window) to the tip. cancelDeposit({ depositId }) rebuilds its cancel inputs from it. Optional.
Parameters
| Parameter | Type |
|---|---|
id | bigint |
fromBlock? | bigint |
Returns
Promise<DepositEscrowedRecord | null>
Inherited from
ChainReader.fetchDepositEscrowed
fetchNotePayload()?
optional fetchNotePayload(txHash, cm): Promise<PublishedNote | null>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:117
The decoded NotePayload the pool emitted for commitment cm in mined transaction txHash, or null when that transaction carries none from the pool. A payment proof needs the output's published clue, ephPub and ciphertext. Optional.
A transaction the node holds no receipt for (unknown, or not yet mined) is "not found": resolve null without waiting for it. verifyPaymentProof passes a hash from a proof it has not checked, and reports null as not-published. Reject only when the node could not be asked, so an RPC failure is not read as "no such payment".
Parameters
| Parameter | Type |
|---|---|
txHash | Hex32 |
cm | Hex32 |
Returns
Promise<PublishedNote | null>
Inherited from
getEscrowed()?
optional getEscrowed(id): Promise<EscrowedDepositView | null>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:22
MASP.escrowed(id); null if flushed or cancelled. Optional.
Parameters
| Parameter | Type |
|---|---|
id | bigint |
Returns
Promise<EscrowedDepositView | null>
Inherited from
maspAddress()
maspAddress(): Promise<EvmAddress>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:9
Used as the Permit2 spender.
Returns
Promise<EvmAddress>
Inherited from
nameAvailable()?
optional nameAvailable(registrar, label): Promise<boolean>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:80
Whether label is valid and unregistered.
Parameters
| Parameter | Type |
|---|---|
registrar | EvmAddress |
label | string |
Returns
Promise<boolean>
Inherited from
nameFee()?
optional nameFee(registrar): Promise<NameFee>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:81
Parameters
| Parameter | Type |
|---|---|
registrar | EvmAddress |
Returns
Promise<NameFee>
Inherited from
nameRecord()?
optional nameRecord(registrar, label): Promise<NameRecord>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:78
Parameters
| Parameter | Type |
|---|---|
registrar | EvmAddress |
label | string |
Returns
Promise<NameRecord>
Inherited from
nativeAdapterAddress()?
optional nativeAdapterAddress(): EvmAddress | undefined;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:15
NativeAdapter address, or undefined where none is deployed: the payer a native deposit names. Also read by withdraw({ native }). Optional.
Returns
EvmAddress | undefined
Inherited from
ChainReader.nativeAdapterAddress
nativeBalance()?
optional nativeBalance(account): Promise<bigint>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:70
Wei. Optional.
Parameters
| Parameter | Type |
|---|---|
account | EvmAddress |
Returns
Promise<bigint>
Inherited from
payerAddress()
payerAddress(): Promise<EvmAddress>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:134
The signer's address; pi.payer for a deposit.
Returns
Promise<EvmAddress>
Inherited from
DepositWrites.payerAddresspermit2Address()?
optional permit2Address(): EvmAddress;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:36
Optional: omitted by adapters that do not use Permit2.
Returns
Inherited from
permit2Allowance()?
optional permit2Allowance(
token,
owner,
spender
): Promise<{
amount: TokenAmount;
expiration: number;
nonce: number;
}>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:56
IAllowanceTransfer.allowance: cap, expiry, nonce. Optional.
Parameters
| Parameter | Type |
|---|---|
token | EvmAddress |
owner | EvmAddress |
spender | EvmAddress |
Returns
Promise<{ amount: TokenAmount; expiration: number; nonce: number; }>
Inherited from
permit2Nonce()?
optional permit2Nonce(): Promise<bigint>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:65
Free slot in Permit2's unordered nonce bitmap. Optional: omitted by adapters returning a deterministic nonce.
Returns
Promise<bigint>
Inherited from
permit2PermitAllowance()?
optional permit2PermitAllowance(args, onTxHash?): Promise<{
txHash: Hex32;
}>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:182
Submit pre-signed PermitSingle via IAllowanceTransfer.permit. Anyone can submit; relayer-gasless variants may override. Optional.
Parameters
| Parameter | Type |
|---|---|
args | { owner: EvmAddress; permit: PermitSingle; signature: string; } |
args.owner | EvmAddress |
args.permit? | PermitSingle |
args.signature? | string |
onTxHash? | (hash) => void |
Returns
Promise<{ txHash: Hex32; }>
Inherited from
Permit2Writes.permit2PermitAllowancepermit2PermitAllowanceBatch()?
optional permit2PermitAllowanceBatch(args, onTxHash?): Promise<{
txHash: Hex32;
}>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:197
Submit a pre-signed PermitBatch via the permit overload taking an array; one tx establishes N token windows. Optional.
Parameters
| Parameter | Type |
|---|---|
args | { owner: EvmAddress; permit: PermitBatch; signature: string; } |
args.owner | EvmAddress |
args.permit? | PermitBatch |
args.signature? | string |
onTxHash? | (hash) => void |
Returns
Promise<{ txHash: Hex32; }>
Inherited from
Permit2Writes.permit2PermitAllowanceBatchsignPermit2()
signPermit2(args): Promise<Permit2Sig>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:143
Sign a Permit2 witness transfer bound to piHash = keccak256(abi.encode(DepositRequest, aux, feeAux)).
PermitWitnessTransferFrom over token alone, or, when args.feeToken is set, PermitBatchWitnessTransferFrom over [token, feeToken]. The returned maxFee is 0n for the former.
Parameters
| Parameter | Type |
|---|---|
args | Permit2SignArgs |
Returns
Promise<Permit2Sig>
Inherited from
DepositWrites.signPermit2signPermit2Allowance()?
optional signPermit2Allowance(permit): Promise<{
signature: string;
}>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:190
Sign PermitSingle for AllowanceTransfer-mode deposits. Optional.
Parameters
| Parameter | Type |
|---|---|
permit | PermitSingle |
Returns
Promise<{ signature: string; }>
Inherited from
Permit2Writes.signPermit2AllowancesignPermit2AllowanceBatch()?
optional signPermit2AllowanceBatch(permit): Promise<{
signature: string;
}>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:205
Sign one PermitBatch covering N tokens. Optional.
Parameters
| Parameter | Type |
|---|---|
permit | PermitBatch |
Returns
Promise<{ signature: string; }>
Inherited from
Permit2Writes.signPermit2AllowanceBatchsubmitDeposit()?
optional submitDeposit(args): Promise<DepositSubmitted>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:149
MASP.deposit(d, sig, aux, feeAux). Resolves once mined, with the hash, block and DepositEscrowed payload from the receipt. Optional: omitted by relayer-broadcast adapters.
Parameters
| Parameter | Type | Description |
|---|---|---|
args | { aux: AuxOutput; deposit: DepositRequest; feeAux: AuxOutput; onSent?: (txHash) => void; permit2: Permit2Sig; } | - |
args.aux | AuxOutput | - |
args.deposit | DepositRequest | - |
args.feeAux | AuxOutput | The relayer fee note payload; a deposit mints two leaves. |
args.onSent? | (txHash) => void | Fired once the wallet has signed and the tx hash is known, before the receipt wait. |
args.permit2 | Permit2Sig | - |
Returns
Promise<DepositSubmitted>
Inherited from
DepositWrites.submitDepositsubmitDepositAuthorized()?
optional submitDepositAuthorized(args): Promise<DepositSubmitted>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:162
MASP.depositAuthorized. Pulls via Permit2 AllowanceTransfer against an already-signed window; no per-deposit sig. Optional.
Parameters
| Parameter | Type | Description |
|---|---|---|
args | { aux: AuxOutput; deposit: DepositRequest; feeAux: AuxOutput; onSent?: (txHash) => void; } | - |
args.aux | AuxOutput | - |
args.deposit | DepositRequest | - |
args.feeAux | AuxOutput | The relayer fee note payload. |
args.onSent? | (txHash) => void | - |
Returns
Promise<DepositSubmitted>
Inherited from
DepositWrites.submitDepositAuthorizedsubmitDepositNative()?
optional submitDepositNative(args): Promise<DepositSubmitted>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:221
NativeAdapter.depositNative with msg.value = value. The pool is ERC-20 only, so the adapter wraps the coin, escrows it under its own name and returns the excess; deposit.payer must therefore be the adapter, not the sender. Asset id must be WETH-registered. Optional, and unavailable on a chain with no adapter deployed.
Parameters
| Parameter | Type | Description |
|---|---|---|
args | { aux: AuxOutput; deposit: DepositRequest; feeAux: AuxOutput; onSent?: (txHash) => void; value: bigint; } | - |
args.aux | AuxOutput | - |
args.deposit | DepositRequest | - |
args.feeAux | AuxOutput | The relayer fee note payload. |
args.onSent? | (txHash) => void | - |
args.value | bigint | - |
Returns
Promise<DepositSubmitted>
Inherited from
NativeWrites.submitDepositNativetokenAllowance()?
optional tokenAllowance(
tokenAddr,
owner,
spender
): Promise<TokenAmount>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:71
Parameters
| Parameter | Type |
|---|---|
tokenAddr | EvmAddress |
owner | EvmAddress |
spender | EvmAddress |
Returns
Promise<TokenAmount>
Inherited from
tokenApprove()?
optional tokenApprove(
tokenAddr,
spender,
amount,
onTxHash?
): Promise<{
txHash: Hex32;
}>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:208
Parameters
| Parameter | Type |
|---|---|
tokenAddr | EvmAddress |
spender | EvmAddress |
amount | TokenAmount |
onTxHash? | (hash) => void |
Returns
Promise<{ txHash: Hex32; }>
Inherited from
Permit2Writes.tokenApprovetokenBalanceOf()?
optional tokenBalanceOf(tokenAddr, account): Promise<TokenAmount>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:68
Parameters
| Parameter | Type |
|---|---|
tokenAddr | EvmAddress |
account | EvmAddress |
Returns
Promise<TokenAmount>
Inherited from
tokenMeta()?
optional tokenMeta(tokenAddr): Promise<TokenMeta>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:67
Optional; callers feature-check before calling.
Parameters
| Parameter | Type |
|---|---|
tokenAddr | EvmAddress |
Returns
Promise<TokenMeta>
Inherited from
txReceiptLogs()?
optional txReceiptLogs(txHash): Promise<readonly TxLog[]>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:104
Every log of a mined transaction's receipt, in receipt order.
Read after a relayed spend to find the wallet's own operation in a transaction the relayer may have bundled with others', and by a payment proof to find an output's slot. Only the hash is sent; matching against the wallet's commitments happens locally. Optional: without it a spend result carries no operation and paymentProof is unsupported.
Its callers pass a hash they have reason to believe mined, so an implementation may wait briefly for a node that lags, and rejects when no receipt arrives. A transaction the node does not know is not an empty list.
Parameters
| Parameter | Type |
|---|---|
txHash | Hex32 |
Returns
Promise<readonly TxLog[]>
Inherited from
waitTxReceipt()?
optional waitTxReceipt(txHash, confirmations?): Promise<{
blockNumber: number;
status: number;
}>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:86
Block number and receipt status (1 = success, 0 = revert).
Parameters
| Parameter | Type |
|---|---|
txHash | Hex32 |
confirmations? | number |
Returns
Promise<{ blockNumber: number; status: number; }>
Inherited from
wrapNative()?
optional wrapNative(wethAddr, value): Promise<{
txHash: Hex32;
}>;Defined in: @lelantos-org/sdk/dist/chain/port.d.ts:236
WETH9.deposit{value}. Optional.
Parameters
| Parameter | Type |
|---|---|
wethAddr | EvmAddress |
value | bigint |
Returns
Promise<{ txHash: Hex32; }>
Inherited from
NativeWrites.wrapNative