lampamazaza-new-internal-utils 0.24.3

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 (216) hide show
  1. package/LICENSE +21 -0
  2. package/dist/_virtual/rolldown_runtime.cjs +43 -0
  3. package/dist/_virtual/rolldown_runtime.js +18 -0
  4. package/dist/config.cjs +82 -0
  5. package/dist/config.d.cts +42 -0
  6. package/dist/config.d.ts +42 -0
  7. package/dist/config.js +72 -0
  8. package/dist/errors/assert.cjs +11 -0
  9. package/dist/errors/assert.d.cts +11 -0
  10. package/dist/errors/assert.d.ts +11 -0
  11. package/dist/errors/assert.js +11 -0
  12. package/dist/errors/base.cjs +34 -0
  13. package/dist/errors/base.d.cts +21 -0
  14. package/dist/errors/base.d.ts +21 -0
  15. package/dist/errors/base.js +33 -0
  16. package/dist/errors/index.cjs +23 -0
  17. package/dist/errors/index.d.cts +11 -0
  18. package/dist/errors/index.d.ts +11 -0
  19. package/dist/errors/index.js +18 -0
  20. package/dist/errors/request.cjs +48 -0
  21. package/dist/errors/request.d.cts +61 -0
  22. package/dist/errors/request.d.ts +61 -0
  23. package/dist/errors/request.js +46 -0
  24. package/dist/errors/utils/isNetworkError.cjs +23 -0
  25. package/dist/errors/utils/isNetworkError.js +22 -0
  26. package/dist/errors/utils/toError.cjs +8 -0
  27. package/dist/errors/utils/toError.d.cts +4 -0
  28. package/dist/errors/utils/toError.d.ts +4 -0
  29. package/dist/errors/utils/toError.js +7 -0
  30. package/dist/index.cjs +125 -0
  31. package/dist/index.d.cts +30 -0
  32. package/dist/index.d.ts +30 -0
  33. package/dist/index.js +30 -0
  34. package/dist/logger.d.cts +11 -0
  35. package/dist/logger.d.ts +11 -0
  36. package/dist/nearClient.cjs +18 -0
  37. package/dist/nearClient.d.cts +8 -0
  38. package/dist/nearClient.d.ts +8 -0
  39. package/dist/nearClient.js +18 -0
  40. package/dist/poaBridge/constants/blockchains.cjs +57 -0
  41. package/dist/poaBridge/constants/blockchains.d.cts +86 -0
  42. package/dist/poaBridge/constants/blockchains.d.ts +86 -0
  43. package/dist/poaBridge/constants/blockchains.js +54 -0
  44. package/dist/poaBridge/errors/withdrawal.cjs +52 -0
  45. package/dist/poaBridge/errors/withdrawal.d.cts +34 -0
  46. package/dist/poaBridge/errors/withdrawal.d.ts +34 -0
  47. package/dist/poaBridge/errors/withdrawal.js +50 -0
  48. package/dist/poaBridge/getPendingDeposits.cjs +9 -0
  49. package/dist/poaBridge/getPendingDeposits.d.cts +12 -0
  50. package/dist/poaBridge/getPendingDeposits.d.ts +13 -0
  51. package/dist/poaBridge/getPendingDeposits.js +9 -0
  52. package/dist/poaBridge/index.cjs +23 -0
  53. package/dist/poaBridge/index.d.cts +11 -0
  54. package/dist/poaBridge/index.d.ts +11 -0
  55. package/dist/poaBridge/index.js +18 -0
  56. package/dist/poaBridge/poaBridgeHttpClient/apis.cjs +38 -0
  57. package/dist/poaBridge/poaBridgeHttpClient/apis.d.cts +12 -0
  58. package/dist/poaBridge/poaBridgeHttpClient/apis.d.ts +12 -0
  59. package/dist/poaBridge/poaBridgeHttpClient/apis.js +32 -0
  60. package/dist/poaBridge/poaBridgeHttpClient/index.cjs +21 -0
  61. package/dist/poaBridge/poaBridgeHttpClient/index.d.cts +9 -0
  62. package/dist/poaBridge/poaBridgeHttpClient/index.d.ts +9 -0
  63. package/dist/poaBridge/poaBridgeHttpClient/index.js +16 -0
  64. package/dist/poaBridge/poaBridgeHttpClient/runtime.cjs +49 -0
  65. package/dist/poaBridge/poaBridgeHttpClient/runtime.js +47 -0
  66. package/dist/poaBridge/poaBridgeHttpClient/types.d.cts +161 -0
  67. package/dist/poaBridge/poaBridgeHttpClient/types.d.ts +161 -0
  68. package/dist/poaBridge/waitForWithdrawalCompletion.cjs +57 -0
  69. package/dist/poaBridge/waitForWithdrawalCompletion.d.cts +31 -0
  70. package/dist/poaBridge/waitForWithdrawalCompletion.d.ts +31 -0
  71. package/dist/poaBridge/waitForWithdrawalCompletion.js +56 -0
  72. package/dist/services/blockchainBalanceService.cjs +40 -0
  73. package/dist/services/blockchainBalanceService.d.cts +21 -0
  74. package/dist/services/blockchainBalanceService.d.ts +21 -0
  75. package/dist/services/blockchainBalanceService.js +37 -0
  76. package/dist/solverRelay/errors/intentSettlement.cjs +20 -0
  77. package/dist/solverRelay/errors/intentSettlement.d.cts +13 -0
  78. package/dist/solverRelay/errors/intentSettlement.d.ts +13 -0
  79. package/dist/solverRelay/errors/intentSettlement.js +20 -0
  80. package/dist/solverRelay/errors/quote.cjs +18 -0
  81. package/dist/solverRelay/errors/quote.d.cts +21 -0
  82. package/dist/solverRelay/errors/quote.d.ts +22 -0
  83. package/dist/solverRelay/errors/quote.js +18 -0
  84. package/dist/solverRelay/getQuote.cjs +49 -0
  85. package/dist/solverRelay/getQuote.d.cts +14 -0
  86. package/dist/solverRelay/getQuote.d.ts +14 -0
  87. package/dist/solverRelay/getQuote.js +49 -0
  88. package/dist/solverRelay/getStatus.cjs +26 -0
  89. package/dist/solverRelay/getStatus.d.cts +17 -0
  90. package/dist/solverRelay/getStatus.d.ts +18 -0
  91. package/dist/solverRelay/getStatus.js +26 -0
  92. package/dist/solverRelay/index.cjs +27 -0
  93. package/dist/solverRelay/index.d.cts +16 -0
  94. package/dist/solverRelay/index.d.ts +16 -0
  95. package/dist/solverRelay/index.js +22 -0
  96. package/dist/solverRelay/publishIntent.cjs +20 -0
  97. package/dist/solverRelay/publishIntent.d.cts +15 -0
  98. package/dist/solverRelay/publishIntent.d.ts +16 -0
  99. package/dist/solverRelay/publishIntent.js +20 -0
  100. package/dist/solverRelay/publishIntents.cjs +43 -0
  101. package/dist/solverRelay/publishIntents.d.cts +10 -0
  102. package/dist/solverRelay/publishIntents.d.ts +11 -0
  103. package/dist/solverRelay/publishIntents.js +42 -0
  104. package/dist/solverRelay/solverRelayHttpClient/apis.cjs +21 -0
  105. package/dist/solverRelay/solverRelayHttpClient/apis.d.cts +9 -0
  106. package/dist/solverRelay/solverRelayHttpClient/apis.d.ts +9 -0
  107. package/dist/solverRelay/solverRelayHttpClient/apis.js +18 -0
  108. package/dist/solverRelay/solverRelayHttpClient/index.cjs +18 -0
  109. package/dist/solverRelay/solverRelayHttpClient/index.d.cts +9 -0
  110. package/dist/solverRelay/solverRelayHttpClient/index.d.ts +9 -0
  111. package/dist/solverRelay/solverRelayHttpClient/index.js +13 -0
  112. package/dist/solverRelay/solverRelayHttpClient/runtime.cjs +60 -0
  113. package/dist/solverRelay/solverRelayHttpClient/runtime.js +58 -0
  114. package/dist/solverRelay/solverRelayHttpClient/types.d.cts +109 -0
  115. package/dist/solverRelay/solverRelayHttpClient/types.d.ts +109 -0
  116. package/dist/solverRelay/utils/parseFailedPublishError.cjs +40 -0
  117. package/dist/solverRelay/utils/parseFailedPublishError.d.cts +25 -0
  118. package/dist/solverRelay/utils/parseFailedPublishError.d.ts +26 -0
  119. package/dist/solverRelay/utils/parseFailedPublishError.js +39 -0
  120. package/dist/solverRelay/utils/quoteWithLog.cjs +21 -0
  121. package/dist/solverRelay/utils/quoteWithLog.d.cts +12 -0
  122. package/dist/solverRelay/utils/quoteWithLog.d.ts +14 -0
  123. package/dist/solverRelay/utils/quoteWithLog.js +21 -0
  124. package/dist/solverRelay/waitForIntentSettlement.cjs +52 -0
  125. package/dist/solverRelay/waitForIntentSettlement.d.cts +30 -0
  126. package/dist/solverRelay/waitForIntentSettlement.d.ts +30 -0
  127. package/dist/solverRelay/waitForIntentSettlement.js +52 -0
  128. package/dist/types/authHandle.cjs +22 -0
  129. package/dist/types/authHandle.d.cts +25 -0
  130. package/dist/types/authHandle.d.ts +25 -0
  131. package/dist/types/authHandle.js +16 -0
  132. package/dist/types/base.d.cts +45 -0
  133. package/dist/types/base.d.ts +45 -0
  134. package/dist/types/intentsUserId.d.cts +10 -0
  135. package/dist/types/intentsUserId.d.ts +10 -0
  136. package/dist/types/walletMessage.cjs +11 -0
  137. package/dist/types/walletMessage.d.cts +106 -0
  138. package/dist/types/walletMessage.d.ts +106 -0
  139. package/dist/types/walletMessage.js +5 -0
  140. package/dist/utils/abortSignal.cjs +19 -0
  141. package/dist/utils/abortSignal.js +18 -0
  142. package/dist/utils/appFee.cjs +20 -0
  143. package/dist/utils/appFee.d.cts +9 -0
  144. package/dist/utils/appFee.d.ts +9 -0
  145. package/dist/utils/appFee.js +15 -0
  146. package/dist/utils/assert.cjs +9 -0
  147. package/dist/utils/assert.d.cts +7 -0
  148. package/dist/utils/assert.d.ts +7 -0
  149. package/dist/utils/assert.js +9 -0
  150. package/dist/utils/authIdentity.cjs +56 -0
  151. package/dist/utils/authIdentity.d.cts +34 -0
  152. package/dist/utils/authIdentity.d.ts +34 -0
  153. package/dist/utils/authIdentity.js +50 -0
  154. package/dist/utils/failover.cjs +22 -0
  155. package/dist/utils/failover.d.cts +16 -0
  156. package/dist/utils/failover.d.ts +16 -0
  157. package/dist/utils/failover.js +20 -0
  158. package/dist/utils/handleRPCResponse.cjs +30 -0
  159. package/dist/utils/handleRPCResponse.js +28 -0
  160. package/dist/utils/index.cjs +55 -0
  161. package/dist/utils/index.d.cts +13 -0
  162. package/dist/utils/index.d.ts +13 -0
  163. package/dist/utils/index.js +50 -0
  164. package/dist/utils/messageFactory.cjs +137 -0
  165. package/dist/utils/messageFactory.d.cts +70 -0
  166. package/dist/utils/messageFactory.d.ts +70 -0
  167. package/dist/utils/messageFactory.js +132 -0
  168. package/dist/utils/multiPayload/webauthn.cjs +27 -0
  169. package/dist/utils/multiPayload/webauthn.js +26 -0
  170. package/dist/utils/near.cjs +58 -0
  171. package/dist/utils/near.d.cts +35 -0
  172. package/dist/utils/near.d.ts +35 -0
  173. package/dist/utils/near.js +53 -0
  174. package/dist/utils/poll.cjs +87 -0
  175. package/dist/utils/poll.d.cts +54 -0
  176. package/dist/utils/poll.d.ts +54 -0
  177. package/dist/utils/poll.js +85 -0
  178. package/dist/utils/prepareBroadcastRequest.cjs +98 -0
  179. package/dist/utils/prepareBroadcastRequest.d.cts +16 -0
  180. package/dist/utils/prepareBroadcastRequest.d.ts +16 -0
  181. package/dist/utils/prepareBroadcastRequest.js +90 -0
  182. package/dist/utils/promise/withTimeout.cjs +34 -0
  183. package/dist/utils/promise/withTimeout.d.cts +16 -0
  184. package/dist/utils/promise/withTimeout.d.ts +16 -0
  185. package/dist/utils/promise/withTimeout.js +34 -0
  186. package/dist/utils/request.cjs +100 -0
  187. package/dist/utils/request.d.cts +27 -0
  188. package/dist/utils/request.d.ts +27 -0
  189. package/dist/utils/request.js +99 -0
  190. package/dist/utils/requestShouldRetry.cjs +20 -0
  191. package/dist/utils/requestShouldRetry.js +20 -0
  192. package/dist/utils/retry.cjs +66 -0
  193. package/dist/utils/retry.d.cts +56 -0
  194. package/dist/utils/retry.d.ts +56 -0
  195. package/dist/utils/retry.js +64 -0
  196. package/dist/utils/serialize.cjs +82 -0
  197. package/dist/utils/serialize.d.cts +17 -0
  198. package/dist/utils/serialize.d.ts +17 -0
  199. package/dist/utils/serialize.js +81 -0
  200. package/dist/utils/stellarAddressToBytes.cjs +295 -0
  201. package/dist/utils/stellarAddressToBytes.js +294 -0
  202. package/dist/utils/token.cjs +8 -0
  203. package/dist/utils/token.js +7 -0
  204. package/dist/utils/tokenUtils.cjs +263 -0
  205. package/dist/utils/tokenUtils.d.cts +88 -0
  206. package/dist/utils/tokenUtils.d.ts +88 -0
  207. package/dist/utils/tokenUtils.js +238 -0
  208. package/dist/utils/tronAddressToHex.cjs +18 -0
  209. package/dist/utils/tronAddressToHex.js +17 -0
  210. package/dist/utils/uint8Array.cjs +15 -0
  211. package/dist/utils/uint8Array.d.cts +4 -0
  212. package/dist/utils/uint8Array.d.ts +4 -0
  213. package/dist/utils/uint8Array.js +14 -0
  214. package/dist/utils/webAuthn.cjs +91 -0
  215. package/dist/utils/webAuthn.js +89 -0
  216. package/package.json +56 -0
