@kaleidorg/wallet-engine 1.0.0-beta.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +247 -0
- package/dist/adapters/ArkadeAdapter.d.ts +49 -0
- package/dist/adapters/ArkadeAdapter.d.ts.map +1 -0
- package/dist/adapters/ArkadeAdapter.js +316 -0
- package/dist/adapters/ArkadeAdapter.js.map +1 -0
- package/dist/adapters/IProtocolAdapter.d.ts +217 -0
- package/dist/adapters/IProtocolAdapter.d.ts.map +1 -0
- package/dist/adapters/IProtocolAdapter.js +33 -0
- package/dist/adapters/IProtocolAdapter.js.map +1 -0
- package/dist/adapters/RgbAdapter.d.ts +71 -0
- package/dist/adapters/RgbAdapter.d.ts.map +1 -0
- package/dist/adapters/RgbAdapter.js +820 -0
- package/dist/adapters/RgbAdapter.js.map +1 -0
- package/dist/adapters/SparkAdapter.d.ts +48 -0
- package/dist/adapters/SparkAdapter.d.ts.map +1 -0
- package/dist/adapters/SparkAdapter.js +395 -0
- package/dist/adapters/SparkAdapter.js.map +1 -0
- package/dist/adapters/native.d.ts +16 -0
- package/dist/adapters/native.d.ts.map +1 -0
- package/dist/adapters/native.js +16 -0
- package/dist/adapters/native.js.map +1 -0
- package/dist/adapters/wdk/ArkadeWdkAdapter.d.ts +85 -0
- package/dist/adapters/wdk/ArkadeWdkAdapter.d.ts.map +1 -0
- package/dist/adapters/wdk/ArkadeWdkAdapter.js +313 -0
- package/dist/adapters/wdk/ArkadeWdkAdapter.js.map +1 -0
- package/dist/adapters/wdk/LiquidWdkAdapter.d.ts +88 -0
- package/dist/adapters/wdk/LiquidWdkAdapter.d.ts.map +1 -0
- package/dist/adapters/wdk/LiquidWdkAdapter.js +276 -0
- package/dist/adapters/wdk/LiquidWdkAdapter.js.map +1 -0
- package/dist/adapters/wdk/RlnWdkAdapter.d.ts +86 -0
- package/dist/adapters/wdk/RlnWdkAdapter.d.ts.map +1 -0
- package/dist/adapters/wdk/RlnWdkAdapter.js +310 -0
- package/dist/adapters/wdk/RlnWdkAdapter.js.map +1 -0
- package/dist/adapters/wdk/SparkWdkAdapter.d.ts +81 -0
- package/dist/adapters/wdk/SparkWdkAdapter.d.ts.map +1 -0
- package/dist/adapters/wdk/SparkWdkAdapter.js +417 -0
- package/dist/adapters/wdk/SparkWdkAdapter.js.map +1 -0
- package/dist/adapters/wdk/index.d.ts +15 -0
- package/dist/adapters/wdk/index.d.ts.map +1 -0
- package/dist/adapters/wdk/index.js +15 -0
- package/dist/adapters/wdk/index.js.map +1 -0
- package/dist/adapters/wdk/moduleLoader.d.ts +22 -0
- package/dist/adapters/wdk/moduleLoader.d.ts.map +1 -0
- package/dist/adapters/wdk/moduleLoader.js +31 -0
- package/dist/adapters/wdk/moduleLoader.js.map +1 -0
- package/dist/capabilities/index.d.ts +46 -0
- package/dist/capabilities/index.d.ts.map +1 -0
- package/dist/capabilities/index.js +102 -0
- package/dist/capabilities/index.js.map +1 -0
- package/dist/capabilities/operations.d.ts +22 -0
- package/dist/capabilities/operations.d.ts.map +1 -0
- package/dist/capabilities/operations.js +55 -0
- package/dist/capabilities/operations.js.map +1 -0
- package/dist/constants.d.ts +8 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +8 -0
- package/dist/constants.js.map +1 -0
- package/dist/disclosure/index.d.ts +51 -0
- package/dist/disclosure/index.d.ts.map +1 -0
- package/dist/disclosure/index.js +64 -0
- package/dist/disclosure/index.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/arkade-client-manager.d.ts +47 -0
- package/dist/lib/arkade-client-manager.d.ts.map +1 -0
- package/dist/lib/arkade-client-manager.js +121 -0
- package/dist/lib/arkade-client-manager.js.map +1 -0
- package/dist/lib/bolt11.d.ts +18 -0
- package/dist/lib/bolt11.d.ts.map +1 -0
- package/dist/lib/bolt11.js +31 -0
- package/dist/lib/bolt11.js.map +1 -0
- package/dist/lib/flashnet-client-manager.d.ts +29 -0
- package/dist/lib/flashnet-client-manager.d.ts.map +1 -0
- package/dist/lib/flashnet-client-manager.js +116 -0
- package/dist/lib/flashnet-client-manager.js.map +1 -0
- package/dist/lib/kaleido-client-manager.d.ts +26 -0
- package/dist/lib/kaleido-client-manager.d.ts.map +1 -0
- package/dist/lib/kaleido-client-manager.js +55 -0
- package/dist/lib/kaleido-client-manager.js.map +1 -0
- package/dist/lib/spark-client-manager.d.ts +41 -0
- package/dist/lib/spark-client-manager.d.ts.map +1 -0
- package/dist/lib/spark-client-manager.js +101 -0
- package/dist/lib/spark-client-manager.js.map +1 -0
- package/dist/manager/ProtocolManager.d.ts +108 -0
- package/dist/manager/ProtocolManager.d.ts.map +1 -0
- package/dist/manager/ProtocolManager.js +305 -0
- package/dist/manager/ProtocolManager.js.map +1 -0
- package/dist/ports/index.d.ts +49 -0
- package/dist/ports/index.d.ts.map +1 -0
- package/dist/ports/index.js +31 -0
- package/dist/ports/index.js.map +1 -0
- package/dist/receive/unifiedReceive.d.ts +54 -0
- package/dist/receive/unifiedReceive.d.ts.map +1 -0
- package/dist/receive/unifiedReceive.js +102 -0
- package/dist/receive/unifiedReceive.js.map +1 -0
- package/dist/registry/createWdkRegistry.d.ts +20 -0
- package/dist/registry/createWdkRegistry.d.ts.map +1 -0
- package/dist/registry/createWdkRegistry.js +32 -0
- package/dist/registry/createWdkRegistry.js.map +1 -0
- package/dist/router/destination.d.ts +28 -0
- package/dist/router/destination.d.ts.map +1 -0
- package/dist/router/destination.js +72 -0
- package/dist/router/destination.js.map +1 -0
- package/dist/router/index.d.ts +55 -0
- package/dist/router/index.d.ts.map +1 -0
- package/dist/router/index.js +67 -0
- package/dist/router/index.js.map +1 -0
- package/dist/swap/KaleidoswapSwap.d.ts +44 -0
- package/dist/swap/KaleidoswapSwap.d.ts.map +1 -0
- package/dist/swap/KaleidoswapSwap.js +123 -0
- package/dist/swap/KaleidoswapSwap.js.map +1 -0
- package/dist/swap/index.d.ts +8 -0
- package/dist/swap/index.d.ts.map +1 -0
- package/dist/swap/index.js +8 -0
- package/dist/swap/index.js.map +1 -0
- package/dist/types/arkade.d.ts +40 -0
- package/dist/types/arkade.d.ts.map +1 -0
- package/dist/types/arkade.js +6 -0
- package/dist/types/arkade.js.map +1 -0
- package/dist/types/base.d.ts +228 -0
- package/dist/types/base.d.ts.map +1 -0
- package/dist/types/base.js +53 -0
- package/dist/types/base.js.map +1 -0
- package/dist/types/cross-l2.d.ts +108 -0
- package/dist/types/cross-l2.d.ts.map +1 -0
- package/dist/types/cross-l2.js +16 -0
- package/dist/types/cross-l2.js.map +1 -0
- package/dist/types/flashnet.d.ts +31 -0
- package/dist/types/flashnet.d.ts.map +1 -0
- package/dist/types/flashnet.js +23 -0
- package/dist/types/flashnet.js.map +1 -0
- package/dist/types/rgb.d.ts +105 -0
- package/dist/types/rgb.d.ts.map +1 -0
- package/dist/types/rgb.js +6 -0
- package/dist/types/rgb.js.map +1 -0
- package/dist/types/spark.d.ts +59 -0
- package/dist/types/spark.d.ts.map +1 -0
- package/dist/types/spark.js +6 -0
- package/dist/types/spark.js.map +1 -0
- package/dist/utils.d.ts +10 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +23 -0
- package/dist/utils.js.map +1 -0
- package/package.json +71 -0
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Protocol Adapter Interface
|
|
3
|
+
* All protocol implementations must implement this interface.
|
|
4
|
+
*
|
|
5
|
+
* Canonical contract: this is the single source of truth shared by every host
|
|
6
|
+
* (rate-extension, rate mobile, desktop). Hosts that ship their own adapters
|
|
7
|
+
* implement this interface; they must NOT redeclare it. See the wallet-engine
|
|
8
|
+
* integration spec (A1/A2).
|
|
9
|
+
*/
|
|
10
|
+
import { ProtocolType, Layer, NodeInfo, UnifiedAsset, UnifiedTransaction, InvoiceRequest, Invoice, DecodedInvoice, KeysendRequest, PaymentRequest, PaymentResult, PaymentStatus, Address, ConnectionInfo, TransactionFilter, QuoteRequest, Quote, SwapResult } from '../types/base.js';
|
|
11
|
+
import type { ProtocolCapability } from '../capabilities/operations.js';
|
|
12
|
+
import type { RgbConfig } from '../types/rgb.js';
|
|
13
|
+
import type { SparkConfig } from '../types/spark.js';
|
|
14
|
+
import type { ArkadeConfig } from '../types/arkade.js';
|
|
15
|
+
/**
|
|
16
|
+
* Base configuration for all protocols.
|
|
17
|
+
*/
|
|
18
|
+
export interface BaseProtocolConfig {
|
|
19
|
+
protocol: ProtocolType;
|
|
20
|
+
network?: 'mainnet' | 'testnet' | 'regtest' | 'signet';
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Union of all protocol-specific configurations. Each adapter owns its own
|
|
24
|
+
* config shape (e.g. RGB carries nodeUrl/makerUrl and no mnemonic; Spark/Arkade
|
|
25
|
+
* carry a mnemonic) — the contract must not assume a single shape.
|
|
26
|
+
*/
|
|
27
|
+
export type ProtocolConfig = RgbConfig | SparkConfig | ArkadeConfig;
|
|
28
|
+
export interface IProtocolAdapter {
|
|
29
|
+
readonly protocolName: ProtocolType;
|
|
30
|
+
readonly supportedLayers: Layer[];
|
|
31
|
+
readonly version: string;
|
|
32
|
+
/**
|
|
33
|
+
* Native operations this adapter supports. Static — available before the
|
|
34
|
+
* adapter connects — so the UI can gate actions without per-call-site
|
|
35
|
+
* network checks.
|
|
36
|
+
*/
|
|
37
|
+
readonly capabilities: readonly ProtocolCapability[];
|
|
38
|
+
connect(config: ProtocolConfig): Promise<void>;
|
|
39
|
+
disconnect(): Promise<void>;
|
|
40
|
+
isConnected(): boolean;
|
|
41
|
+
getConnectionInfo(): Promise<ConnectionInfo>;
|
|
42
|
+
listAssets(): Promise<UnifiedAsset[]>;
|
|
43
|
+
getAsset(assetId: string): Promise<UnifiedAsset>;
|
|
44
|
+
getAssetBalance(assetId: string): Promise<UnifiedAsset['balance']>;
|
|
45
|
+
refreshBalances(): Promise<void>;
|
|
46
|
+
listTransactions(filter?: TransactionFilter): Promise<UnifiedTransaction[]>;
|
|
47
|
+
/** @param assetId - Required for RGB protocol (transfers are per-asset) */
|
|
48
|
+
getTransaction(txId: string, assetId?: string): Promise<UnifiedTransaction>;
|
|
49
|
+
createInvoice(request: InvoiceRequest): Promise<Invoice>;
|
|
50
|
+
decodeInvoice(invoice: string): Promise<DecodedInvoice>;
|
|
51
|
+
sendPayment(request: PaymentRequest): Promise<PaymentResult>;
|
|
52
|
+
/**
|
|
53
|
+
* Send a spontaneous Lightning keysend payment.
|
|
54
|
+
* Optional — not every protocol backend exposes a keysend primitive.
|
|
55
|
+
*/
|
|
56
|
+
payKeysend?(request: KeysendRequest): Promise<PaymentResult>;
|
|
57
|
+
getPaymentStatus(paymentHash: string): Promise<PaymentStatus>;
|
|
58
|
+
/** @param assetId - Optional asset ID (for multi-asset protocols) */
|
|
59
|
+
getReceiveAddress(assetId?: string): Promise<Address>;
|
|
60
|
+
/** Get node info (pubkey, channels, local_balance_sat, etc.). */
|
|
61
|
+
getNodeInfo(): Promise<NodeInfo>;
|
|
62
|
+
getBtcBalance(): Promise<{
|
|
63
|
+
confirmed: number;
|
|
64
|
+
unconfirmed: number;
|
|
65
|
+
total: number;
|
|
66
|
+
}>;
|
|
67
|
+
/** Returns empty array for protocols without channels (e.g. Spark). */
|
|
68
|
+
listChannels(): Promise<unknown[]>;
|
|
69
|
+
listPayments(): Promise<unknown>;
|
|
70
|
+
listTransfers(options?: {
|
|
71
|
+
asset_id?: string;
|
|
72
|
+
}): Promise<unknown>;
|
|
73
|
+
/** Create an RGB on-chain invoice (RGB only). */
|
|
74
|
+
createRgbInvoice?(params: Record<string, unknown>): Promise<unknown>;
|
|
75
|
+
/** Decode an RGB invoice (RGB only). */
|
|
76
|
+
decodeRgbInvoice?(params: Record<string, unknown>): Promise<unknown>;
|
|
77
|
+
/** Create colorable (uncolored) UTXOs for receiving RGB assets (RGB only). */
|
|
78
|
+
createRgbUtxos?(params: {
|
|
79
|
+
num?: number;
|
|
80
|
+
size?: number;
|
|
81
|
+
feeRate?: number;
|
|
82
|
+
upTo?: boolean;
|
|
83
|
+
}): Promise<{
|
|
84
|
+
success: boolean;
|
|
85
|
+
}>;
|
|
86
|
+
/** List the node's unspent outputs with their RGB allocations (RGB only). */
|
|
87
|
+
listRgbUnspents?(): Promise<{
|
|
88
|
+
unspents: Array<{
|
|
89
|
+
utxo: {
|
|
90
|
+
outpoint: string;
|
|
91
|
+
btc_amount: number;
|
|
92
|
+
colorable: boolean;
|
|
93
|
+
};
|
|
94
|
+
rgb_allocations: Array<{
|
|
95
|
+
asset_id?: string | null;
|
|
96
|
+
assignment: unknown;
|
|
97
|
+
settled: boolean;
|
|
98
|
+
}>;
|
|
99
|
+
}>;
|
|
100
|
+
}>;
|
|
101
|
+
/** Estimate the on-chain fee rate for a confirmation target (RGB only). */
|
|
102
|
+
estimateRgbFee?(blocks: number): Promise<{
|
|
103
|
+
fee_rate: number;
|
|
104
|
+
}>;
|
|
105
|
+
/** Detailed BTC balance with vanilla / colored split (RGB only). */
|
|
106
|
+
getRgbDetailedBalance?(): Promise<{
|
|
107
|
+
vanilla: {
|
|
108
|
+
settled: number;
|
|
109
|
+
future: number;
|
|
110
|
+
spendable: number;
|
|
111
|
+
};
|
|
112
|
+
colored: {
|
|
113
|
+
settled: number;
|
|
114
|
+
future: number;
|
|
115
|
+
spendable: number;
|
|
116
|
+
};
|
|
117
|
+
}>;
|
|
118
|
+
getInvoiceStatus?(params: {
|
|
119
|
+
invoice: string;
|
|
120
|
+
}): Promise<unknown>;
|
|
121
|
+
/** Send an RGB asset on-chain (RGB only). */
|
|
122
|
+
sendAsset?(params: Record<string, unknown>): Promise<unknown>;
|
|
123
|
+
sendBtcOnchain?(params: {
|
|
124
|
+
address: string;
|
|
125
|
+
amount: number;
|
|
126
|
+
feeRate?: number;
|
|
127
|
+
}): Promise<unknown>;
|
|
128
|
+
/**
|
|
129
|
+
* Broadcast a raw, fully-signed network transaction (hex) through the
|
|
130
|
+
* adapter's node. Optional — callers fall back to a public broadcaster when
|
|
131
|
+
* absent.
|
|
132
|
+
*/
|
|
133
|
+
broadcastTransaction?(txHex: string): Promise<{
|
|
134
|
+
txid: string;
|
|
135
|
+
}>;
|
|
136
|
+
/**
|
|
137
|
+
* Sign a PSBT (BIP 174) using wallet-owned inputs. Implementations MUST parse
|
|
138
|
+
* before any confirmation UI, sign only inputs matching a wallet key, and
|
|
139
|
+
* return { psbt: originalHex, unchanged: true } when no owned inputs exist.
|
|
140
|
+
*/
|
|
141
|
+
signPsbt?(psbtHex: string): Promise<{
|
|
142
|
+
psbt: string;
|
|
143
|
+
unchanged: boolean;
|
|
144
|
+
}>;
|
|
145
|
+
/**
|
|
146
|
+
* Sign an arbitrary message using the wallet's Lightning identity key.
|
|
147
|
+
* Returns an LND-style zbase32-encoded recoverable ECDSA signature.
|
|
148
|
+
*/
|
|
149
|
+
signMessage?(message: string): Promise<string>;
|
|
150
|
+
/**
|
|
151
|
+
* Verify an LND-style zbase32 signature and recover the signing pubkey.
|
|
152
|
+
* Returns the hex-encoded compressed public key of the signer.
|
|
153
|
+
*/
|
|
154
|
+
verifyMessage?(message: string, signature: string): Promise<string>;
|
|
155
|
+
/** Create a Spark-native invoice (Spark only). */
|
|
156
|
+
createSparkInvoice?(request: InvoiceRequest): Promise<Invoice>;
|
|
157
|
+
/**
|
|
158
|
+
* Auto-claim a Spark L1 (single-use) deposit. Returns `awaiting` while no
|
|
159
|
+
* UTXO is confirmed yet.
|
|
160
|
+
*/
|
|
161
|
+
claimSparkL1Deposit?(params: {
|
|
162
|
+
address: string;
|
|
163
|
+
}): Promise<{
|
|
164
|
+
status: 'awaiting' | 'claimed' | 'error';
|
|
165
|
+
txids?: string[];
|
|
166
|
+
error?: string;
|
|
167
|
+
}>;
|
|
168
|
+
/**
|
|
169
|
+
* Sweep every previously-generated single-use Spark deposit address that
|
|
170
|
+
* still has unclaimed UTXOs and credit them to the wallet.
|
|
171
|
+
*/
|
|
172
|
+
sweepSparkL1Deposits?(): Promise<{
|
|
173
|
+
addressesChecked: number;
|
|
174
|
+
claimedTxids: string[];
|
|
175
|
+
errors: string[];
|
|
176
|
+
}>;
|
|
177
|
+
/**
|
|
178
|
+
* Create a Lightning invoice that pays into Arkade via a Boltz reverse swap.
|
|
179
|
+
* Requires a positive `request.amount`.
|
|
180
|
+
*/
|
|
181
|
+
createArkadeLightningInvoice?(request: InvoiceRequest): Promise<Invoice>;
|
|
182
|
+
/** List virtual transaction outputs (Arkade only). */
|
|
183
|
+
getVtxos?(): Promise<Record<string, unknown>[]>;
|
|
184
|
+
/** List boarding UTXOs (Arkade only). */
|
|
185
|
+
getBoardingUtxos?(): Promise<Record<string, unknown>[]>;
|
|
186
|
+
/** Onboard funds to Arkade (Arkade only). */
|
|
187
|
+
onboard?(): Promise<{
|
|
188
|
+
txid: string;
|
|
189
|
+
}>;
|
|
190
|
+
/** Offboard funds from Arkade to on-chain (Arkade only). */
|
|
191
|
+
offboard?(address: string, amount?: number): Promise<{
|
|
192
|
+
txid: string;
|
|
193
|
+
}>;
|
|
194
|
+
supportsSwaps(): boolean;
|
|
195
|
+
getSwapQuote?(request: QuoteRequest): Promise<Quote>;
|
|
196
|
+
executeSwap?(quote: Quote): Promise<SwapResult>;
|
|
197
|
+
getSwapStatus?(swapId: string): Promise<SwapResult>;
|
|
198
|
+
/**
|
|
199
|
+
* Generic escape hatch used by some WDK adapters. rate-extension's adapters
|
|
200
|
+
* use typed methods instead and do not implement this — kept optional.
|
|
201
|
+
*/
|
|
202
|
+
executeProtocolOperation?(operation: string, params: unknown): Promise<unknown>;
|
|
203
|
+
}
|
|
204
|
+
export interface IProtocolAdapterFactory {
|
|
205
|
+
createAdapter(protocol: ProtocolType): IProtocolAdapter;
|
|
206
|
+
getSupportedProtocols(): ProtocolType[];
|
|
207
|
+
}
|
|
208
|
+
export declare class ProtocolAdapterRegistry {
|
|
209
|
+
private adapters;
|
|
210
|
+
register(adapter: IProtocolAdapter): void;
|
|
211
|
+
unregister(protocol: ProtocolType): void;
|
|
212
|
+
get(protocol: ProtocolType): IProtocolAdapter | undefined;
|
|
213
|
+
getAll(): IProtocolAdapter[];
|
|
214
|
+
has(protocol: ProtocolType): boolean;
|
|
215
|
+
getSupportedProtocols(): ProtocolType[];
|
|
216
|
+
}
|
|
217
|
+
//# sourceMappingURL=IProtocolAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IProtocolAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/IProtocolAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Protocol Adapter Interface
|
|
3
|
+
* All protocol implementations must implement this interface.
|
|
4
|
+
*
|
|
5
|
+
* Canonical contract: this is the single source of truth shared by every host
|
|
6
|
+
* (rate-extension, rate mobile, desktop). Hosts that ship their own adapters
|
|
7
|
+
* implement this interface; they must NOT redeclare it. See the wallet-engine
|
|
8
|
+
* integration spec (A1/A2).
|
|
9
|
+
*/
|
|
10
|
+
export class ProtocolAdapterRegistry {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.adapters = new Map();
|
|
13
|
+
}
|
|
14
|
+
register(adapter) {
|
|
15
|
+
this.adapters.set(adapter.protocolName, adapter);
|
|
16
|
+
}
|
|
17
|
+
unregister(protocol) {
|
|
18
|
+
this.adapters.delete(protocol);
|
|
19
|
+
}
|
|
20
|
+
get(protocol) {
|
|
21
|
+
return this.adapters.get(protocol);
|
|
22
|
+
}
|
|
23
|
+
getAll() {
|
|
24
|
+
return Array.from(this.adapters.values());
|
|
25
|
+
}
|
|
26
|
+
has(protocol) {
|
|
27
|
+
return this.adapters.has(protocol);
|
|
28
|
+
}
|
|
29
|
+
getSupportedProtocols() {
|
|
30
|
+
return Array.from(this.adapters.keys());
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=IProtocolAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IProtocolAdapter.js","sourceRoot":"","sources":["../../src/adapters/IProtocolAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAqPH,MAAM,OAAO,uBAAuB;IAApC;QACU,aAAQ,GAAwC,IAAI,GAAG,EAAE,CAAA;IAyBnE,CAAC;IAvBC,QAAQ,CAAC,OAAyB;QAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC;IAED,UAAU,CAAC,QAAsB;QAC/B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAChC,CAAC;IAED,GAAG,CAAC,QAAsB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACpC,CAAC;IAED,MAAM;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED,GAAG,CAAC,QAAsB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACpC,CAAC;IAED,qBAAqB;QACnB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;IACzC,CAAC;CACF"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RGB Protocol Adapter
|
|
3
|
+
* Uses kaleido-sdk to implement the protocol adapter interface.
|
|
4
|
+
* Ported from rate-extension/src/protocols/adapters/RgbAdapter.ts
|
|
5
|
+
*/
|
|
6
|
+
import { IProtocolAdapter, BaseProtocolConfig } from './IProtocolAdapter.js';
|
|
7
|
+
import { ProtocolType, Layer, UnifiedAsset, UnifiedTransaction, InvoiceRequest, Invoice, DecodedInvoice, PaymentRequest, PaymentResult, PaymentStatus, Address, ConnectionInfo, TransactionFilter, QuoteRequest, Quote, SwapResult } from '../types/base.js';
|
|
8
|
+
export declare class RgbAdapter implements IProtocolAdapter {
|
|
9
|
+
readonly protocolName: ProtocolType;
|
|
10
|
+
readonly capabilities: readonly import("..").ProtocolCapability[];
|
|
11
|
+
readonly supportedLayers: Layer[];
|
|
12
|
+
readonly version = "1.0.0";
|
|
13
|
+
private connected;
|
|
14
|
+
private config;
|
|
15
|
+
private swapAccessTokens;
|
|
16
|
+
connect(config: BaseProtocolConfig): Promise<void>;
|
|
17
|
+
disconnect(): Promise<void>;
|
|
18
|
+
isConnected(): boolean;
|
|
19
|
+
getConnectionInfo(): Promise<ConnectionInfo>;
|
|
20
|
+
listAssets(): Promise<UnifiedAsset[]>;
|
|
21
|
+
getAsset(assetId: string): Promise<UnifiedAsset>;
|
|
22
|
+
getAssetBalance(assetId: string): Promise<UnifiedAsset['balance']>;
|
|
23
|
+
refreshBalances(): Promise<void>;
|
|
24
|
+
listTransactions(filter?: TransactionFilter): Promise<UnifiedTransaction[]>;
|
|
25
|
+
getTransaction(txId: string, assetId?: string): Promise<UnifiedTransaction>;
|
|
26
|
+
createInvoice(request: InvoiceRequest): Promise<Invoice>;
|
|
27
|
+
decodeInvoice(invoice: string): Promise<DecodedInvoice>;
|
|
28
|
+
sendPayment(request: PaymentRequest): Promise<PaymentResult>;
|
|
29
|
+
getPaymentStatus(paymentHash: string): Promise<PaymentStatus>;
|
|
30
|
+
getReceiveAddress(assetId?: string): Promise<Address>;
|
|
31
|
+
getNodeInfo(): Promise<any>;
|
|
32
|
+
getBtcBalance(): Promise<{
|
|
33
|
+
confirmed: number;
|
|
34
|
+
unconfirmed: number;
|
|
35
|
+
total: number;
|
|
36
|
+
}>;
|
|
37
|
+
listChannels(): Promise<any[]>;
|
|
38
|
+
listPayments(): Promise<any>;
|
|
39
|
+
listTransfers(options?: {
|
|
40
|
+
asset_id?: string;
|
|
41
|
+
}): Promise<any>;
|
|
42
|
+
createRgbInvoice(params: any): Promise<any>;
|
|
43
|
+
decodeRgbInvoice(params: any): Promise<any>;
|
|
44
|
+
getInvoiceStatus(params: {
|
|
45
|
+
invoice: string;
|
|
46
|
+
}): Promise<any>;
|
|
47
|
+
sendAsset(params: any): Promise<any>;
|
|
48
|
+
sendBtcOnchain(params: {
|
|
49
|
+
address: string;
|
|
50
|
+
amount: number;
|
|
51
|
+
feeRate?: number;
|
|
52
|
+
}): Promise<any>;
|
|
53
|
+
supportsSwaps(): boolean;
|
|
54
|
+
getSwapQuote(request: QuoteRequest): Promise<Quote>;
|
|
55
|
+
executeSwap(quote: Quote): Promise<SwapResult>;
|
|
56
|
+
getSwapStatus(swapId: string): Promise<SwapResult>;
|
|
57
|
+
executeProtocolOperation(operation: string, params: any): Promise<any>;
|
|
58
|
+
private createBtcAsset;
|
|
59
|
+
private convertNodeAssetToUnified;
|
|
60
|
+
private convertBtcBalance;
|
|
61
|
+
private convertSdkBalance;
|
|
62
|
+
private convertNodeBalance;
|
|
63
|
+
private convertTransferToTransaction;
|
|
64
|
+
private mapTransferType;
|
|
65
|
+
private mapTransferStatus;
|
|
66
|
+
private mapPaymentStatus;
|
|
67
|
+
private mapSwapStatus;
|
|
68
|
+
private formatAmount;
|
|
69
|
+
private handleSdkError;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=RgbAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RgbAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/RgbAdapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAyBzE,OAAO,EACL,YAAY,EACZ,KAAK,EACL,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,OAAO,EACP,cAAc,EACd,cAAc,EACd,aAAa,EACb,aAAa,EACb,OAAO,EACP,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,KAAK,EACL,UAAU,EAMX,MAAM,eAAe,CAAA;AAItB,qBAAa,UAAW,YAAW,gBAAgB;IACjD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAQ;IAC3C,QAAQ,CAAC,YAAY,6CAA0B;IAC/C,QAAQ,CAAC,eAAe,EAAE,KAAK,EAAE,CAA2C;IAC5E,QAAQ,CAAC,OAAO,WAAU;IAE1B,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,gBAAgB,CAA4B;IAM9C,OAAO,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqClD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC,WAAW,IAAI,OAAO;IAIhB,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IA+B5C,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IA6CrC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAShD,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAoBlE,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAMhC,gBAAgB,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IA+B3E,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgB3E,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IA4CxD,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IA4BvD,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IA4B5D,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA4B7D,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuBrD,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC;IAW3B,aAAa,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAoBnF,YAAY,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAY9B,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC;IAW5B,aAAa,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAkB5D,gBAAgB,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAkB3C,gBAAgB,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAa3C,gBAAgB,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAW3D,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IA8BpC,cAAc,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAoBjG,aAAa,IAAI,OAAO;IAIlB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC;IAsDnD,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC;IA0C9C,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAiClD,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAqE5E,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,yBAAyB;IAgBjC,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,4BAA4B;IAiBpC,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,cAAc;CAkBvB"}
|