@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.
Files changed (125) hide show
  1. package/dist/adapters/ArkadeAdapter.d.ts +48 -0
  2. package/dist/adapters/ArkadeAdapter.d.ts.map +1 -0
  3. package/dist/adapters/ArkadeAdapter.js +314 -0
  4. package/dist/adapters/ArkadeAdapter.js.map +1 -0
  5. package/dist/adapters/IProtocolAdapter.d.ts +71 -0
  6. package/dist/adapters/IProtocolAdapter.d.ts.map +1 -0
  7. package/dist/adapters/IProtocolAdapter.js +29 -0
  8. package/dist/adapters/IProtocolAdapter.js.map +1 -0
  9. package/dist/adapters/RgbAdapter.d.ts +70 -0
  10. package/dist/adapters/RgbAdapter.d.ts.map +1 -0
  11. package/dist/adapters/RgbAdapter.js +818 -0
  12. package/dist/adapters/RgbAdapter.js.map +1 -0
  13. package/dist/adapters/SparkAdapter.d.ts +47 -0
  14. package/dist/adapters/SparkAdapter.d.ts.map +1 -0
  15. package/dist/adapters/SparkAdapter.js +390 -0
  16. package/dist/adapters/SparkAdapter.js.map +1 -0
  17. package/dist/adapters/wdk/ArkadeWdkAdapter.d.ts +78 -0
  18. package/dist/adapters/wdk/ArkadeWdkAdapter.d.ts.map +1 -0
  19. package/dist/adapters/wdk/ArkadeWdkAdapter.js +226 -0
  20. package/dist/adapters/wdk/ArkadeWdkAdapter.js.map +1 -0
  21. package/dist/adapters/wdk/LiquidWdkAdapter.d.ts +88 -0
  22. package/dist/adapters/wdk/LiquidWdkAdapter.d.ts.map +1 -0
  23. package/dist/adapters/wdk/LiquidWdkAdapter.js +272 -0
  24. package/dist/adapters/wdk/LiquidWdkAdapter.js.map +1 -0
  25. package/dist/adapters/wdk/RlnWdkAdapter.d.ts +85 -0
  26. package/dist/adapters/wdk/RlnWdkAdapter.d.ts.map +1 -0
  27. package/dist/adapters/wdk/RlnWdkAdapter.js +308 -0
  28. package/dist/adapters/wdk/RlnWdkAdapter.js.map +1 -0
  29. package/dist/adapters/wdk/SparkWdkAdapter.d.ts +79 -0
  30. package/dist/adapters/wdk/SparkWdkAdapter.d.ts.map +1 -0
  31. package/dist/adapters/wdk/SparkWdkAdapter.js +317 -0
  32. package/dist/adapters/wdk/SparkWdkAdapter.js.map +1 -0
  33. package/dist/adapters/wdk/moduleLoader.d.ts +22 -0
  34. package/dist/adapters/wdk/moduleLoader.d.ts.map +1 -0
  35. package/dist/adapters/wdk/moduleLoader.js +31 -0
  36. package/dist/adapters/wdk/moduleLoader.js.map +1 -0
  37. package/dist/capabilities/index.d.ts +46 -0
  38. package/dist/capabilities/index.d.ts.map +1 -0
  39. package/dist/capabilities/index.js +102 -0
  40. package/dist/capabilities/index.js.map +1 -0
  41. package/dist/disclosure/index.d.ts +51 -0
  42. package/dist/disclosure/index.d.ts.map +1 -0
  43. package/dist/disclosure/index.js +64 -0
  44. package/dist/disclosure/index.js.map +1 -0
  45. package/dist/index.d.ts +34 -0
  46. package/dist/index.d.ts.map +1 -0
  47. package/dist/index.js +43 -0
  48. package/dist/index.js.map +1 -0
  49. package/dist/lib/arkade-client-manager.d.ts +47 -0
  50. package/dist/lib/arkade-client-manager.d.ts.map +1 -0
  51. package/dist/lib/arkade-client-manager.js +121 -0
  52. package/dist/lib/arkade-client-manager.js.map +1 -0
  53. package/dist/lib/bolt11.d.ts +18 -0
  54. package/dist/lib/bolt11.d.ts.map +1 -0
  55. package/dist/lib/bolt11.js +31 -0
  56. package/dist/lib/bolt11.js.map +1 -0
  57. package/dist/lib/flashnet-client-manager.d.ts +29 -0
  58. package/dist/lib/flashnet-client-manager.d.ts.map +1 -0
  59. package/dist/lib/flashnet-client-manager.js +116 -0
  60. package/dist/lib/flashnet-client-manager.js.map +1 -0
  61. package/dist/lib/kaleido-client-manager.d.ts +26 -0
  62. package/dist/lib/kaleido-client-manager.d.ts.map +1 -0
  63. package/dist/lib/kaleido-client-manager.js +55 -0
  64. package/dist/lib/kaleido-client-manager.js.map +1 -0
  65. package/dist/lib/spark-client-manager.d.ts +41 -0
  66. package/dist/lib/spark-client-manager.d.ts.map +1 -0
  67. package/dist/lib/spark-client-manager.js +101 -0
  68. package/dist/lib/spark-client-manager.js.map +1 -0
  69. package/dist/manager/ProtocolManager.d.ts +57 -0
  70. package/dist/manager/ProtocolManager.d.ts.map +1 -0
  71. package/dist/manager/ProtocolManager.js +228 -0
  72. package/dist/manager/ProtocolManager.js.map +1 -0
  73. package/dist/ports/index.d.ts +29 -0
  74. package/dist/ports/index.d.ts.map +1 -0
  75. package/dist/ports/index.js +9 -0
  76. package/dist/ports/index.js.map +1 -0
  77. package/dist/receive/unifiedReceive.d.ts +54 -0
  78. package/dist/receive/unifiedReceive.d.ts.map +1 -0
  79. package/dist/receive/unifiedReceive.js +102 -0
  80. package/dist/receive/unifiedReceive.js.map +1 -0
  81. package/dist/registry/createWdkRegistry.d.ts +20 -0
  82. package/dist/registry/createWdkRegistry.d.ts.map +1 -0
  83. package/dist/registry/createWdkRegistry.js +32 -0
  84. package/dist/registry/createWdkRegistry.js.map +1 -0
  85. package/dist/router/destination.d.ts +28 -0
  86. package/dist/router/destination.d.ts.map +1 -0
  87. package/dist/router/destination.js +72 -0
  88. package/dist/router/destination.js.map +1 -0
  89. package/dist/router/index.d.ts +55 -0
  90. package/dist/router/index.d.ts.map +1 -0
  91. package/dist/router/index.js +67 -0
  92. package/dist/router/index.js.map +1 -0
  93. package/dist/swap/KaleidoswapSwap.d.ts +44 -0
  94. package/dist/swap/KaleidoswapSwap.d.ts.map +1 -0
  95. package/dist/swap/KaleidoswapSwap.js +123 -0
  96. package/dist/swap/KaleidoswapSwap.js.map +1 -0
  97. package/dist/types/arkade.d.ts +40 -0
  98. package/dist/types/arkade.d.ts.map +1 -0
  99. package/dist/types/arkade.js +6 -0
  100. package/dist/types/arkade.js.map +1 -0
  101. package/dist/types/base.d.ts +197 -0
  102. package/dist/types/base.d.ts.map +1 -0
  103. package/dist/types/base.js +27 -0
  104. package/dist/types/base.js.map +1 -0
  105. package/dist/types/cross-l2.d.ts +158 -0
  106. package/dist/types/cross-l2.d.ts.map +1 -0
  107. package/dist/types/cross-l2.js +16 -0
  108. package/dist/types/cross-l2.js.map +1 -0
  109. package/dist/types/flashnet.d.ts +31 -0
  110. package/dist/types/flashnet.d.ts.map +1 -0
  111. package/dist/types/flashnet.js +23 -0
  112. package/dist/types/flashnet.js.map +1 -0
  113. package/dist/types/rgb.d.ts +91 -0
  114. package/dist/types/rgb.d.ts.map +1 -0
  115. package/dist/types/rgb.js +6 -0
  116. package/dist/types/rgb.js.map +1 -0
  117. package/dist/types/spark.d.ts +59 -0
  118. package/dist/types/spark.d.ts.map +1 -0
  119. package/dist/types/spark.js +6 -0
  120. package/dist/types/spark.js.map +1 -0
  121. package/dist/utils.d.ts +10 -0
  122. package/dist/utils.d.ts.map +1 -0
  123. package/dist/utils.js +23 -0
  124. package/dist/utils.js.map +1 -0
  125. package/package.json +35 -0
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Arkade Protocol Types
3
+ * Ported from rate-extension/src/protocols/types/arkade.ts
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=arkade.js.map
@@ -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,6 @@
1
+ /**
2
+ * RGB Protocol Types
3
+ * Ported from rate-extension/src/protocols/types/rgb.ts
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=rgb.js.map
@@ -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