@@ -0,0 +1,52 @@
1
+ const require_base = require('../errors/base.cjs');
2
+ const require_request = require('../errors/request.cjs');
3
+ const require_apis = require('./solverRelayHttpClient/apis.cjs');
4
+ const require_poll = require('../utils/poll.cjs');
5
+ const require_intentSettlement = require('./errors/intentSettlement.cjs');
6
+
7
+ //#region src/solverRelay/waitForIntentSettlement.ts
8
+ /**
9
+ * Default timing stats for intent settlement based on production data.
10
+ * Polls aggressively early, backs off for outliers.
11
+ */
12
+ const DEFAULT_SETTLEMENT_STATS = {
13
+ p50: 2e3,
14
+ p90: 1e4,
15
+ p99: 356e3
16
+ };
17
+ async function waitForIntentSettlement({ intentHash, signal, baseURL, logger, solverRelayApiKey, ...events }) {
18
+ let txHashEmitted = false;
19
+ return require_poll.poll(async () => {
20
+ try {
21
+ const res = await require_apis.getStatus({ intent_hash: intentHash }, {
22
+ baseURL,
23
+ fetchOptions: { signal },
24
+ logger,
25
+ solverRelayApiKey
26
+ });
27
+ if (!txHashEmitted && (res.status === "TX_BROADCASTED" || res.status === "SETTLED")) {
28
+ txHashEmitted = true;
29
+ events.onTxHashKnown?.(res.data.hash);
30
+ }
31
+ if (res.status === "SETTLED") return {
32
+ txHash: res.data.hash,
33
+ intentHash: res.intent_hash
34
+ };
35
+ if (res.status === "NOT_FOUND_OR_NOT_VALID" && res.status_details === "FAILED") throw new require_intentSettlement.IntentSettlementError(res);
36
+ return require_poll.POLL_PENDING;
37
+ } catch (err) {
38
+ if (isTransientError(err)) return require_poll.POLL_PENDING;
39
+ throw err;
40
+ }
41
+ }, {
42
+ stats: DEFAULT_SETTLEMENT_STATS,
43
+ signal
44
+ });
45
+ }
46
+ function isTransientError(err) {
47
+ if (err instanceof require_intentSettlement.IntentSettlementError) return false;
48
+ return err instanceof require_base.BaseError && err.walk((err$1) => err$1 instanceof require_request.HttpRequestError || err$1 instanceof require_request.TimeoutError || err$1 instanceof require_request.RpcRequestError) !== null;
49
+ }
50
+
51
+ //#endregion
52
+ exports.waitForIntentSettlement = waitForIntentSettlement;
@@ -0,0 +1,30 @@
1
+ import { ILogger } from "../logger.cjs";
2
+ import { JSONRPCErrorType } from "./solverRelayHttpClient/types.cjs";
3
+ import { IntentSettlementErrorType } from "./errors/intentSettlement.cjs";
4
+
5
+ //#region src/solverRelay/waitForIntentSettlement.d.ts
6
+ type WaitForIntentSettlementReturnType = {
7
+ txHash: string;
8
+ intentHash: string;
9
+ };
10
+ type WaitForIntentSettlementErrorType = IntentSettlementErrorType | JSONRPCErrorType;
11
+ type IntentSettlementCallbacks = {
12
+ /** Fires once when tx hash first becomes available */
13
+ onTxHashKnown?: (txHash: string) => void;
14
+ };
15
+ declare function waitForIntentSettlement({
16
+ intentHash,
17
+ signal,
18
+ baseURL,
19
+ logger,
20
+ solverRelayApiKey,
21
+ ...events
22
+ }: {
23
+ intentHash: string;
24
+ signal?: AbortSignal;
25
+ baseURL?: string;
26
+ logger?: ILogger;
27
+ solverRelayApiKey?: string;
28
+ } & IntentSettlementCallbacks): Promise<WaitForIntentSettlementReturnType>;
29
+ //#endregion
30
+ export { IntentSettlementCallbacks, WaitForIntentSettlementErrorType, WaitForIntentSettlementReturnType, waitForIntentSettlement };
@@ -0,0 +1,30 @@
1
+ import { ILogger } from "../logger.js";
2
+ import { JSONRPCErrorType } from "./solverRelayHttpClient/types.js";
3
+ import { IntentSettlementErrorType } from "./errors/intentSettlement.js";
4
+
5
+ //#region src/solverRelay/waitForIntentSettlement.d.ts
6
+ type WaitForIntentSettlementReturnType = {
7
+ txHash: string;
8
+ intentHash: string;
9
+ };
10
+ type WaitForIntentSettlementErrorType = IntentSettlementErrorType | JSONRPCErrorType;
11
+ type IntentSettlementCallbacks = {
12
+ /** Fires once when tx hash first becomes available */
13
+ onTxHashKnown?: (txHash: string) => void;
14
+ };
15
+ declare function waitForIntentSettlement({
16
+ intentHash,
17
+ signal,
18
+ baseURL,
19
+ logger,
20
+ solverRelayApiKey,
21
+ ...events
22
+ }: {
23
+ intentHash: string;
24
+ signal?: AbortSignal;
25
+ baseURL?: string;
26
+ logger?: ILogger;
27
+ solverRelayApiKey?: string;
28
+ } & IntentSettlementCallbacks): Promise<WaitForIntentSettlementReturnType>;
29
+ //#endregion
30
+ export { IntentSettlementCallbacks, WaitForIntentSettlementErrorType, WaitForIntentSettlementReturnType, waitForIntentSettlement };
@@ -0,0 +1,52 @@
1
+ import { BaseError } from "../errors/base.js";
2
+ import { HttpRequestError, RpcRequestError, TimeoutError } from "../errors/request.js";
3
+ import { getStatus } from "./solverRelayHttpClient/apis.js";
4
+ import { POLL_PENDING, poll } from "../utils/poll.js";
5
+ import { IntentSettlementError } from "./errors/intentSettlement.js";
6
+
7
+ //#region src/solverRelay/waitForIntentSettlement.ts
8
+ /**
9
+ * Default timing stats for intent settlement based on production data.
10
+ * Polls aggressively early, backs off for outliers.
11
+ */
12
+ const DEFAULT_SETTLEMENT_STATS = {
13
+ p50: 2e3,
14
+ p90: 1e4,
15
+ p99: 356e3
16
+ };
17
+ async function waitForIntentSettlement({ intentHash, signal, baseURL, logger, solverRelayApiKey, ...events }) {
18
+ let txHashEmitted = false;
19
+ return poll(async () => {
20
+ try {
21
+ const res = await getStatus({ intent_hash: intentHash }, {
22
+ baseURL,
23
+ fetchOptions: { signal },
24
+ logger,
25
+ solverRelayApiKey
26
+ });
27
+ if (!txHashEmitted && (res.status === "TX_BROADCASTED" || res.status === "SETTLED")) {
28
+ txHashEmitted = true;
29
+ events.onTxHashKnown?.(res.data.hash);
30
+ }
31
+ if (res.status === "SETTLED") return {
32
+ txHash: res.data.hash,
33
+ intentHash: res.intent_hash
34
+ };
35
+ if (res.status === "NOT_FOUND_OR_NOT_VALID" && res.status_details === "FAILED") throw new IntentSettlementError(res);
36
+ return POLL_PENDING;
37
+ } catch (err) {
38
+ if (isTransientError(err)) return POLL_PENDING;
39
+ throw err;
40
+ }
41
+ }, {
42
+ stats: DEFAULT_SETTLEMENT_STATS,
43
+ signal
44
+ });
45
+ }
46
+ function isTransientError(err) {
47
+ if (err instanceof IntentSettlementError) return false;
48
+ return err instanceof BaseError && err.walk((err$1) => err$1 instanceof HttpRequestError || err$1 instanceof TimeoutError || err$1 instanceof RpcRequestError) !== null;
49
+ }
50
+
51
+ //#endregion
52
+ export { waitForIntentSettlement };
@@ -0,0 +1,22 @@
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+
3
+ //#region src/types/authHandle.ts
4
+ var authHandle_exports = /* @__PURE__ */ require_rolldown_runtime.__exportAll({ AuthMethod: () => AuthMethod });
5
+ const AuthMethod = {
6
+ Near: "near",
7
+ EVM: "evm",
8
+ Solana: "solana",
9
+ WebAuthn: "webauthn",
10
+ Ton: "ton",
11
+ Stellar: "stellar",
12
+ Tron: "tron"
13
+ };
14
+
15
+ //#endregion
16
+ exports.AuthMethod = AuthMethod;
17
+ Object.defineProperty(exports, 'authHandle_exports', {
18
+ enumerable: true,
19
+ get: function () {
20
+ return authHandle_exports;
21
+ }
22
+ });
@@ -0,0 +1,25 @@
1
+ declare namespace authHandle_d_exports {
2
+ export { AuthHandle, AuthIdentifier, AuthMethod };
3
+ }
4
+ type AuthMethod = "near" | "evm" | "solana" | "webauthn" | "ton" | "stellar" | "tron";
5
+ declare const AuthMethod: {
6
+ readonly Near: "near";
7
+ readonly EVM: "evm";
8
+ readonly Solana: "solana";
9
+ readonly WebAuthn: "webauthn";
10
+ readonly Ton: "ton";
11
+ readonly Stellar: "stellar";
12
+ readonly Tron: "tron";
13
+ };
14
+ /**
15
+ * Represents a public identifier used for authentication.
16
+ * This could be a blockchain address, account name, or public key.
17
+ * This is always a public value - never contains private keys or passwords.
18
+ */
19
+ type AuthIdentifier = string;
20
+ type AuthHandle = {
21
+ identifier: AuthIdentifier;
22
+ method: AuthMethod;
23
+ };
24
+ //#endregion
25
+ export { AuthHandle, AuthIdentifier, AuthMethod, authHandle_d_exports };
@@ -0,0 +1,25 @@
1
+ declare namespace authHandle_d_exports {
2
+ export { AuthHandle, AuthIdentifier, AuthMethod };
3
+ }
4
+ type AuthMethod = "near" | "evm" | "solana" | "webauthn" | "ton" | "stellar" | "tron";
5
+ declare const AuthMethod: {
6
+ readonly Near: "near";
7
+ readonly EVM: "evm";
8
+ readonly Solana: "solana";
9
+ readonly WebAuthn: "webauthn";
10
+ readonly Ton: "ton";
11
+ readonly Stellar: "stellar";
12
+ readonly Tron: "tron";
13
+ };
14
+ /**
15
+ * Represents a public identifier used for authentication.
16
+ * This could be a blockchain address, account name, or public key.
17
+ * This is always a public value - never contains private keys or passwords.
18
+ */
19
+ type AuthIdentifier = string;
20
+ type AuthHandle = {
21
+ identifier: AuthIdentifier;
22
+ method: AuthMethod;
23
+ };
24
+ //#endregion
25
+ export { AuthHandle, AuthIdentifier, AuthMethod, authHandle_d_exports };
@@ -0,0 +1,16 @@
1
+ import { __exportAll } from "../_virtual/rolldown_runtime.js";
2
+
3
+ //#region src/types/authHandle.ts
4
+ var authHandle_exports = /* @__PURE__ */ __exportAll({ AuthMethod: () => AuthMethod });
5
+ const AuthMethod = {
6
+ Near: "near",
7
+ EVM: "evm",
8
+ Solana: "solana",
9
+ WebAuthn: "webauthn",
10
+ Ton: "ton",
11
+ Stellar: "stellar",
12
+ Tron: "tron"
13
+ };
14
+
15
+ //#endregion
16
+ export { AuthMethod, authHandle_exports };
@@ -0,0 +1,45 @@
1
+ //#region src/types/base.d.ts
2
+ type SupportedChainName = "eth" | "near" | "base" | "arbitrum" | "bitcoin" | "bitcoincash" | "solana" | "dogecoin" | "turbochain" | "tuxappchain" | "vertex" | "optima" | "easychain" | "hako" | "aurora" | "aurora_devnet" | "xrpledger" | "zcash" | "gnosis" | "berachain" | "tron" | "polygon" | "bsc" | "hyperliquid" | "cardano";
3
+ type SupportedBridge = "direct" | "poa" | "aurora_engine" | "hot_omni";
4
+ interface FungibleTokenInfo {
5
+ defuseAssetId: string;
6
+ address: string;
7
+ symbol: string;
8
+ name: string;
9
+ decimals: number;
10
+ icon: string;
11
+ chainName: SupportedChainName;
12
+ bridge: SupportedBridge;
13
+ }
14
+ interface NativeTokenInfo {
15
+ defuseAssetId: string;
16
+ type: "native";
17
+ symbol: string;
18
+ name: string;
19
+ decimals: number;
20
+ icon: string;
21
+ chainName: SupportedChainName;
22
+ bridge: SupportedBridge;
23
+ }
24
+ type BaseTokenInfo = FungibleTokenInfo | NativeTokenInfo;
25
+ /**
26
+ * A virtual aggregation of the same token across multiple blockchains.
27
+ * This is not an on-chain token but a unified view of network-specific tokens
28
+ * with shared properties.
29
+ *
30
+ * The name avoids "NativeMultichainAsset" to clarify that it doesn't represent
31
+ * an actual multichain token, just a virtual abstraction.
32
+ */
33
+ interface UnifiedTokenInfo {
34
+ unifiedAssetId: string;
35
+ symbol: string;
36
+ name: string;
37
+ icon: string;
38
+ groupedTokens: BaseTokenInfo[];
39
+ }
40
+ interface TokenValue {
41
+ amount: bigint;
42
+ decimals: number;
43
+ }
44
+ //#endregion
45
+ export { BaseTokenInfo, TokenValue, UnifiedTokenInfo };
@@ -0,0 +1,45 @@
1
+ //#region src/types/base.d.ts
2
+ type SupportedChainName = "eth" | "near" | "base" | "arbitrum" | "bitcoin" | "bitcoincash" | "solana" | "dogecoin" | "turbochain" | "tuxappchain" | "vertex" | "optima" | "easychain" | "hako" | "aurora" | "aurora_devnet" | "xrpledger" | "zcash" | "gnosis" | "berachain" | "tron" | "polygon" | "bsc" | "hyperliquid" | "cardano";
3
+ type SupportedBridge = "direct" | "poa" | "aurora_engine" | "hot_omni";
4
+ interface FungibleTokenInfo {
5
+ defuseAssetId: string;
6
+ address: string;
7
+ symbol: string;
8
+ name: string;
9
+ decimals: number;
10
+ icon: string;
11
+ chainName: SupportedChainName;
12
+ bridge: SupportedBridge;
13
+ }
14
+ interface NativeTokenInfo {
15
+ defuseAssetId: string;
16
+ type: "native";
17
+ symbol: string;
18
+ name: string;
19
+ decimals: number;
20
+ icon: string;
21
+ chainName: SupportedChainName;
22
+ bridge: SupportedBridge;
23
+ }
24
+ type BaseTokenInfo = FungibleTokenInfo | NativeTokenInfo;
25
+ /**
26
+ * A virtual aggregation of the same token across multiple blockchains.
27
+ * This is not an on-chain token but a unified view of network-specific tokens
28
+ * with shared properties.
29
+ *
30
+ * The name avoids "NativeMultichainAsset" to clarify that it doesn't represent
31
+ * an actual multichain token, just a virtual abstraction.
32
+ */
33
+ interface UnifiedTokenInfo {
34
+ unifiedAssetId: string;
35
+ symbol: string;
36
+ name: string;
37
+ icon: string;
38
+ groupedTokens: BaseTokenInfo[];
39
+ }
40
+ interface TokenValue {
41
+ amount: bigint;
42
+ decimals: number;
43
+ }
44
+ //#endregion
45
+ export { BaseTokenInfo, TokenValue, UnifiedTokenInfo };
@@ -0,0 +1,10 @@
1
+ //#region src/types/intentsUserId.d.ts
2
+ /**
3
+ * A branded string type representing a Defuse user ID.
4
+ * The brand prevents accidental mixing with regular strings in TypeScript.
5
+ */
6
+ type IntentsUserId = string & {
7
+ __brand: "IntentsUserId";
8
+ };
9
+ //#endregion
10
+ export { IntentsUserId };
@@ -0,0 +1,10 @@
1
+ //#region src/types/intentsUserId.d.ts
2
+ /**
3
+ * A branded string type representing a Defuse user ID.
4
+ * The brand prevents accidental mixing with regular strings in TypeScript.
5
+ */
6
+ type IntentsUserId = string & {
7
+ __brand: "IntentsUserId";
8
+ };
9
+ //#endregion
10
+ export { IntentsUserId };
@@ -0,0 +1,11 @@
1
+
2
+ //#region src/types/walletMessage.ts
3
+ var walletMessage_exports = {};
4
+
5
+ //#endregion
6
+ Object.defineProperty(exports, 'walletMessage_exports', {
7
+ enumerable: true,
8
+ get: function () {
9
+ return walletMessage_exports;
10
+ }
11
+ });
@@ -0,0 +1,106 @@
1
+ import { DefusePayloadFor_DefuseIntents, TonConnectPayloadSchema } from "lampamazaza-contract-types";
2
+
3
+ //#region src/types/walletMessage.d.ts
4
+ declare namespace walletMessage_d_exports {
5
+ export { ERC191Message, ERC191SignatureData, NEP413Message, NEP413SignatureData, SolanaMessage, SolanaSignatureData, StellarMessage, StellarSignatureData, TonConnectMessage, TonConnectSignatureData, TronMessage, TronSignatureData, WalletMessage, WalletSignatureResult, WebAuthnMessage, WebAuthnSignature, WebAuthnSignatureData };
6
+ }
7
+ type ERC191Message = {
8
+ message: string;
9
+ };
10
+ type ERC191SignatureData = {
11
+ type: "ERC191";
12
+ signatureData: string;
13
+ signedData: ERC191Message;
14
+ };
15
+ type NEP413Message = {
16
+ message: string;
17
+ recipient: string;
18
+ nonce: Uint8Array;
19
+ callbackUrl?: string;
20
+ };
21
+ type NEP413SignatureData = {
22
+ type: "NEP413";
23
+ signatureData: {
24
+ accountId: string;
25
+ /**
26
+ * Base58-encoded signature with curve prefix. Example:
27
+ * ed25519:Gxa24TGbJu4mqdhW3GbvLXmf4bSEyxVicrtpChDWbgga
28
+ */
29
+ publicKey: string;
30
+ /** Base64-encoded signature */
31
+ signature: string;
32
+ };
33
+ /**
34
+ * The exact data that was signed. Wallet connectors may modify this during the signing process,
35
+ * so this property contains the actual data that was signed by the wallet.
36
+ */
37
+ signedData: NEP413Message;
38
+ };
39
+ type SolanaMessage = {
40
+ message: Uint8Array;
41
+ };
42
+ type SolanaSignatureData = {
43
+ type: "SOLANA";
44
+ signatureData: Uint8Array;
45
+ signedData: SolanaMessage;
46
+ };
47
+ type StellarMessage = {
48
+ message: string;
49
+ };
50
+ type StellarSignatureData = {
51
+ type: "STELLAR_SEP53";
52
+ signatureData: Uint8Array;
53
+ signedData: StellarMessage;
54
+ };
55
+ type WebAuthnMessage = {
56
+ /** Hash that needs to be signed */
57
+ challenge: Uint8Array;
58
+ /** Underlying payload that will be executed onchain */
59
+ payload: string;
60
+ /** Parsed payload in case UI needs to display it */
61
+ parsedPayload: DefusePayloadFor_DefuseIntents;
62
+ };
63
+ /** Full response of WebAuthn Login */
64
+ type WebAuthnSignature = AuthenticatorAssertionResponse;
65
+ type WebAuthnSignatureData = {
66
+ type: "WEBAUTHN";
67
+ signatureData: WebAuthnSignature;
68
+ signedData: WebAuthnMessage;
69
+ };
70
+ type TonConnectMessage = {
71
+ message: {
72
+ type: "text";
73
+ text: string;
74
+ };
75
+ };
76
+ type TonConnectSignatureData = {
77
+ type: "TON_CONNECT";
78
+ signatureData: {
79
+ signature: string;
80
+ address: string;
81
+ timestamp: number;
82
+ domain: string;
83
+ payload: TonConnectPayloadSchema;
84
+ };
85
+ signedData: TonConnectMessage;
86
+ };
87
+ type TronMessage = {
88
+ message: string;
89
+ };
90
+ type TronSignatureData = {
91
+ type: "TRON";
92
+ signatureData: string;
93
+ signedData: TronMessage;
94
+ };
95
+ type WalletMessage = {
96
+ ERC191: ERC191Message;
97
+ NEP413: NEP413Message;
98
+ SOLANA: SolanaMessage;
99
+ STELLAR: StellarMessage;
100
+ WEBAUTHN: WebAuthnMessage;
101
+ TON_CONNECT: TonConnectMessage;
102
+ TRON: TronMessage;
103
+ };
104
+ type WalletSignatureResult = ERC191SignatureData | NEP413SignatureData | SolanaSignatureData | StellarSignatureData | WebAuthnSignatureData | TonConnectSignatureData | TronSignatureData;
105
+ //#endregion
106
+ export { WalletMessage, WalletSignatureResult, walletMessage_d_exports };
@@ -0,0 +1,106 @@
1
+ import { DefusePayloadFor_DefuseIntents, TonConnectPayloadSchema } from "lampamazaza-contract-types";
2
+
3
+ //#region src/types/walletMessage.d.ts
4
+ declare namespace walletMessage_d_exports {
5
+ export { ERC191Message, ERC191SignatureData, NEP413Message, NEP413SignatureData, SolanaMessage, SolanaSignatureData, StellarMessage, StellarSignatureData, TonConnectMessage, TonConnectSignatureData, TronMessage, TronSignatureData, WalletMessage, WalletSignatureResult, WebAuthnMessage, WebAuthnSignature, WebAuthnSignatureData };
6
+ }
7
+ type ERC191Message = {
8
+ message: string;
9
+ };
10
+ type ERC191SignatureData = {
11
+ type: "ERC191";
12
+ signatureData: string;
13
+ signedData: ERC191Message;
14
+ };
15
+ type NEP413Message = {
16
+ message: string;
17
+ recipient: string;
18
+ nonce: Uint8Array;
19
+ callbackUrl?: string;
20
+ };
21
+ type NEP413SignatureData = {
22
+ type: "NEP413";
23
+ signatureData: {
24
+ accountId: string;
25
+ /**
26
+ * Base58-encoded signature with curve prefix. Example:
27
+ * ed25519:Gxa24TGbJu4mqdhW3GbvLXmf4bSEyxVicrtpChDWbgga
28
+ */
29
+ publicKey: string;
30
+ /** Base64-encoded signature */
31
+ signature: string;
32
+ };
33
+ /**
34
+ * The exact data that was signed. Wallet connectors may modify this during the signing process,
35
+ * so this property contains the actual data that was signed by the wallet.
36
+ */
37
+ signedData: NEP413Message;
38
+ };
39
+ type SolanaMessage = {
40
+ message: Uint8Array;
41
+ };
42
+ type SolanaSignatureData = {
43
+ type: "SOLANA";
44
+ signatureData: Uint8Array;
45
+ signedData: SolanaMessage;
46
+ };
47
+ type StellarMessage = {
48
+ message: string;
49
+ };
50
+ type StellarSignatureData = {
51
+ type: "STELLAR_SEP53";
52
+ signatureData: Uint8Array;
53
+ signedData: StellarMessage;
54
+ };
55
+ type WebAuthnMessage = {
56
+ /** Hash that needs to be signed */
57
+ challenge: Uint8Array;
58
+ /** Underlying payload that will be executed onchain */
59
+ payload: string;
60
+ /** Parsed payload in case UI needs to display it */
61
+ parsedPayload: DefusePayloadFor_DefuseIntents;
62
+ };
63
+ /** Full response of WebAuthn Login */
64
+ type WebAuthnSignature = AuthenticatorAssertionResponse;
65
+ type WebAuthnSignatureData = {
66
+ type: "WEBAUTHN";
67
+ signatureData: WebAuthnSignature;
68
+ signedData: WebAuthnMessage;
69
+ };
70
+ type TonConnectMessage = {
71
+ message: {
72
+ type: "text";
73
+ text: string;
74
+ };
75
+ };
76
+ type TonConnectSignatureData = {
77
+ type: "TON_CONNECT";
78
+ signatureData: {
79
+ signature: string;
80
+ address: string;
81
+ timestamp: number;
82
+ domain: string;
83
+ payload: TonConnectPayloadSchema;
84
+ };
85
+ signedData: TonConnectMessage;
86
+ };
87
+ type TronMessage = {
88
+ message: string;
89
+ };
90
+ type TronSignatureData = {
91
+ type: "TRON";
92
+ signatureData: string;
93
+ signedData: TronMessage;
94
+ };
95
+ type WalletMessage = {
96
+ ERC191: ERC191Message;
97
+ NEP413: NEP413Message;
98
+ SOLANA: SolanaMessage;
99
+ STELLAR: StellarMessage;
100
+ WEBAUTHN: WebAuthnMessage;
101
+ TON_CONNECT: TonConnectMessage;
102
+ TRON: TronMessage;
103
+ };
104
+ type WalletSignatureResult = ERC191SignatureData | NEP413SignatureData | SolanaSignatureData | StellarSignatureData | WebAuthnSignatureData | TonConnectSignatureData | TronSignatureData;
105
+ //#endregion
106
+ export { WalletMessage, WalletSignatureResult, walletMessage_d_exports };
@@ -0,0 +1,5 @@
1
+ //#region src/types/walletMessage.ts
2
+ var walletMessage_exports = {};
3
+
4
+ //#endregion
5
+ export { walletMessage_exports };
@@ -0,0 +1,19 @@
1
+
2
+ //#region src/utils/abortSignal.ts
3
+ function mergeAbortSignals(signals) {
4
+ if (signals.length === 1) return signals[0];
5
+ const controller = new AbortController();
6
+ for (const signal of signals) if (signal.aborted) {
7
+ controller.abort(signal.reason);
8
+ break;
9
+ }
10
+ const abortHandler = (event) => {
11
+ const signal = event.target;
12
+ controller.abort(signal.reason);
13
+ };
14
+ for (const signal of signals) signal.addEventListener("abort", abortHandler, { once: true });
15
+ return controller.signal;
16
+ }
17
+
18
+ //#endregion
19
+ exports.mergeAbortSignals = mergeAbortSignals;
@@ -0,0 +1,18 @@
1
+ //#region src/utils/abortSignal.ts
2
+ function mergeAbortSignals(signals) {
3
+ if (signals.length === 1) return signals[0];
4
+ const controller = new AbortController();
5
+ for (const signal of signals) if (signal.aborted) {
6
+ controller.abort(signal.reason);
7
+ break;
8
+ }
9
+ const abortHandler = (event) => {
10
+ const signal = event.target;
11
+ controller.abort(signal.reason);
12
+ };
13
+ for (const signal of signals) signal.addEventListener("abort", abortHandler, { once: true });
14
+ return controller.signal;
15
+ }
16
+
17
+ //#endregion
18
+ export { mergeAbortSignals };
@@ -0,0 +1,20 @@
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+
3
+ //#region src/utils/appFee.ts
4
+ var appFee_exports = /* @__PURE__ */ require_rolldown_runtime.__exportAll({ computeAppFeeBps: () => computeAppFeeBps });
5
+ function computeAppFeeBps(defaultAppFeeBps, token1, token2) {
6
+ if (hasTags(token1) && hasTags(token2) && token1.tags.includes("type:stablecoin") && token2.tags.includes("type:stablecoin")) return 0;
7
+ return defaultAppFeeBps;
8
+ }
9
+ function hasTags(a) {
10
+ if ("tags" in a) return true;
11
+ return false;
12
+ }
13
+
14
+ //#endregion
15
+ Object.defineProperty(exports, 'appFee_exports', {
16
+ enumerable: true,
17
+ get: function () {
18
+ return appFee_exports;
19
+ }
20
+ });
@@ -0,0 +1,9 @@
1
+ import { BaseTokenInfo, UnifiedTokenInfo } from "../types/base.cjs";
2
+
3
+ //#region src/utils/appFee.d.ts
4
+ declare namespace appFee_d_exports {
5
+ export { computeAppFeeBps };
6
+ }
7
+ declare function computeAppFeeBps(defaultAppFeeBps: number, token1: BaseTokenInfo | UnifiedTokenInfo, token2: BaseTokenInfo | UnifiedTokenInfo): number;
8
+ //#endregion
9
+ export { appFee_d_exports };