@lendasat/lendaswap-sdk-pure 0.2.41 → 0.2.43

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 (252) hide show
  1. package/dist/_esm-6K2AP5GG.js +3663 -0
  2. package/dist/_esm-6K2AP5GG.js.map +1 -0
  3. package/dist/_esm-UGRDSVEV.cjs +3662 -0
  4. package/dist/_esm-UGRDSVEV.cjs.map +1 -0
  5. package/dist/api/client.d.ts +0 -4
  6. package/dist/api/client.d.ts.map +1 -1
  7. package/dist/base-2KYNAFR3.cjs +109 -0
  8. package/dist/base-2KYNAFR3.cjs.map +1 -0
  9. package/dist/base-HMHH3XPM.js +9 -0
  10. package/dist/base-HMHH3XPM.js.map +1 -0
  11. package/dist/ccip-EBXWV2U3.js +8 -0
  12. package/dist/ccip-EBXWV2U3.js.map +1 -0
  13. package/dist/ccip-PD37NJHA.cjs +26 -0
  14. package/dist/ccip-PD37NJHA.cjs.map +1 -0
  15. package/dist/cctp-bridge/index.cjs +67 -0
  16. package/dist/cctp-bridge/index.cjs.map +1 -0
  17. package/dist/cctp-bridge/index.js +53 -15
  18. package/dist/cctp-bridge/index.js.map +1 -1
  19. package/dist/cctp-inbound/client.d.ts +21 -19
  20. package/dist/cctp-inbound/client.d.ts.map +1 -1
  21. package/dist/cctp-inbound/smartAccount.d.ts +21 -19
  22. package/dist/cctp-inbound/smartAccount.d.ts.map +1 -1
  23. package/dist/chunk-4JXN4UPB.js +554 -0
  24. package/dist/chunk-4JXN4UPB.js.map +1 -0
  25. package/dist/chunk-A4GKKURK.cjs +430 -0
  26. package/dist/chunk-A4GKKURK.cjs.map +1 -0
  27. package/dist/chunk-BZU3R5DJ.cjs +554 -0
  28. package/dist/chunk-BZU3R5DJ.cjs.map +1 -0
  29. package/dist/chunk-DBBCKPZ5.js +421 -0
  30. package/dist/chunk-DBBCKPZ5.js.map +1 -0
  31. package/dist/chunk-DNSJDKTP.cjs +96 -0
  32. package/dist/chunk-DNSJDKTP.cjs.map +1 -0
  33. package/dist/chunk-EIK6BZWG.js +90 -0
  34. package/dist/chunk-EIK6BZWG.js.map +1 -0
  35. package/dist/chunk-GVAPVS4Z.js +6144 -0
  36. package/dist/chunk-GVAPVS4Z.js.map +1 -0
  37. package/dist/chunk-I7TGLGN6.js +46 -0
  38. package/dist/chunk-I7TGLGN6.js.map +1 -0
  39. package/dist/chunk-JBVKWKD4.cjs +50 -0
  40. package/dist/chunk-JBVKWKD4.cjs.map +1 -0
  41. package/dist/chunk-LA3YX2HD.js +47096 -0
  42. package/dist/chunk-LA3YX2HD.js.map +1 -0
  43. package/dist/chunk-PKDJZJMV.cjs +2214 -0
  44. package/dist/chunk-PKDJZJMV.cjs.map +1 -0
  45. package/dist/chunk-PRN5VZOM.js +370 -0
  46. package/dist/chunk-PRN5VZOM.js.map +1 -0
  47. package/dist/chunk-RIOT5VOJ.cjs +47240 -0
  48. package/dist/chunk-RIOT5VOJ.cjs.map +1 -0
  49. package/dist/chunk-WVZSHRV7.cjs +431 -0
  50. package/dist/chunk-WVZSHRV7.cjs.map +1 -0
  51. package/dist/chunk-YLWPBHMV.cjs +6311 -0
  52. package/dist/chunk-YLWPBHMV.cjs.map +1 -0
  53. package/dist/chunk-Z2FCTNRC.js +2210 -0
  54. package/dist/chunk-Z2FCTNRC.js.map +1 -0
  55. package/dist/client.d.ts +68 -1
  56. package/dist/client.d.ts.map +1 -1
  57. package/dist/compose-quote.d.ts +77 -0
  58. package/dist/compose-quote.d.ts.map +1 -0
  59. package/dist/delegate.cjs +23 -0
  60. package/dist/delegate.cjs.map +1 -0
  61. package/dist/delegate.js +8 -269
  62. package/dist/delegate.js.map +1 -1
  63. package/dist/dist-PWXNFVDF.js +8 -0
  64. package/dist/dist-PWXNFVDF.js.map +1 -0
  65. package/dist/dist-VEHYC67F.cjs +550 -0
  66. package/dist/dist-VEHYC67F.cjs.map +1 -0
  67. package/dist/esplora.d.ts +14 -0
  68. package/dist/esplora.d.ts.map +1 -1
  69. package/dist/generated/api.d.ts +235 -38
  70. package/dist/generated/api.d.ts.map +1 -1
  71. package/dist/index.cjs +35461 -0
  72. package/dist/index.cjs.map +1 -0
  73. package/dist/index.d.ts +2 -1
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +35312 -32
  76. package/dist/index.js.map +1 -1
  77. package/dist/mine.wasm-LUTPOAD2.js +12 -0
  78. package/dist/mine.wasm-LUTPOAD2.js.map +1 -0
  79. package/dist/mine.wasm-Z3ORSBKN.cjs +12 -0
  80. package/dist/mine.wasm-Z3ORSBKN.cjs.map +1 -0
  81. package/dist/node.cjs +166 -0
  82. package/dist/node.cjs.map +1 -0
  83. package/dist/node.js +159 -18
  84. package/dist/node.js.map +1 -1
  85. package/dist/secp256k1-B6OW5ZCM.js +8 -0
  86. package/dist/secp256k1-B6OW5ZCM.js.map +1 -0
  87. package/dist/secp256k1-PJCSE4N6.cjs +30 -0
  88. package/dist/secp256k1-PJCSE4N6.cjs.map +1 -0
  89. package/dist/tokens.d.ts +2 -1
  90. package/dist/tokens.d.ts.map +1 -1
  91. package/dist/types/chain-config.d.ts +50 -0
  92. package/dist/types/chain-config.d.ts.map +1 -0
  93. package/dist/types/chain.d.ts +11 -0
  94. package/dist/types/chain.d.ts.map +1 -0
  95. package/dist/types/dex-quote.d.ts +85 -0
  96. package/dist/types/dex-quote.d.ts.map +1 -0
  97. package/dist/types/index.d.ts +15 -0
  98. package/dist/types/index.d.ts.map +1 -0
  99. package/dist/types/network-fees.d.ts +43 -0
  100. package/dist/types/network-fees.d.ts.map +1 -0
  101. package/dist/types/quote.d.ts +87 -0
  102. package/dist/types/quote.d.ts.map +1 -0
  103. package/dist/types/swap-pairs.d.ts +37 -0
  104. package/dist/types/swap-pairs.d.ts.map +1 -0
  105. package/dist/version.d.ts +2 -2
  106. package/dist/wallet-4YGTKWNZ.js +7 -0
  107. package/dist/wallet-4YGTKWNZ.js.map +1 -0
  108. package/dist/wallet-SZJDXAY7.cjs +45 -0
  109. package/dist/wallet-SZJDXAY7.cjs.map +1 -0
  110. package/package.json +23 -10
  111. package/dist/api/client.js +0 -13
  112. package/dist/api/client.js.map +0 -1
  113. package/dist/arkade-network.js +0 -40
  114. package/dist/arkade-network.js.map +0 -1
  115. package/dist/arkade.js +0 -61
  116. package/dist/arkade.js.map +0 -1
  117. package/dist/cctp/attestation.js +0 -149
  118. package/dist/cctp/attestation.js.map +0 -1
  119. package/dist/cctp/constants.js +0 -92
  120. package/dist/cctp/constants.js.map +0 -1
  121. package/dist/cctp/fee.js +0 -70
  122. package/dist/cctp/fee.js.map +0 -1
  123. package/dist/cctp/index.js +0 -13
  124. package/dist/cctp/index.js.map +0 -1
  125. package/dist/cctp/types.js +0 -5
  126. package/dist/cctp/types.js.map +0 -1
  127. package/dist/cctp/utils.js +0 -91
  128. package/dist/cctp/utils.js.map +0 -1
  129. package/dist/cctp-bridge/bridge.js +0 -74
  130. package/dist/cctp-bridge/bridge.js.map +0 -1
  131. package/dist/cctp-inbound/approveAndBurn.js +0 -95
  132. package/dist/cctp-inbound/approveAndBurn.js.map +0 -1
  133. package/dist/cctp-inbound/burn.js +0 -66
  134. package/dist/cctp-inbound/burn.js.map +0 -1
  135. package/dist/cctp-inbound/chainMap.js +0 -128
  136. package/dist/cctp-inbound/chainMap.js.map +0 -1
  137. package/dist/cctp-inbound/client.js +0 -125
  138. package/dist/cctp-inbound/client.js.map +0 -1
  139. package/dist/cctp-inbound/eip2612.js +0 -95
  140. package/dist/cctp-inbound/eip2612.js.map +0 -1
  141. package/dist/cctp-inbound/evmSignerAdapter.js +0 -82
  142. package/dist/cctp-inbound/evmSignerAdapter.js.map +0 -1
  143. package/dist/cctp-inbound/fundSwap.js +0 -95
  144. package/dist/cctp-inbound/fundSwap.js.map +0 -1
  145. package/dist/cctp-inbound/index.js +0 -34
  146. package/dist/cctp-inbound/index.js.map +0 -1
  147. package/dist/cctp-inbound/permit2.js +0 -32
  148. package/dist/cctp-inbound/permit2.js.map +0 -1
  149. package/dist/cctp-inbound/preflight.js +0 -84
  150. package/dist/cctp-inbound/preflight.js.map +0 -1
  151. package/dist/cctp-inbound/recover.js +0 -177
  152. package/dist/cctp-inbound/recover.js.map +0 -1
  153. package/dist/cctp-inbound/smartAccount.js +0 -117
  154. package/dist/cctp-inbound/smartAccount.js.map +0 -1
  155. package/dist/cctp-inbound/submit.js +0 -136
  156. package/dist/cctp-inbound/submit.js.map +0 -1
  157. package/dist/cctp-inbound/types.js +0 -5
  158. package/dist/cctp-inbound/types.js.map +0 -1
  159. package/dist/cctp-inbound/userOp.js +0 -151
  160. package/dist/cctp-inbound/userOp.js.map +0 -1
  161. package/dist/client.js +0 -4126
  162. package/dist/client.js.map +0 -1
  163. package/dist/create/arkade-to-lightning.js +0 -76
  164. package/dist/create/arkade-to-lightning.js.map +0 -1
  165. package/dist/create/arkade.js +0 -86
  166. package/dist/create/arkade.js.map +0 -1
  167. package/dist/create/bitcoin-to-arkade.js +0 -76
  168. package/dist/create/bitcoin-to-arkade.js.map +0 -1
  169. package/dist/create/bitcoin.js +0 -77
  170. package/dist/create/bitcoin.js.map +0 -1
  171. package/dist/create/evm-to-arkade.js +0 -80
  172. package/dist/create/evm-to-arkade.js.map +0 -1
  173. package/dist/create/evm-to-bitcoin.js +0 -82
  174. package/dist/create/evm-to-bitcoin.js.map +0 -1
  175. package/dist/create/evm-to-lightning.js +0 -89
  176. package/dist/create/evm-to-lightning.js.map +0 -1
  177. package/dist/create/index.js +0 -21
  178. package/dist/create/index.js.map +0 -1
  179. package/dist/create/lightning-to-arkade.js +0 -69
  180. package/dist/create/lightning-to-arkade.js.map +0 -1
  181. package/dist/create/lightning.js +0 -61
  182. package/dist/create/lightning.js.map +0 -1
  183. package/dist/create/retry.js +0 -71
  184. package/dist/create/retry.js.map +0 -1
  185. package/dist/create/types.js +0 -5
  186. package/dist/create/types.js.map +0 -1
  187. package/dist/escrow/index.js +0 -115
  188. package/dist/escrow/index.js.map +0 -1
  189. package/dist/esplora.js +0 -47
  190. package/dist/esplora.js.map +0 -1
  191. package/dist/evm/coordinator.js +0 -714
  192. package/dist/evm/coordinator.js.map +0 -1
  193. package/dist/evm/htlc.js +0 -278
  194. package/dist/evm/htlc.js.map +0 -1
  195. package/dist/evm/index.js +0 -10
  196. package/dist/evm/index.js.map +0 -1
  197. package/dist/evm/signing.js +0 -70
  198. package/dist/evm/signing.js.map +0 -1
  199. package/dist/evm/wallet.js +0 -133
  200. package/dist/evm/wallet.js.map +0 -1
  201. package/dist/generated/api.js +0 -6
  202. package/dist/generated/api.js.map +0 -1
  203. package/dist/logging.js +0 -130
  204. package/dist/logging.js.map +0 -1
  205. package/dist/price-calculations.js +0 -135
  206. package/dist/price-calculations.js.map +0 -1
  207. package/dist/redeem/arkade.js +0 -416
  208. package/dist/redeem/arkade.js.map +0 -1
  209. package/dist/redeem/ethereum.js +0 -206
  210. package/dist/redeem/ethereum.js.map +0 -1
  211. package/dist/redeem/gasless.js +0 -73
  212. package/dist/redeem/gasless.js.map +0 -1
  213. package/dist/redeem/index.js +0 -189
  214. package/dist/redeem/index.js.map +0 -1
  215. package/dist/redeem/types.js +0 -36
  216. package/dist/redeem/types.js.map +0 -1
  217. package/dist/refund/arkade.js +0 -200
  218. package/dist/refund/arkade.js.map +0 -1
  219. package/dist/refund/collab-arkade-evm.js +0 -307
  220. package/dist/refund/collab-arkade-evm.js.map +0 -1
  221. package/dist/refund/collab-arkade-lightning.js +0 -245
  222. package/dist/refund/collab-arkade-lightning.js.map +0 -1
  223. package/dist/refund/index.js +0 -12
  224. package/dist/refund/index.js.map +0 -1
  225. package/dist/refund/onchain.js +0 -366
  226. package/dist/refund/onchain.js.map +0 -1
  227. package/dist/signer/index.js +0 -249
  228. package/dist/signer/index.js.map +0 -1
  229. package/dist/storage/idb.js +0 -236
  230. package/dist/storage/idb.js.map +0 -1
  231. package/dist/storage/index.js +0 -98
  232. package/dist/storage/index.js.map +0 -1
  233. package/dist/storage/sqlite.js +0 -206
  234. package/dist/storage/sqlite.js.map +0 -1
  235. package/dist/storage/types.js +0 -9
  236. package/dist/storage/types.js.map +0 -1
  237. package/dist/tokens.js +0 -322
  238. package/dist/tokens.js.map +0 -1
  239. package/dist/usd-price.js +0 -96
  240. package/dist/usd-price.js.map +0 -1
  241. package/dist/usdt0-bridge/constants.js +0 -71
  242. package/dist/usdt0-bridge/constants.js.map +0 -1
  243. package/dist/usdt0-bridge/index.js +0 -11
  244. package/dist/usdt0-bridge/index.js.map +0 -1
  245. package/dist/usdt0-bridge/tracking.js +0 -123
  246. package/dist/usdt0-bridge/tracking.js.map +0 -1
  247. package/dist/usdt0-bridge/utils.js +0 -51
  248. package/dist/usdt0-bridge/utils.js.map +0 -1
  249. package/dist/version.js +0 -6
  250. package/dist/version.js.map +0 -1
  251. package/dist/ws.js +0 -145
  252. package/dist/ws.js.map +0 -1
