@kaleidorg/wallet-protocols 1.0.0-beta.2
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/dist/adapters/ArkadeAdapter.d.ts +48 -0
- package/dist/adapters/ArkadeAdapter.d.ts.map +1 -0
- package/dist/adapters/ArkadeAdapter.js +314 -0
- package/dist/adapters/ArkadeAdapter.js.map +1 -0
- package/dist/adapters/IProtocolAdapter.d.ts +71 -0
- package/dist/adapters/IProtocolAdapter.d.ts.map +1 -0
- package/dist/adapters/IProtocolAdapter.js +29 -0
- package/dist/adapters/IProtocolAdapter.js.map +1 -0
- package/dist/adapters/RgbAdapter.d.ts +70 -0
- package/dist/adapters/RgbAdapter.d.ts.map +1 -0
- package/dist/adapters/RgbAdapter.js +818 -0
- package/dist/adapters/RgbAdapter.js.map +1 -0
- package/dist/adapters/SparkAdapter.d.ts +47 -0
- package/dist/adapters/SparkAdapter.d.ts.map +1 -0
- package/dist/adapters/SparkAdapter.js +390 -0
- package/dist/adapters/SparkAdapter.js.map +1 -0
- package/dist/adapters/wdk/ArkadeWdkAdapter.d.ts +78 -0
- package/dist/adapters/wdk/ArkadeWdkAdapter.d.ts.map +1 -0
- package/dist/adapters/wdk/ArkadeWdkAdapter.js +226 -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 +272 -0
- package/dist/adapters/wdk/LiquidWdkAdapter.js.map +1 -0
- package/dist/adapters/wdk/RlnWdkAdapter.d.ts +85 -0
- package/dist/adapters/wdk/RlnWdkAdapter.d.ts.map +1 -0
- package/dist/adapters/wdk/RlnWdkAdapter.js +308 -0
- package/dist/adapters/wdk/RlnWdkAdapter.js.map +1 -0
- package/dist/adapters/wdk/SparkWdkAdapter.d.ts +79 -0
- package/dist/adapters/wdk/SparkWdkAdapter.d.ts.map +1 -0
- package/dist/adapters/wdk/SparkWdkAdapter.js +317 -0
- package/dist/adapters/wdk/SparkWdkAdapter.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/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 +34 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +43 -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 +57 -0
- package/dist/manager/ProtocolManager.d.ts.map +1 -0
- package/dist/manager/ProtocolManager.js +228 -0
- package/dist/manager/ProtocolManager.js.map +1 -0
- package/dist/ports/index.d.ts +29 -0
- package/dist/ports/index.d.ts.map +1 -0
- package/dist/ports/index.js +9 -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/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 +197 -0
- package/dist/types/base.d.ts.map +1 -0
- package/dist/types/base.js +27 -0
- package/dist/types/base.js.map +1 -0
- package/dist/types/cross-l2.d.ts +158 -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 +91 -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 +35 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arkade.js","sourceRoot":"","sources":["../../src/types/arkade.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base types shared across all protocols
|
|
3
|
+
* Ported from rate-extension/src/protocols/types/base.ts
|
|
4
|
+
*/
|
|
5
|
+
export type ProtocolType = 'RGB' | 'SPARK' | 'ARKADE' | 'BTC' | 'LIQUID';
|
|
6
|
+
export type Layer = 'BTC_L1' | 'BTC_LN' | 'BTC_ARKADE' | 'BTC_SPARK' | 'BTC_LIQUID' | 'RGB_L1' | 'RGB_LN' | 'SPARK_SPARK' | 'ARKADE_ARKADE' | 'LIQUID_ASSET';
|
|
7
|
+
export interface UnifiedAsset {
|
|
8
|
+
id: string;
|
|
9
|
+
name: string;
|
|
10
|
+
ticker: string;
|
|
11
|
+
precision: number;
|
|
12
|
+
protocol: ProtocolType;
|
|
13
|
+
layer: Layer;
|
|
14
|
+
balance: AssetBalance;
|
|
15
|
+
icon?: string;
|
|
16
|
+
color?: string;
|
|
17
|
+
capabilities: AssetCapabilities;
|
|
18
|
+
metadata?: Record<string, any>;
|
|
19
|
+
}
|
|
20
|
+
export interface AssetBalance {
|
|
21
|
+
total: number;
|
|
22
|
+
available: number;
|
|
23
|
+
pending: number;
|
|
24
|
+
locked?: number;
|
|
25
|
+
totalDisplay: string;
|
|
26
|
+
availableDisplay: string;
|
|
27
|
+
}
|
|
28
|
+
export interface RgbAssetBalance extends AssetBalance {
|
|
29
|
+
settled: number;
|
|
30
|
+
future: number;
|
|
31
|
+
spendable: number;
|
|
32
|
+
offchain_outbound: number;
|
|
33
|
+
offchain_inbound: number;
|
|
34
|
+
}
|
|
35
|
+
export interface LightningChannel {
|
|
36
|
+
channel_id: string;
|
|
37
|
+
ready?: boolean;
|
|
38
|
+
is_usable?: boolean;
|
|
39
|
+
asset_id?: string;
|
|
40
|
+
asset_local_amount?: number;
|
|
41
|
+
asset_remote_amount?: number;
|
|
42
|
+
next_outbound_htlc_limit_msat?: number;
|
|
43
|
+
local_balance_msat?: number;
|
|
44
|
+
[key: string]: unknown;
|
|
45
|
+
}
|
|
46
|
+
export interface AssetCapabilities {
|
|
47
|
+
canSend: boolean;
|
|
48
|
+
canReceive: boolean;
|
|
49
|
+
canSwap: boolean;
|
|
50
|
+
supportsLightning: boolean;
|
|
51
|
+
supportsOnchain: boolean;
|
|
52
|
+
}
|
|
53
|
+
export interface UnifiedTransaction {
|
|
54
|
+
id: string;
|
|
55
|
+
type: TransactionType;
|
|
56
|
+
status: TransactionStatus;
|
|
57
|
+
timestamp: number;
|
|
58
|
+
amount: number;
|
|
59
|
+
amountDisplay: string;
|
|
60
|
+
fee?: number;
|
|
61
|
+
feeDisplay?: string;
|
|
62
|
+
asset: UnifiedAsset;
|
|
63
|
+
from?: string;
|
|
64
|
+
to?: string;
|
|
65
|
+
protocolData?: Record<string, any>;
|
|
66
|
+
}
|
|
67
|
+
export type TransactionType = 'send' | 'receive' | 'swap' | 'channel_open' | 'channel_close';
|
|
68
|
+
export type TransactionStatus = 'pending' | 'confirmed' | 'failed' | 'cancelled';
|
|
69
|
+
export interface InvoiceRequest {
|
|
70
|
+
amount?: number;
|
|
71
|
+
asset?: string;
|
|
72
|
+
assetAmount?: number;
|
|
73
|
+
description?: string;
|
|
74
|
+
expirySeconds?: number;
|
|
75
|
+
/** Optional target layer when a protocol can receive on more than one (e.g. Spark: BTC_LN vs SPARK_SPARK). */
|
|
76
|
+
layer?: Layer;
|
|
77
|
+
}
|
|
78
|
+
export interface Invoice {
|
|
79
|
+
invoice: string;
|
|
80
|
+
paymentHash: string;
|
|
81
|
+
amount?: number;
|
|
82
|
+
expiresAt: number;
|
|
83
|
+
description?: string;
|
|
84
|
+
}
|
|
85
|
+
export interface DecodedInvoice {
|
|
86
|
+
paymentHash: string;
|
|
87
|
+
amount?: number;
|
|
88
|
+
amountMsat?: number;
|
|
89
|
+
description?: string;
|
|
90
|
+
expiresAt: number;
|
|
91
|
+
destination: string;
|
|
92
|
+
asset?: string;
|
|
93
|
+
asset_id?: string;
|
|
94
|
+
asset_amount?: number;
|
|
95
|
+
payment_hash?: string;
|
|
96
|
+
amount_msat?: number;
|
|
97
|
+
expires_at?: number;
|
|
98
|
+
payee_pubkey?: string;
|
|
99
|
+
}
|
|
100
|
+
export interface PaymentRequest {
|
|
101
|
+
invoice: string;
|
|
102
|
+
amount?: number;
|
|
103
|
+
/** Cap on routing fee for Lightning sends (sats). Some protocols (Spark) require it. */
|
|
104
|
+
maxFeeSats?: number;
|
|
105
|
+
}
|
|
106
|
+
export interface PaymentResult {
|
|
107
|
+
paymentHash: string;
|
|
108
|
+
preimage?: string;
|
|
109
|
+
amount: number;
|
|
110
|
+
fee: number;
|
|
111
|
+
status: TransactionStatus;
|
|
112
|
+
timestamp: number;
|
|
113
|
+
}
|
|
114
|
+
export interface PaymentStatus {
|
|
115
|
+
paymentHash: string;
|
|
116
|
+
status: TransactionStatus;
|
|
117
|
+
amount?: number;
|
|
118
|
+
fee?: number;
|
|
119
|
+
timestamp?: number;
|
|
120
|
+
error?: string;
|
|
121
|
+
}
|
|
122
|
+
export interface Address {
|
|
123
|
+
address: string;
|
|
124
|
+
format: AddressFormat;
|
|
125
|
+
asset?: string;
|
|
126
|
+
qrCode?: string;
|
|
127
|
+
}
|
|
128
|
+
export type AddressFormat = 'BTC_ADDRESS' | 'BOLT11' | 'BOLT12' | 'RGB_INVOICE' | 'SPARK_ADDRESS' | 'ARKADE_ADDRESS' | 'LIQUID_ADDRESS';
|
|
129
|
+
export interface ConnectionInfo {
|
|
130
|
+
protocol: ProtocolType;
|
|
131
|
+
connected: boolean;
|
|
132
|
+
nodeId?: string;
|
|
133
|
+
network?: string;
|
|
134
|
+
blockHeight?: number;
|
|
135
|
+
syncStatus?: SyncStatus;
|
|
136
|
+
}
|
|
137
|
+
export interface SyncStatus {
|
|
138
|
+
synced: boolean;
|
|
139
|
+
progress?: number;
|
|
140
|
+
blockHeight?: number;
|
|
141
|
+
targetHeight?: number;
|
|
142
|
+
}
|
|
143
|
+
export interface TransactionFilter {
|
|
144
|
+
asset?: string;
|
|
145
|
+
type?: TransactionType;
|
|
146
|
+
status?: TransactionStatus;
|
|
147
|
+
fromTimestamp?: number;
|
|
148
|
+
toTimestamp?: number;
|
|
149
|
+
limit?: number;
|
|
150
|
+
offset?: number;
|
|
151
|
+
}
|
|
152
|
+
export interface QuoteRequest {
|
|
153
|
+
fromAsset: string;
|
|
154
|
+
toAsset: string;
|
|
155
|
+
fromAmount?: number;
|
|
156
|
+
toAmount?: number;
|
|
157
|
+
}
|
|
158
|
+
export interface Quote {
|
|
159
|
+
id: string;
|
|
160
|
+
fromAsset: string;
|
|
161
|
+
fromAmount: number;
|
|
162
|
+
toAsset: string;
|
|
163
|
+
toAmount: number;
|
|
164
|
+
price: number;
|
|
165
|
+
fee: QuoteFee;
|
|
166
|
+
expiresAt: number;
|
|
167
|
+
provider?: string;
|
|
168
|
+
}
|
|
169
|
+
export interface QuoteFee {
|
|
170
|
+
amount: number;
|
|
171
|
+
asset: string;
|
|
172
|
+
breakdown?: {
|
|
173
|
+
baseFee: number;
|
|
174
|
+
variableFee: number;
|
|
175
|
+
networkFee: number;
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
export interface SwapResult {
|
|
179
|
+
swapId: string;
|
|
180
|
+
paymentHash?: string;
|
|
181
|
+
status: TransactionStatus;
|
|
182
|
+
quote: Quote;
|
|
183
|
+
timestamp: number;
|
|
184
|
+
}
|
|
185
|
+
export declare class ProtocolError extends Error {
|
|
186
|
+
protocol: ProtocolType;
|
|
187
|
+
code?: string | undefined;
|
|
188
|
+
details?: any | undefined;
|
|
189
|
+
constructor(message: string, protocol: ProtocolType, code?: string | undefined, details?: any | undefined);
|
|
190
|
+
}
|
|
191
|
+
export declare class ConnectionError extends ProtocolError {
|
|
192
|
+
constructor(message: string, protocol: ProtocolType, details?: any);
|
|
193
|
+
}
|
|
194
|
+
export declare class InsufficientBalanceError extends ProtocolError {
|
|
195
|
+
constructor(message: string, protocol: ProtocolType, required: number, available: number);
|
|
196
|
+
}
|
|
197
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/types/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base types shared across all protocols
|
|
3
|
+
* Ported from rate-extension/src/protocols/types/base.ts
|
|
4
|
+
*/
|
|
5
|
+
// Error types
|
|
6
|
+
export class ProtocolError extends Error {
|
|
7
|
+
constructor(message, protocol, code, details) {
|
|
8
|
+
super(message);
|
|
9
|
+
this.protocol = protocol;
|
|
10
|
+
this.code = code;
|
|
11
|
+
this.details = details;
|
|
12
|
+
this.name = 'ProtocolError';
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export class ConnectionError extends ProtocolError {
|
|
16
|
+
constructor(message, protocol, details) {
|
|
17
|
+
super(message, protocol, 'CONNECTION_ERROR', details);
|
|
18
|
+
this.name = 'ConnectionError';
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export class InsufficientBalanceError extends ProtocolError {
|
|
22
|
+
constructor(message, protocol, required, available) {
|
|
23
|
+
super(message, protocol, 'INSUFFICIENT_BALANCE', { required, available });
|
|
24
|
+
this.name = 'InsufficientBalanceError';
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/types/base.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsPH,cAAc;AACd,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,YACE,OAAe,EACR,QAAsB,EACtB,IAAa,EACb,OAAa;QAEpB,KAAK,CAAC,OAAO,CAAC,CAAA;QAJP,aAAQ,GAAR,QAAQ,CAAc;QACtB,SAAI,GAAJ,IAAI,CAAS;QACb,YAAO,GAAP,OAAO,CAAM;QAGpB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,aAAa;IAChD,YAAY,OAAe,EAAE,QAAsB,EAAE,OAAa;QAChE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAA;QACrD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,aAAa;IACzD,YAAY,OAAe,EAAE,QAAsB,EAAE,QAAgB,EAAE,SAAiB;QACtF,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;QACzE,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAA;IACxC,CAAC;CACF"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-L2 atomic swap types (Spark <-> Arkade and similar pairs).
|
|
3
|
+
*
|
|
4
|
+
* Mirrored in kaleidoswap-maker/app/models/cross_l2.py — keep shapes in sync.
|
|
5
|
+
*
|
|
6
|
+
* The destination side uses our custom SHA256-VHTLC contract type
|
|
7
|
+
* (registered with the @arkade-os/sdk ContractManager via the proxy's
|
|
8
|
+
* sha256VhtlcContract.js), so the SAME sha256(preimage) hash secures both
|
|
9
|
+
* sides of a swap. Single hash, no cheating window — the taker generates
|
|
10
|
+
* preimage P, supplies sha256(P) as `payment_hash`, and the maker locks
|
|
11
|
+
* both Lightning HODL and Arkade SHA256-VHTLC against it.
|
|
12
|
+
*
|
|
13
|
+
* The atomic-swap design lives in docs/atomic-swaps/spark-arkade.md.
|
|
14
|
+
*/
|
|
15
|
+
import type { Layer } from './base';
|
|
16
|
+
export type BackendId = 'spark' | 'arkade' | 'rln' | 'boltz';
|
|
17
|
+
/**
|
|
18
|
+
* Phase of a cross-L2 swap. Rides alongside the maker's existing
|
|
19
|
+
* SwapOrderStatus on the same SwapOrder document.
|
|
20
|
+
*
|
|
21
|
+
* quoted quote handed to taker, nothing locked
|
|
22
|
+
* dest_locked destination L2 (e.g. Arkade) VHTLC funded
|
|
23
|
+
* source_invoiced source L2 (e.g. Spark) HODL invoice issued
|
|
24
|
+
* source_locked taker paid HODL on source, htlc pending
|
|
25
|
+
* dest_claimed taker revealed preimage on destination
|
|
26
|
+
* source_settled maker captured preimage, settled HODL on source
|
|
27
|
+
* refunded timeout path completed on both sides
|
|
28
|
+
*/
|
|
29
|
+
export type CrossL2Phase = 'quoted' | 'dest_locked' | 'source_invoiced' | 'source_locked' | 'dest_claimed' | 'source_settled' | 'refunded';
|
|
30
|
+
/**
|
|
31
|
+
* Parameters for a SHA256-VHTLC contract on Arkade.
|
|
32
|
+
*
|
|
33
|
+
* Pubkeys are 32-byte x-only hex; `hash` is sha256(preimage), 32-byte hex
|
|
34
|
+
* — same hash that secures the source-side Lightning HODL invoice.
|
|
35
|
+
*/
|
|
36
|
+
export interface VhtlcParams {
|
|
37
|
+
sender: string;
|
|
38
|
+
receiver: string;
|
|
39
|
+
server: string;
|
|
40
|
+
/** sha256(preimage), 32-byte hex. Same hash on both sides of the swap. */
|
|
41
|
+
hash: string;
|
|
42
|
+
refund_locktime: number;
|
|
43
|
+
claim_delay: number;
|
|
44
|
+
refund_delay: number;
|
|
45
|
+
refund_no_receiver_delay: number;
|
|
46
|
+
}
|
|
47
|
+
export interface HodlInvoiceDescriptor {
|
|
48
|
+
encoded_invoice: string;
|
|
49
|
+
payment_hash: string;
|
|
50
|
+
amount_sats: number;
|
|
51
|
+
expires_at: number;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Descriptor for an outbound Spark HTLC payment, used in the
|
|
55
|
+
* Arkade -> Spark direction. The maker SENDs a Spark HTLC to the taker;
|
|
56
|
+
* once the taker claims it, the preimage propagates back to the maker via
|
|
57
|
+
* `Payment.htlc_details.preimage` so the maker can claim its source-side
|
|
58
|
+
* Arkade VHTLC. The descriptor carries the SDK payment id needed to drive
|
|
59
|
+
* the polling.
|
|
60
|
+
*/
|
|
61
|
+
export interface SparkHtlcSendDescriptor {
|
|
62
|
+
payment_id: string;
|
|
63
|
+
payment_hash: string;
|
|
64
|
+
amount_sats: number;
|
|
65
|
+
receiver_address: string;
|
|
66
|
+
expires_at: number;
|
|
67
|
+
}
|
|
68
|
+
export interface CrossL2QuoteRequest {
|
|
69
|
+
from_layer: Layer;
|
|
70
|
+
to_layer: Layer;
|
|
71
|
+
amount_sats: number;
|
|
72
|
+
}
|
|
73
|
+
export interface CrossL2Quote {
|
|
74
|
+
quote_id: string;
|
|
75
|
+
from_layer: Layer;
|
|
76
|
+
to_layer: Layer;
|
|
77
|
+
amount_in_sats: number;
|
|
78
|
+
amount_out_sats: number;
|
|
79
|
+
fee_sats: number;
|
|
80
|
+
source_cltv_expiry_seconds: number;
|
|
81
|
+
destination_refund_locktime_seconds: number;
|
|
82
|
+
safety_margin_seconds: number;
|
|
83
|
+
expires_at: number;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Cross-L2 swap initiation, taker-driven.
|
|
87
|
+
*
|
|
88
|
+
* The TAKER generates a single secret preimage P and supplies sha256(P)
|
|
89
|
+
* as `payment_hash`. The same hash is used on BOTH sides of the swap.
|
|
90
|
+
*
|
|
91
|
+
* Spark -> Arkade direction:
|
|
92
|
+
* - source: Spark Lightning HODL committed to sha256(P) (taker pays)
|
|
93
|
+
* - destination: Arkade SHA256-VHTLC committed to sha256(P) (maker
|
|
94
|
+
* funds, taker claims with P). `receiver_dest_pubkey` = taker's
|
|
95
|
+
* Arkade x-only pubkey (VHTLC receiver). `taker_spark_address` is
|
|
96
|
+
* unused.
|
|
97
|
+
*
|
|
98
|
+
* Arkade -> Spark direction:
|
|
99
|
+
* - source: Arkade SHA256-VHTLC committed to sha256(P) (taker funds,
|
|
100
|
+
* maker claims with P). `receiver_dest_pubkey` = taker's Arkade
|
|
101
|
+
* x-only pubkey (VHTLC sender — refund-path beneficiary).
|
|
102
|
+
* - destination: Spark HTLC payment to `taker_spark_address` (maker
|
|
103
|
+
* sends, taker claims with P; preimage propagates back to maker
|
|
104
|
+
* via Payment.htlc_details.preimage).
|
|
105
|
+
*
|
|
106
|
+
* Atomicity holds because a single preimage unlocks both sides.
|
|
107
|
+
*/
|
|
108
|
+
export interface CrossL2InitiatePayload {
|
|
109
|
+
quote_id: string;
|
|
110
|
+
/** sha256(preimage), 32-byte hex. Used for both source and dest. */
|
|
111
|
+
payment_hash: string;
|
|
112
|
+
/**
|
|
113
|
+
* Taker's Arkade x-only pubkey (32-byte hex). VHTLC receiver in
|
|
114
|
+
* Spark->Arkade; VHTLC sender in Arkade->Spark.
|
|
115
|
+
*/
|
|
116
|
+
receiver_dest_pubkey: string;
|
|
117
|
+
/**
|
|
118
|
+
* Taker's Spark address. Required for Arkade->Spark (maker SENDs the
|
|
119
|
+
* Spark HTLC to this address). Ignored for Spark->Arkade.
|
|
120
|
+
*/
|
|
121
|
+
taker_spark_address?: string;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Direction-aware /initiate response.
|
|
125
|
+
*
|
|
126
|
+
* Spark -> Arkade:
|
|
127
|
+
* - `source_invoice` is the Spark Lightning HODL invoice (taker pays).
|
|
128
|
+
* - `dest_vhtlc_address` / `vhtlc_params` describe the destination
|
|
129
|
+
* Arkade VHTLC the maker has already FUNDED (taker claims with P).
|
|
130
|
+
*
|
|
131
|
+
* Arkade -> Spark:
|
|
132
|
+
* - `source_invoice` is null (no source Lightning invoice).
|
|
133
|
+
* - `dest_vhtlc_address` / `vhtlc_params` describe the SOURCE Arkade
|
|
134
|
+
* VHTLC the taker MUST FUND (maker later claims with P). Despite the
|
|
135
|
+
* legacy field name, it is the source-side VHTLC in this direction.
|
|
136
|
+
*/
|
|
137
|
+
export interface CrossL2InitiateResponse {
|
|
138
|
+
swap_id: string;
|
|
139
|
+
source_invoice: string | null;
|
|
140
|
+
dest_vhtlc_address: string;
|
|
141
|
+
vhtlc_params: VhtlcParams;
|
|
142
|
+
vhtlc_script_hex: string;
|
|
143
|
+
expires_at: number;
|
|
144
|
+
}
|
|
145
|
+
export interface CrossL2SwapStatus {
|
|
146
|
+
swap_id: string;
|
|
147
|
+
phase: CrossL2Phase;
|
|
148
|
+
preimage_observed: boolean;
|
|
149
|
+
source_settled_at?: number;
|
|
150
|
+
failure_reason?: string;
|
|
151
|
+
}
|
|
152
|
+
export interface RefundReceipt {
|
|
153
|
+
swap_id: string;
|
|
154
|
+
source_refund_txid?: string;
|
|
155
|
+
dest_refund_txid?: string;
|
|
156
|
+
refunded_at: number;
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=cross-l2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cross-l2.d.ts","sourceRoot":"","sources":["../../src/types/cross-l2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAEnC,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAA;AAE5D;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,aAAa,GACb,iBAAiB,GACjB,eAAe,GACf,cAAc,GACd,gBAAgB,GAChB,UAAU,CAAA;AAEd;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAA;IACZ,eAAe,EAAE,MAAM,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,wBAAwB,EAAE,MAAM,CAAA;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,KAAK,CAAA;IACjB,QAAQ,EAAE,KAAK,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,KAAK,CAAA;IACjB,QAAQ,EAAE,KAAK,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,0BAA0B,EAAE,MAAM,CAAA;IAClC,mCAAmC,EAAE,MAAM,CAAA;IAC3C,qBAAqB,EAAE,MAAM,CAAA;IAC7B,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,oBAAoB,EAAE,MAAM,CAAA;IAC5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,YAAY,EAAE,WAAW,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,YAAY,CAAA;IACnB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;CACpB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-L2 atomic swap types (Spark <-> Arkade and similar pairs).
|
|
3
|
+
*
|
|
4
|
+
* Mirrored in kaleidoswap-maker/app/models/cross_l2.py — keep shapes in sync.
|
|
5
|
+
*
|
|
6
|
+
* The destination side uses our custom SHA256-VHTLC contract type
|
|
7
|
+
* (registered with the @arkade-os/sdk ContractManager via the proxy's
|
|
8
|
+
* sha256VhtlcContract.js), so the SAME sha256(preimage) hash secures both
|
|
9
|
+
* sides of a swap. Single hash, no cheating window — the taker generates
|
|
10
|
+
* preimage P, supplies sha256(P) as `payment_hash`, and the maker locks
|
|
11
|
+
* both Lightning HODL and Arkade SHA256-VHTLC against it.
|
|
12
|
+
*
|
|
13
|
+
* The atomic-swap design lives in docs/atomic-swaps/spark-arkade.md.
|
|
14
|
+
*/
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=cross-l2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cross-l2.js","sourceRoot":"","sources":["../../src/types/cross-l2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Flashnet Protocol Types
|
|
3
|
+
* Ported from rate-extension/src/protocols/types/flashnet.ts
|
|
4
|
+
*/
|
|
5
|
+
export type FlashnetNetwork = 'mainnet' | 'regtest';
|
|
6
|
+
export declare const USDB_TOKEN_ADDRESS: Record<'mainnet' | 'regtest', string>;
|
|
7
|
+
export declare const BTC_ASSET_PUBKEY = "020202020202020202020202020202020202020202020202020202020202020202";
|
|
8
|
+
export declare const USDB_DECIMALS = 6;
|
|
9
|
+
export declare const BTC_DECIMALS = 8;
|
|
10
|
+
export declare const DEFAULT_SLIPPAGE_BPS = 500;
|
|
11
|
+
export declare function getFlashnetNetworkForSpark(sparkNetwork: string | null | undefined): FlashnetNetwork | null;
|
|
12
|
+
export declare function getFlashnetUsdbTokenAddress(network: FlashnetNetwork): string;
|
|
13
|
+
export interface FlashnetSwapSimulation {
|
|
14
|
+
amountOut: bigint;
|
|
15
|
+
executionPrice: number;
|
|
16
|
+
priceImpactPct: number;
|
|
17
|
+
}
|
|
18
|
+
export interface FlashnetSwapResult {
|
|
19
|
+
amountOut: bigint;
|
|
20
|
+
amountIn: bigint;
|
|
21
|
+
outboundTransferId: string;
|
|
22
|
+
}
|
|
23
|
+
export interface FlashnetPool {
|
|
24
|
+
lpPublicKey: string;
|
|
25
|
+
assetAAddress: string;
|
|
26
|
+
assetBAddress: string;
|
|
27
|
+
reserveA: bigint;
|
|
28
|
+
reserveB: bigint;
|
|
29
|
+
tvl?: number;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=flashnet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flashnet.d.ts","sourceRoot":"","sources":["../../src/types/flashnet.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,CAAA;AAEnD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,SAAS,GAAG,SAAS,EAAE,MAAM,CAGpE,CAAA;AAED,eAAO,MAAM,gBAAgB,uEAAuE,CAAA;AAEpG,eAAO,MAAM,aAAa,IAAI,CAAA;AAC9B,eAAO,MAAM,YAAY,IAAI,CAAA;AAE7B,eAAO,MAAM,oBAAoB,MAAM,CAAA;AAEvC,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC,eAAe,GAAG,IAAI,CAIxB;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAE5E;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Flashnet Protocol Types
|
|
3
|
+
* Ported from rate-extension/src/protocols/types/flashnet.ts
|
|
4
|
+
*/
|
|
5
|
+
export const USDB_TOKEN_ADDRESS = {
|
|
6
|
+
mainnet: 'btkn1xgrvjwey5ngcagvap2dzzvsy4uk8ua9x69k82dwvt5e7ef9drm9qztux87',
|
|
7
|
+
regtest: 'btkn1xgrvjwey5ngcagvap2dzzvsy4uk8ua9x69k82dwvt5e7ef9drm9qztux87',
|
|
8
|
+
};
|
|
9
|
+
export const BTC_ASSET_PUBKEY = '020202020202020202020202020202020202020202020202020202020202020202';
|
|
10
|
+
export const USDB_DECIMALS = 6;
|
|
11
|
+
export const BTC_DECIMALS = 8;
|
|
12
|
+
export const DEFAULT_SLIPPAGE_BPS = 500;
|
|
13
|
+
export function getFlashnetNetworkForSpark(sparkNetwork) {
|
|
14
|
+
if (sparkNetwork === 'mainnet')
|
|
15
|
+
return 'mainnet';
|
|
16
|
+
if (sparkNetwork === 'regtest')
|
|
17
|
+
return 'regtest';
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
export function getFlashnetUsdbTokenAddress(network) {
|
|
21
|
+
return USDB_TOKEN_ADDRESS[network];
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=flashnet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flashnet.js","sourceRoot":"","sources":["../../src/types/flashnet.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,CAAC,MAAM,kBAAkB,GAA0C;IACvE,OAAO,EAAE,iEAAiE;IAC1E,OAAO,EAAE,iEAAiE;CAC3E,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,oEAAoE,CAAA;AAEpG,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAA;AAC9B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAA;AAE7B,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAA;AAEvC,MAAM,UAAU,0BAA0B,CACxC,YAAuC;IAEvC,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAChD,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAChD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAAwB;IAClE,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAA;AACpC,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RGB Protocol Types
|
|
3
|
+
* Ported from rate-extension/src/protocols/types/rgb.ts
|
|
4
|
+
*/
|
|
5
|
+
import { BaseProtocolConfig } from '../adapters/IProtocolAdapter';
|
|
6
|
+
export interface RgbConfig extends BaseProtocolConfig {
|
|
7
|
+
protocol: 'RGB';
|
|
8
|
+
makerUrl?: string;
|
|
9
|
+
nodeUrl: string;
|
|
10
|
+
jwt?: string;
|
|
11
|
+
apiKey?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface RgbAssetMetadata {
|
|
14
|
+
assetId: string;
|
|
15
|
+
contractId?: string;
|
|
16
|
+
schema: 'Nia' | 'Cfa' | string;
|
|
17
|
+
issuedSupply: number;
|
|
18
|
+
timestamp: number;
|
|
19
|
+
addedAt: number;
|
|
20
|
+
details?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface RgbChannel {
|
|
23
|
+
channelId: string;
|
|
24
|
+
peerPubkey: string;
|
|
25
|
+
capacitySat: number;
|
|
26
|
+
localBalanceSat: number;
|
|
27
|
+
remoteBalanceSat: number;
|
|
28
|
+
isActive: boolean;
|
|
29
|
+
isUsable: boolean;
|
|
30
|
+
assetId?: string;
|
|
31
|
+
assetLocalAmount?: number;
|
|
32
|
+
assetRemoteAmount?: number;
|
|
33
|
+
}
|
|
34
|
+
export interface RgbInvoice {
|
|
35
|
+
invoice: string;
|
|
36
|
+
recipientId: string;
|
|
37
|
+
assetId: string;
|
|
38
|
+
expiresAt: number;
|
|
39
|
+
}
|
|
40
|
+
export interface RgbTransfer {
|
|
41
|
+
txid?: string;
|
|
42
|
+
recipientId: string;
|
|
43
|
+
assetId: string;
|
|
44
|
+
amount: number;
|
|
45
|
+
status: 'pending' | 'confirmed' | 'failed';
|
|
46
|
+
timestamp: number;
|
|
47
|
+
}
|
|
48
|
+
export interface KaleidoswapQuote {
|
|
49
|
+
rfqId: string;
|
|
50
|
+
fromAsset: string;
|
|
51
|
+
fromAmount: number;
|
|
52
|
+
toAsset: string;
|
|
53
|
+
toAmount: number;
|
|
54
|
+
price: number;
|
|
55
|
+
fee: {
|
|
56
|
+
baseFee: number;
|
|
57
|
+
variableFee: number;
|
|
58
|
+
feeRate: number;
|
|
59
|
+
finalFee: number;
|
|
60
|
+
feeAsset: string;
|
|
61
|
+
feeAssetPrecision: number;
|
|
62
|
+
};
|
|
63
|
+
timestamp: number;
|
|
64
|
+
expiresAt: number;
|
|
65
|
+
}
|
|
66
|
+
export interface RgbNodeInfo {
|
|
67
|
+
pubkey: string;
|
|
68
|
+
alias?: string;
|
|
69
|
+
network: string;
|
|
70
|
+
blockHeight: number;
|
|
71
|
+
syncStatus?: {
|
|
72
|
+
synced: boolean;
|
|
73
|
+
progress: number;
|
|
74
|
+
};
|
|
75
|
+
version?: string;
|
|
76
|
+
}
|
|
77
|
+
export interface TradingPair {
|
|
78
|
+
id?: string;
|
|
79
|
+
baseAsset: string;
|
|
80
|
+
baseAssetId: string;
|
|
81
|
+
basePrecision: number;
|
|
82
|
+
quoteAsset: string;
|
|
83
|
+
quoteAssetId: string;
|
|
84
|
+
quotePrecision: number;
|
|
85
|
+
isActive: boolean;
|
|
86
|
+
minBaseOrderSize: number;
|
|
87
|
+
maxBaseOrderSize: number;
|
|
88
|
+
minQuoteOrderSize: number;
|
|
89
|
+
maxQuoteOrderSize: number;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=rgb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rgb.d.ts","sourceRoot":"","sources":["../../src/types/rgb.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rgb.js","sourceRoot":"","sources":["../../src/types/rgb.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Spark Protocol Types
|
|
3
|
+
* Ported from rate-extension/src/protocols/types/spark.ts
|
|
4
|
+
*/
|
|
5
|
+
import { BaseProtocolConfig } from '../adapters/IProtocolAdapter';
|
|
6
|
+
export interface SparkConfig extends Omit<BaseProtocolConfig, 'network'> {
|
|
7
|
+
protocol: 'SPARK';
|
|
8
|
+
mnemonic: string;
|
|
9
|
+
network?: 'mainnet' | 'testnet' | 'regtest' | 'signet';
|
|
10
|
+
}
|
|
11
|
+
export type SparkTransferDirection = 'INCOMING' | 'OUTGOING' | string;
|
|
12
|
+
export type SparkTransferStatus = 'TRANSFER_STATUS_SENDER_INITIATED' | 'TRANSFER_STATUS_RECEIVER_KEY_TWEAKED' | 'TRANSFER_STATUS_COMPLETED' | 'TRANSFER_STATUS_RETURNED' | 'TRANSFER_STATUS_EXPIRED' | string;
|
|
13
|
+
export interface SparkTransfer {
|
|
14
|
+
id: string;
|
|
15
|
+
senderIdentityPublicKey: string;
|
|
16
|
+
receiverIdentityPublicKey: string;
|
|
17
|
+
status: SparkTransferStatus;
|
|
18
|
+
totalValue: number;
|
|
19
|
+
expiryTime: Date | undefined;
|
|
20
|
+
createdTime: Date | undefined;
|
|
21
|
+
updatedTime: Date | undefined;
|
|
22
|
+
type: string;
|
|
23
|
+
transferDirection: SparkTransferDirection;
|
|
24
|
+
sparkInvoice: string | undefined;
|
|
25
|
+
}
|
|
26
|
+
export interface SparkLightningInvoice {
|
|
27
|
+
id: string;
|
|
28
|
+
invoice: {
|
|
29
|
+
encodedInvoice: string;
|
|
30
|
+
paymentHash: string;
|
|
31
|
+
amountSats?: number;
|
|
32
|
+
memo?: string;
|
|
33
|
+
expiryTime?: Date;
|
|
34
|
+
};
|
|
35
|
+
status: string;
|
|
36
|
+
createdTime?: Date;
|
|
37
|
+
}
|
|
38
|
+
export interface SparkLightningSend {
|
|
39
|
+
id: string;
|
|
40
|
+
invoice: string;
|
|
41
|
+
amountSats: number;
|
|
42
|
+
feeSats?: number;
|
|
43
|
+
status: string;
|
|
44
|
+
createdTime?: Date;
|
|
45
|
+
}
|
|
46
|
+
export interface SparkNodeInfo {
|
|
47
|
+
id: string;
|
|
48
|
+
balanceMsat: number;
|
|
49
|
+
inboundLiquidityMsats: number;
|
|
50
|
+
onchainBalanceMsat: number;
|
|
51
|
+
maxPayableMsat: number;
|
|
52
|
+
maxReceivableMsat: number;
|
|
53
|
+
connectedPeers: string[];
|
|
54
|
+
blockHeight: number;
|
|
55
|
+
channelsBalanceMsat: number;
|
|
56
|
+
pendingOnchainBalanceMsat: number;
|
|
57
|
+
utxos: number;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=spark.d.ts.map
|