Files
smom-dbis-138/services/btc-intake/src/custody-adapter.ts
defiQUG 76aa419320 feat: bridges, PMM, flash workflow, token-aggregation, and deployment docs
- CCIP/trustless bridge contracts, GRU tokens, DEX/PMM tests, reserve vault.
- Token-aggregation service routes, planner, chain config, relay env templates.
- Config snapshots and multi-chain deployment markdown updates.
- gitignore services/btc-intake/dist/ (tsc output); do not track dist.

Run forge build && forge test before deploy (large solc graph).

Made-with: Cursor
2026-04-07 23:40:52 -07:00

37 lines
1.0 KiB
TypeScript

import type { BitcoinDepositEvent } from './types';
export interface CustodyAdapter {
allocateDepositAddress(input: { instructionId: string; clientId: string }): Promise<string>;
listDepositEvents(cursor?: string): Promise<{ events: BitcoinDepositEvent[]; cursor?: string }>;
getConfirmedReserveBalanceSats(): Promise<number>;
}
export interface MintJobSink {
enqueue(job: {
id: string;
instructionId: string;
basketMandateId: string;
chain138VaultAddress: string;
canonicalSymbol: 'cBTC';
amountSats: number;
status: 'queued';
createdAt: string;
}): Promise<void>;
}
export interface AuditPublisher {
publish(record: {
id: string;
instructionId: string;
category: 'deposit_instruction' | 'confirmation' | 'mint_job' | 'freeze';
message: string;
metadata?: Record<string, unknown>;
createdAt: string;
}): Promise<void>;
}
export interface OutstandingPolicy {
getCurrentOutstandingSats(): Promise<number>;
getMaxOutstandingSats(): Promise<number>;
}