package/dist/logging.js DELETED
@@ -1,130 +0,0 @@
1
- const LEVEL_VALUE = {
2
- trace: 10,
3
- debug: 20,
4
- info: 30,
5
- warn: 40,
6
- error: 50,
7
- };
8
- const SECRET_FIELD_PATTERN = new RegExp("(^|_|-|\\b)" +
9
- "(secret|secretkey|usersecretkey|privatekey|mnemonic|xprv|" +
10
- "preimage|signature|authorization|apikey|api_key|bearer)" +
11
- "(_|-|\\b|$)", "i");
12
- const REDACTED = "[REDACTED]";
13
- export const noopLogger = Object.freeze({});
14
- function shouldLog(level, configuredLevel) {
15
- if (configuredLevel === "silent")
16
- return false;
17
- return LEVEL_VALUE[level] >= LEVEL_VALUE[configuredLevel];
18
- }
19
- function serializeError(error) {
20
- if (error instanceof Error) {
21
- return {
22
- name: error.name,
23
- message: error.message,
24
- stack: error.stack,
25
- };
26
- }
27
- return error;
28
- }
29
- export function redactLogValue(value) {
30
- if (typeof value === "bigint")
31
- return value.toString();
32
- if (value instanceof Error)
33
- return serializeError(value);
34
- if (Array.isArray(value))
35
- return value.map(redactLogValue);
36
- if (value && typeof value === "object") {
37
- const out = {};
38
- for (const [key, nested] of Object.entries(value)) {
39
- out[key] = SECRET_FIELD_PATTERN.test(key)
40
- ? REDACTED
41
- : redactLogValue(nested);
42
- }
43
- return out;
44
- }
45
- return value;
46
- }
47
- export class SdkLogger {
48
- #logger;
49
- #level;
50
- #context;
51
- constructor(options = {}, context = {}) {
52
- this.#logger = options.logger ?? noopLogger;
53
- this.#level = options.logLevel ?? "silent";
54
- this.#context = context;
55
- }
56
- child(context) {
57
- return new SdkLogger({ logger: this.#logger, logLevel: this.#level }, {
58
- ...this.#context,
59
- ...context,
60
- data: {
61
- ...this.#context.data,
62
- ...context.data,
63
- },
64
- });
65
- }
66
- trace(record) {
67
- this.#emit("trace", record);
68
- }
69
- debug(record) {
70
- this.#emit("debug", record);
71
- }
72
- info(record) {
73
- this.#emit("info", record);
74
- }
75
- warn(record) {
76
- this.#emit("warn", record);
77
- }
78
- error(record) {
79
- this.#emit("error", record);
80
- }
81
- #emit(level, record) {
82
- if (!shouldLog(level, this.#level))
83
- return;
84
- const sink = this.#logger[level];
85
- if (!sink)
86
- return;
87
- const data = redactLogValue({
88
- ...this.#context.data,
89
- ...record.data,
90
- });
91
- sink({
92
- level,
93
- module: record.module ?? this.#context.module,
94
- operation: record.operation ?? this.#context.operation,
95
- swapId: record.swapId ?? this.#context.swapId,
96
- event: record.event,
97
- message: record.message,
98
- data: Object.keys(data).length > 0 ? data : undefined,
99
- error: record.error === undefined ? undefined : redactLogValue(record.error),
100
- });
101
- }
102
- }
103
- export function createSdkLogger(options) {
104
- return new SdkLogger(options);
105
- }
106
- export function createConsoleLogger() {
107
- const write = (record) => {
108
- const { level, message, ...rest } = record;
109
- const payload = Object.fromEntries(Object.entries(rest).filter(([, value]) => value !== undefined));
110
- const args = Object.keys(payload).length > 0 ? [message, payload] : [message];
111
- if (level === "trace")
112
- console.debug(...args);
113
- else if (level === "debug")
114
- console.debug(...args);
115
- else if (level === "info")
116
- console.info(...args);
117
- else if (level === "warn")
118
- console.warn(...args);
119
- else
120
- console.error(...args);
121
- };
122
- return {
123
- trace: write,
124
- debug: write,
125
- info: write,
126
- warn: write,
127
- error: write,
128
- };
129
- }
130
- //# sourceMappingURL=logging.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"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"}
@@ -1,135 +0,0 @@
1
- /**
2
- * Price calculation utilities for swap amount conversions.
3
- *
4
- * This module provides functions to calculate swap amounts using exchange rates.
5
- * It handles:
6
- * - Exchange rate inversion for BTC ↔ EVM token swaps
7
- * - Forward and reverse amount calculations with fee handling
8
- *
9
- * @example
10
- * ```typescript
11
- * import {
12
- * computeExchangeRate,
13
- * calculateTargetAmount,
14
- * calculateSourceAmount,
15
- * } from '@lendasat/lendaswap-sdk';
16
- *
17
- * // Compute exchange rate with proper inversion
18
- * const exchangeRate = computeExchangeRate(rate, isSourceBtc, isTargetEvm);
19
- *
20
- * // Calculate target amount from source
21
- * const targetAmount = calculateTargetAmount(100, exchangeRate, 0.0001, false, true);
22
- *
23
- * // Calculate source amount needed for target
24
- * const sourceAmount = calculateSourceAmount(0.01, exchangeRate, 0.0001, false, true);
25
- * ```
26
- */
27
- /**
28
- * Compute the exchange rate with proper inversion handling.
29
- *
30
- * The backend sends rates in the format "BTC per 1 stablecoin" for ALL pairs.
31
- * When the source is BTC and target is a stablecoin/EVM token, we need to
32
- * invert the rate to get "stablecoin per 1 BTC".
33
- *
34
- * @param rate - The raw rate from the backend (BTC per 1 stablecoin)
35
- * @param isSourceBtc - Whether the source token is BTC (Lightning, Arkade, or Onchain)
36
- * @param isTargetEvmToken - Whether the target token is an EVM token (stablecoins, etc.)
37
- * @returns The exchange rate as "1 source = X target"
38
- *
39
- * @example
40
- * ```typescript
41
- * const btcPerUsdc = 0.000010773; // ~1 BTC = 92,828 USDC
42
- *
43
- * // USDC -> BTC: rate stays as-is (BTC per USDC)
44
- * computeExchangeRate(btcPerUsdc, false, false); // 0.000010773
45
- *
46
- * // BTC -> USDC: rate is inverted (USDC per BTC)
47
- * computeExchangeRate(btcPerUsdc, true, true); // ~92,828
48
- * ```
49
- */
50
- export function computeExchangeRate(rate, isSourceBtc, isTargetEvmToken) {
51
- // Backend sends same rate for both directions (BTC per stablecoin).
52
- // When source is BTC and target is EVM token, invert to get "EVM per BTC"
53
- const needsInversion = isSourceBtc && isTargetEvmToken;
54
- if (needsInversion) {
55
- return 1 / rate;
56
- }
57
- return rate;
58
- }
59
- /**
60
- * Calculate the target amount given a source amount.
61
- * Uses the exchange rate semantics: 1 source = exchangeRate target
62
- *
63
- * Fee handling:
64
- * - If source is BTC: fee is deducted from source before conversion
65
- * - If target is BTC: fee is deducted from target after conversion
66
- *
67
- * @param sourceAmount - Amount of source asset
68
- * @param exchangeRate - Rate where 1 source = exchangeRate target
69
- * @param networkFeeInBtc - Network fee in BTC
70
- * @param isSourceBtc - Whether source is BTC (fee deducted from source before conversion)
71
- * @param isTargetBtc - Whether target is BTC (fee deducted from target after conversion)
72
- * @returns Target amount after fees
73
- *
74
- * @example
75
- * ```typescript
76
- * const networkFee = 0.0001; // 10,000 sats
77
- *
78
- * // USDC -> BTC: 1000 USDC at rate 0.000010773
79
- * // Target = 1000 * 0.000010773 - 0.0001 = 0.010673 BTC
80
- * calculateTargetAmount(1000, 0.000010773, networkFee, false, true);
81
- *
82
- * // BTC -> USDC: 0.01 BTC at rate 92,824
83
- * // Target = (0.01 - 0.0001) * 92824 = 918.96 USDC
84
- * calculateTargetAmount(0.01, 92824, networkFee, true, false);
85
- * ```
86
- */
87
- export function calculateTargetAmount(sourceAmount, exchangeRate, networkFeeInBtc, isSourceBtc, isTargetBtc) {
88
- if (isSourceBtc) {
89
- // Source is BTC: deduct fee from source, then convert
90
- const sourceAfterFee = sourceAmount - networkFeeInBtc;
91
- return sourceAfterFee * exchangeRate;
92
- }
93
- // Target is BTC: convert first, then deduct fee
94
- const targetBeforeFee = sourceAmount * exchangeRate;
95
- return isTargetBtc ? targetBeforeFee - networkFeeInBtc : targetBeforeFee;
96
- }
97
- /**
98
- * Calculate the source amount needed to receive a target amount.
99
- * Uses the exchange rate semantics: 1 source = exchangeRate target
100
- *
101
- * Fee handling (reverse of calculateTargetAmount):
102
- * - If target is BTC: fee is added to target before reverse conversion
103
- * - If source is BTC: fee is added to source after reverse conversion
104
- *
105
- * @param targetAmount - Desired amount of target asset
106
- * @param exchangeRate - Rate where 1 source = exchangeRate target
107
- * @param networkFeeInBtc - Network fee in BTC
108
- * @param isSourceBtc - Whether source is BTC (fee added to required source)
109
- * @param isTargetBtc - Whether target is BTC (fee added to target before reverse calc)
110
- * @returns Source amount needed (including fees)
111
- *
112
- * @example
113
- * ```typescript
114
- * const networkFee = 0.0001; // 10,000 sats
115
- *
116
- * // Want 0.01 BTC, paying with USDC at rate 0.000010773
117
- * // Source = (0.01 + 0.0001) / 0.000010773 = 937.26 USDC
118
- * calculateSourceAmount(0.01, 0.000010773, networkFee, false, true);
119
- *
120
- * // Want 1000 USDC, paying with BTC at rate 92,824
121
- * // Source = 1000 / 92824 + 0.0001 = 0.01088 BTC
122
- * calculateSourceAmount(1000, 92824, networkFee, true, false);
123
- * ```
124
- */
125
- export function calculateSourceAmount(targetAmount, exchangeRate, networkFeeInBtc, isSourceBtc, isTargetBtc) {
126
- if (isTargetBtc) {
127
- // Target is BTC: add fee to target, then reverse convert
128
- const targetPlusFee = targetAmount + networkFeeInBtc;
129
- return targetPlusFee / exchangeRate;
130
- }
131
- // Source is BTC: reverse convert first, then add fee
132
- const sourceBeforeFee = targetAmount / exchangeRate;
133
- return isSourceBtc ? sourceBeforeFee + networkFeeInBtc : sourceBeforeFee;
134
- }
135
- //# sourceMappingURL=price-calculations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"price-calculations.js","sourceRoot":"","sources":["../src/price-calculations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,WAAoB,EACpB,gBAAyB;IAEzB,oEAAoE;IACpE,0EAA0E;IAC1E,MAAM,cAAc,GAAG,WAAW,IAAI,gBAAgB,CAAC;IACvD,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,IAAI,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,qBAAqB,CACnC,YAAoB,EACpB,YAAoB,EACpB,eAAuB,EACvB,WAAoB,EACpB,WAAoB;IAEpB,IAAI,WAAW,EAAE,CAAC;QAChB,sDAAsD;QACtD,MAAM,cAAc,GAAG,YAAY,GAAG,eAAe,CAAC;QACtD,OAAO,cAAc,GAAG,YAAY,CAAC;IACvC,CAAC;IACD,gDAAgD;IAChD,MAAM,eAAe,GAAG,YAAY,GAAG,YAAY,CAAC;IACpD,OAAO,WAAW,CAAC,CAAC,CAAC,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC;AAC3E,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,qBAAqB,CACnC,YAAoB,EACpB,YAAoB,EACpB,eAAuB,EACvB,WAAoB,EACpB,WAAoB;IAEpB,IAAI,WAAW,EAAE,CAAC;QAChB,yDAAyD;QACzD,MAAM,aAAa,GAAG,YAAY,GAAG,eAAe,CAAC;QACrD,OAAO,aAAa,GAAG,YAAY,CAAC;IACtC,CAAC;IACD,qDAAqD;IACrD,MAAM,eAAe,GAAG,YAAY,GAAG,YAAY,CAAC;IACpD,OAAO,WAAW,CAAC,CAAC,CAAC,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC;AAC3E,CAAC"}