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.
- package/LICENSE +21 -0
- package/dist/_virtual/rolldown_runtime.cjs +43 -0
- package/dist/_virtual/rolldown_runtime.js +18 -0
- package/dist/config.cjs +82 -0
- package/dist/config.d.cts +42 -0
- package/dist/config.d.ts +42 -0
- package/dist/config.js +72 -0
- package/dist/errors/assert.cjs +11 -0
- package/dist/errors/assert.d.cts +11 -0
- package/dist/errors/assert.d.ts +11 -0
- package/dist/errors/assert.js +11 -0
- package/dist/errors/base.cjs +34 -0
- package/dist/errors/base.d.cts +21 -0
- package/dist/errors/base.d.ts +21 -0
- package/dist/errors/base.js +33 -0
- package/dist/errors/index.cjs +23 -0
- package/dist/errors/index.d.cts +11 -0
- package/dist/errors/index.d.ts +11 -0
- package/dist/errors/index.js +18 -0
- package/dist/errors/request.cjs +48 -0
- package/dist/errors/request.d.cts +61 -0
- package/dist/errors/request.d.ts +61 -0
- package/dist/errors/request.js +46 -0
- package/dist/errors/utils/isNetworkError.cjs +23 -0
- package/dist/errors/utils/isNetworkError.js +22 -0
- package/dist/errors/utils/toError.cjs +8 -0
- package/dist/errors/utils/toError.d.cts +4 -0
- package/dist/errors/utils/toError.d.ts +4 -0
- package/dist/errors/utils/toError.js +7 -0
- package/dist/index.cjs +125 -0
- package/dist/index.d.cts +30 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.js +30 -0
- package/dist/logger.d.cts +11 -0
- package/dist/logger.d.ts +11 -0
- package/dist/nearClient.cjs +18 -0
- package/dist/nearClient.d.cts +8 -0
- package/dist/nearClient.d.ts +8 -0
- package/dist/nearClient.js +18 -0
- package/dist/poaBridge/constants/blockchains.cjs +57 -0
- package/dist/poaBridge/constants/blockchains.d.cts +86 -0
- package/dist/poaBridge/constants/blockchains.d.ts +86 -0
- package/dist/poaBridge/constants/blockchains.js +54 -0
- package/dist/poaBridge/errors/withdrawal.cjs +52 -0
- package/dist/poaBridge/errors/withdrawal.d.cts +34 -0
- package/dist/poaBridge/errors/withdrawal.d.ts +34 -0
- package/dist/poaBridge/errors/withdrawal.js +50 -0
- package/dist/poaBridge/getPendingDeposits.cjs +9 -0
- package/dist/poaBridge/getPendingDeposits.d.cts +12 -0
- package/dist/poaBridge/getPendingDeposits.d.ts +13 -0
- package/dist/poaBridge/getPendingDeposits.js +9 -0
- package/dist/poaBridge/index.cjs +23 -0
- package/dist/poaBridge/index.d.cts +11 -0
- package/dist/poaBridge/index.d.ts +11 -0
- package/dist/poaBridge/index.js +18 -0
- package/dist/poaBridge/poaBridgeHttpClient/apis.cjs +38 -0
- package/dist/poaBridge/poaBridgeHttpClient/apis.d.cts +12 -0
- package/dist/poaBridge/poaBridgeHttpClient/apis.d.ts +12 -0
- package/dist/poaBridge/poaBridgeHttpClient/apis.js +32 -0
- package/dist/poaBridge/poaBridgeHttpClient/index.cjs +21 -0
- package/dist/poaBridge/poaBridgeHttpClient/index.d.cts +9 -0
- package/dist/poaBridge/poaBridgeHttpClient/index.d.ts +9 -0
- package/dist/poaBridge/poaBridgeHttpClient/index.js +16 -0
- package/dist/poaBridge/poaBridgeHttpClient/runtime.cjs +49 -0
- package/dist/poaBridge/poaBridgeHttpClient/runtime.js +47 -0
- package/dist/poaBridge/poaBridgeHttpClient/types.d.cts +161 -0
- package/dist/poaBridge/poaBridgeHttpClient/types.d.ts +161 -0
- package/dist/poaBridge/waitForWithdrawalCompletion.cjs +57 -0
- package/dist/poaBridge/waitForWithdrawalCompletion.d.cts +31 -0
- package/dist/poaBridge/waitForWithdrawalCompletion.d.ts +31 -0
- package/dist/poaBridge/waitForWithdrawalCompletion.js +56 -0
- package/dist/services/blockchainBalanceService.cjs +40 -0
- package/dist/services/blockchainBalanceService.d.cts +21 -0
- package/dist/services/blockchainBalanceService.d.ts +21 -0
- package/dist/services/blockchainBalanceService.js +37 -0
- package/dist/solverRelay/errors/intentSettlement.cjs +20 -0
- package/dist/solverRelay/errors/intentSettlement.d.cts +13 -0
- package/dist/solverRelay/errors/intentSettlement.d.ts +13 -0
- package/dist/solverRelay/errors/intentSettlement.js +20 -0
- package/dist/solverRelay/errors/quote.cjs +18 -0
- package/dist/solverRelay/errors/quote.d.cts +21 -0
- package/dist/solverRelay/errors/quote.d.ts +22 -0
- package/dist/solverRelay/errors/quote.js +18 -0
- package/dist/solverRelay/getQuote.cjs +49 -0
- package/dist/solverRelay/getQuote.d.cts +14 -0
- package/dist/solverRelay/getQuote.d.ts +14 -0
- package/dist/solverRelay/getQuote.js +49 -0
- package/dist/solverRelay/getStatus.cjs +26 -0
- package/dist/solverRelay/getStatus.d.cts +17 -0
- package/dist/solverRelay/getStatus.d.ts +18 -0
- package/dist/solverRelay/getStatus.js +26 -0
- package/dist/solverRelay/index.cjs +27 -0
- package/dist/solverRelay/index.d.cts +16 -0
- package/dist/solverRelay/index.d.ts +16 -0
- package/dist/solverRelay/index.js +22 -0
- package/dist/solverRelay/publishIntent.cjs +20 -0
- package/dist/solverRelay/publishIntent.d.cts +15 -0
- package/dist/solverRelay/publishIntent.d.ts +16 -0
- package/dist/solverRelay/publishIntent.js +20 -0
- package/dist/solverRelay/publishIntents.cjs +43 -0
- package/dist/solverRelay/publishIntents.d.cts +10 -0
- package/dist/solverRelay/publishIntents.d.ts +11 -0
- package/dist/solverRelay/publishIntents.js +42 -0
- package/dist/solverRelay/solverRelayHttpClient/apis.cjs +21 -0
- package/dist/solverRelay/solverRelayHttpClient/apis.d.cts +9 -0
- package/dist/solverRelay/solverRelayHttpClient/apis.d.ts +9 -0
- package/dist/solverRelay/solverRelayHttpClient/apis.js +18 -0
- package/dist/solverRelay/solverRelayHttpClient/index.cjs +18 -0
- package/dist/solverRelay/solverRelayHttpClient/index.d.cts +9 -0
- package/dist/solverRelay/solverRelayHttpClient/index.d.ts +9 -0
- package/dist/solverRelay/solverRelayHttpClient/index.js +13 -0
- package/dist/solverRelay/solverRelayHttpClient/runtime.cjs +60 -0
- package/dist/solverRelay/solverRelayHttpClient/runtime.js +58 -0
- package/dist/solverRelay/solverRelayHttpClient/types.d.cts +109 -0
- package/dist/solverRelay/solverRelayHttpClient/types.d.ts +109 -0
- package/dist/solverRelay/utils/parseFailedPublishError.cjs +40 -0
- package/dist/solverRelay/utils/parseFailedPublishError.d.cts +25 -0
- package/dist/solverRelay/utils/parseFailedPublishError.d.ts +26 -0
- package/dist/solverRelay/utils/parseFailedPublishError.js +39 -0
- package/dist/solverRelay/utils/quoteWithLog.cjs +21 -0
- package/dist/solverRelay/utils/quoteWithLog.d.cts +12 -0
- package/dist/solverRelay/utils/quoteWithLog.d.ts +14 -0
- package/dist/solverRelay/utils/quoteWithLog.js +21 -0
- package/dist/solverRelay/waitForIntentSettlement.cjs +52 -0
- package/dist/solverRelay/waitForIntentSettlement.d.cts +30 -0
- package/dist/solverRelay/waitForIntentSettlement.d.ts +30 -0
- package/dist/solverRelay/waitForIntentSettlement.js +52 -0
- package/dist/types/authHandle.cjs +22 -0
- package/dist/types/authHandle.d.cts +25 -0
- package/dist/types/authHandle.d.ts +25 -0
- package/dist/types/authHandle.js +16 -0
- package/dist/types/base.d.cts +45 -0
- package/dist/types/base.d.ts +45 -0
- package/dist/types/intentsUserId.d.cts +10 -0
- package/dist/types/intentsUserId.d.ts +10 -0
- package/dist/types/walletMessage.cjs +11 -0
- package/dist/types/walletMessage.d.cts +106 -0
- package/dist/types/walletMessage.d.ts +106 -0
- package/dist/types/walletMessage.js +5 -0
- package/dist/utils/abortSignal.cjs +19 -0
- package/dist/utils/abortSignal.js +18 -0
- package/dist/utils/appFee.cjs +20 -0
- package/dist/utils/appFee.d.cts +9 -0
- package/dist/utils/appFee.d.ts +9 -0
- package/dist/utils/appFee.js +15 -0
- package/dist/utils/assert.cjs +9 -0
- package/dist/utils/assert.d.cts +7 -0
- package/dist/utils/assert.d.ts +7 -0
- package/dist/utils/assert.js +9 -0
- package/dist/utils/authIdentity.cjs +56 -0
- package/dist/utils/authIdentity.d.cts +34 -0
- package/dist/utils/authIdentity.d.ts +34 -0
- package/dist/utils/authIdentity.js +50 -0
- package/dist/utils/failover.cjs +22 -0
- package/dist/utils/failover.d.cts +16 -0
- package/dist/utils/failover.d.ts +16 -0
- package/dist/utils/failover.js +20 -0
- package/dist/utils/handleRPCResponse.cjs +30 -0
- package/dist/utils/handleRPCResponse.js +28 -0
- package/dist/utils/index.cjs +55 -0
- package/dist/utils/index.d.cts +13 -0
- package/dist/utils/index.d.ts +13 -0
- package/dist/utils/index.js +50 -0
- package/dist/utils/messageFactory.cjs +137 -0
- package/dist/utils/messageFactory.d.cts +70 -0
- package/dist/utils/messageFactory.d.ts +70 -0
- package/dist/utils/messageFactory.js +132 -0
- package/dist/utils/multiPayload/webauthn.cjs +27 -0
- package/dist/utils/multiPayload/webauthn.js +26 -0
- package/dist/utils/near.cjs +58 -0
- package/dist/utils/near.d.cts +35 -0
- package/dist/utils/near.d.ts +35 -0
- package/dist/utils/near.js +53 -0
- package/dist/utils/poll.cjs +87 -0
- package/dist/utils/poll.d.cts +54 -0
- package/dist/utils/poll.d.ts +54 -0
- package/dist/utils/poll.js +85 -0
- package/dist/utils/prepareBroadcastRequest.cjs +98 -0
- package/dist/utils/prepareBroadcastRequest.d.cts +16 -0
- package/dist/utils/prepareBroadcastRequest.d.ts +16 -0
- package/dist/utils/prepareBroadcastRequest.js +90 -0
- package/dist/utils/promise/withTimeout.cjs +34 -0
- package/dist/utils/promise/withTimeout.d.cts +16 -0
- package/dist/utils/promise/withTimeout.d.ts +16 -0
- package/dist/utils/promise/withTimeout.js +34 -0
- package/dist/utils/request.cjs +100 -0
- package/dist/utils/request.d.cts +27 -0
- package/dist/utils/request.d.ts +27 -0
- package/dist/utils/request.js +99 -0
- package/dist/utils/requestShouldRetry.cjs +20 -0
- package/dist/utils/requestShouldRetry.js +20 -0
- package/dist/utils/retry.cjs +66 -0
- package/dist/utils/retry.d.cts +56 -0
- package/dist/utils/retry.d.ts +56 -0
- package/dist/utils/retry.js +64 -0
- package/dist/utils/serialize.cjs +82 -0
- package/dist/utils/serialize.d.cts +17 -0
- package/dist/utils/serialize.d.ts +17 -0
- package/dist/utils/serialize.js +81 -0
- package/dist/utils/stellarAddressToBytes.cjs +295 -0
- package/dist/utils/stellarAddressToBytes.js +294 -0
- package/dist/utils/token.cjs +8 -0
- package/dist/utils/token.js +7 -0
- package/dist/utils/tokenUtils.cjs +263 -0
- package/dist/utils/tokenUtils.d.cts +88 -0
- package/dist/utils/tokenUtils.d.ts +88 -0
- package/dist/utils/tokenUtils.js +238 -0
- package/dist/utils/tronAddressToHex.cjs +18 -0
- package/dist/utils/tronAddressToHex.js +17 -0
- package/dist/utils/uint8Array.cjs +15 -0
- package/dist/utils/uint8Array.d.cts +4 -0
- package/dist/utils/uint8Array.d.ts +4 -0
- package/dist/utils/uint8Array.js +14 -0
- package/dist/utils/webAuthn.cjs +91 -0
- package/dist/utils/webAuthn.js +89 -0
- package/package.json +56 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const require_base = require('../../errors/base.cjs');
|
|
2
|
+
|
|
3
|
+
//#region src/solverRelay/errors/intentSettlement.ts
|
|
4
|
+
var IntentSettlementError = class extends require_base.BaseError {
|
|
5
|
+
constructor(result) {
|
|
6
|
+
super("Intent settlement failed.", {
|
|
7
|
+
details: "Intent is published but not settled.",
|
|
8
|
+
metaMessages: [
|
|
9
|
+
`Status: ${result.status}`,
|
|
10
|
+
`Intent hash: ${result.intent_hash}`,
|
|
11
|
+
..."data" in result && result.data ? [`Tx hash: ${result.data.hash}`] : []
|
|
12
|
+
],
|
|
13
|
+
name: "IntentSettlementError"
|
|
14
|
+
});
|
|
15
|
+
this.result = result;
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
//#endregion
|
|
20
|
+
exports.IntentSettlementError = IntentSettlementError;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseError } from "../../errors/base.cjs";
|
|
2
|
+
import { GetStatusResponse } from "../solverRelayHttpClient/types.cjs";
|
|
3
|
+
|
|
4
|
+
//#region src/solverRelay/errors/intentSettlement.d.ts
|
|
5
|
+
type IntentSettlementErrorType = IntentSettlementError & {
|
|
6
|
+
name: "IntentSettlementError";
|
|
7
|
+
};
|
|
8
|
+
declare class IntentSettlementError extends BaseError {
|
|
9
|
+
result: GetStatusResponse["result"];
|
|
10
|
+
constructor(result: GetStatusResponse["result"]);
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { IntentSettlementError, IntentSettlementErrorType };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseError } from "../../errors/base.js";
|
|
2
|
+
import { GetStatusResponse } from "../solverRelayHttpClient/types.js";
|
|
3
|
+
|
|
4
|
+
//#region src/solverRelay/errors/intentSettlement.d.ts
|
|
5
|
+
type IntentSettlementErrorType = IntentSettlementError & {
|
|
6
|
+
name: "IntentSettlementError";
|
|
7
|
+
};
|
|
8
|
+
declare class IntentSettlementError extends BaseError {
|
|
9
|
+
result: GetStatusResponse["result"];
|
|
10
|
+
constructor(result: GetStatusResponse["result"]);
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { IntentSettlementError, IntentSettlementErrorType };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { BaseError } from "../../errors/base.js";
|
|
2
|
+
|
|
3
|
+
//#region src/solverRelay/errors/intentSettlement.ts
|
|
4
|
+
var IntentSettlementError = class extends BaseError {
|
|
5
|
+
constructor(result) {
|
|
6
|
+
super("Intent settlement failed.", {
|
|
7
|
+
details: "Intent is published but not settled.",
|
|
8
|
+
metaMessages: [
|
|
9
|
+
`Status: ${result.status}`,
|
|
10
|
+
`Intent hash: ${result.intent_hash}`,
|
|
11
|
+
..."data" in result && result.data ? [`Tx hash: ${result.data.hash}`] : []
|
|
12
|
+
],
|
|
13
|
+
name: "IntentSettlementError"
|
|
14
|
+
});
|
|
15
|
+
this.result = result;
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
//#endregion
|
|
20
|
+
export { IntentSettlementError };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const require_serialize = require('../../utils/serialize.cjs');
|
|
2
|
+
const require_base = require('../../errors/base.cjs');
|
|
3
|
+
|
|
4
|
+
//#region src/solverRelay/errors/quote.ts
|
|
5
|
+
var QuoteError = class extends require_base.BaseError {
|
|
6
|
+
constructor({ quote, quoteParams }) {
|
|
7
|
+
super("Quote error.", {
|
|
8
|
+
details: quote == null ? "NO_QUOTE" : quote.type,
|
|
9
|
+
metaMessages: [`Quote: ${require_serialize.serialize(quote)}`, `Quote params: ${require_serialize.serialize(quoteParams)}`],
|
|
10
|
+
name: "QuoteError"
|
|
11
|
+
});
|
|
12
|
+
this.quote = quote;
|
|
13
|
+
this.quoteParams = quoteParams;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
//#endregion
|
|
18
|
+
exports.QuoteError = QuoteError;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseError } from "../../errors/base.cjs";
|
|
2
|
+
import { FailedQuote } from "../solverRelayHttpClient/types.cjs";
|
|
3
|
+
import { quote as quote$1 } from "../solverRelayHttpClient/apis.cjs";
|
|
4
|
+
|
|
5
|
+
//#region src/solverRelay/errors/quote.d.ts
|
|
6
|
+
type QuoteErrorType = QuoteError & {
|
|
7
|
+
name: "QuoteError";
|
|
8
|
+
};
|
|
9
|
+
declare class QuoteError extends BaseError {
|
|
10
|
+
quote: FailedQuote | null;
|
|
11
|
+
quoteParams: Parameters<typeof quote$1>[0];
|
|
12
|
+
constructor({
|
|
13
|
+
quote,
|
|
14
|
+
quoteParams
|
|
15
|
+
}: {
|
|
16
|
+
quote: FailedQuote | null;
|
|
17
|
+
quoteParams: Parameters<typeof quote$1>[0];
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
export { QuoteError, QuoteErrorType };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { BaseError } from "../../errors/base.js";
|
|
2
|
+
import { FailedQuote } from "../solverRelayHttpClient/types.js";
|
|
3
|
+
import { quote as quote$1 } from "../solverRelayHttpClient/apis.js";
|
|
4
|
+
import "../solverRelayHttpClient/index.js";
|
|
5
|
+
|
|
6
|
+
//#region src/solverRelay/errors/quote.d.ts
|
|
7
|
+
type QuoteErrorType = QuoteError & {
|
|
8
|
+
name: "QuoteError";
|
|
9
|
+
};
|
|
10
|
+
declare class QuoteError extends BaseError {
|
|
11
|
+
quote: FailedQuote | null;
|
|
12
|
+
quoteParams: Parameters<typeof quote$1>[0];
|
|
13
|
+
constructor({
|
|
14
|
+
quote,
|
|
15
|
+
quoteParams
|
|
16
|
+
}: {
|
|
17
|
+
quote: FailedQuote | null;
|
|
18
|
+
quoteParams: Parameters<typeof quote$1>[0];
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
export { QuoteError, QuoteErrorType };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { serialize } from "../../utils/serialize.js";
|
|
2
|
+
import { BaseError } from "../../errors/base.js";
|
|
3
|
+
|
|
4
|
+
//#region src/solverRelay/errors/quote.ts
|
|
5
|
+
var QuoteError = class extends BaseError {
|
|
6
|
+
constructor({ quote, quoteParams }) {
|
|
7
|
+
super("Quote error.", {
|
|
8
|
+
details: quote == null ? "NO_QUOTE" : quote.type,
|
|
9
|
+
metaMessages: [`Quote: ${serialize(quote)}`, `Quote params: ${serialize(quoteParams)}`],
|
|
10
|
+
name: "QuoteError"
|
|
11
|
+
});
|
|
12
|
+
this.quote = quote;
|
|
13
|
+
this.quoteParams = quoteParams;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
//#endregion
|
|
18
|
+
export { QuoteError };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
const require_quote = require('./errors/quote.cjs');
|
|
2
|
+
const require_quoteWithLog = require('./utils/quoteWithLog.cjs');
|
|
3
|
+
|
|
4
|
+
//#region src/solverRelay/getQuote.ts
|
|
5
|
+
async function getQuote(params) {
|
|
6
|
+
return handleQuoteResult(await require_quoteWithLog.quoteWithLog(params.quoteParams, {
|
|
7
|
+
timeout: (params.quoteParams?.wait_ms ?? 0) + 1e4,
|
|
8
|
+
...params.config
|
|
9
|
+
}), params.quoteParams);
|
|
10
|
+
}
|
|
11
|
+
function handleQuoteResult(result, quoteParams) {
|
|
12
|
+
if (result == null) throw new require_quote.QuoteError({
|
|
13
|
+
quote: null,
|
|
14
|
+
quoteParams
|
|
15
|
+
});
|
|
16
|
+
const failedQuotes = [];
|
|
17
|
+
const validQuotes = [];
|
|
18
|
+
for (const q of result) if (isValidQuote(q)) validQuotes.push(q);
|
|
19
|
+
else failedQuotes.push(q);
|
|
20
|
+
const bestQuote = sortQuotes(validQuotes, quoteParams.exact_amount_in !== null ? "exact_in" : "exact_out")[0];
|
|
21
|
+
if (bestQuote != null) return bestQuote;
|
|
22
|
+
const failedQuote = failedQuotes[0];
|
|
23
|
+
if (failedQuote != null) throw new require_quote.QuoteError({
|
|
24
|
+
quote: failedQuote,
|
|
25
|
+
quoteParams
|
|
26
|
+
});
|
|
27
|
+
throw new require_quote.QuoteError({
|
|
28
|
+
quote: null,
|
|
29
|
+
quoteParams
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function sortQuotes(quotes, quoteKind) {
|
|
33
|
+
return quotes.slice().sort((a, b) => {
|
|
34
|
+
if (quoteKind === "exact_in") {
|
|
35
|
+
if (BigInt(a.amount_out) > BigInt(b.amount_out)) return -1;
|
|
36
|
+
if (BigInt(a.amount_out) < BigInt(b.amount_out)) return 1;
|
|
37
|
+
return 0;
|
|
38
|
+
}
|
|
39
|
+
if (BigInt(a.amount_in) < BigInt(b.amount_in)) return -1;
|
|
40
|
+
if (BigInt(a.amount_in) > BigInt(b.amount_in)) return 1;
|
|
41
|
+
return 0;
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
function isValidQuote(quote) {
|
|
45
|
+
return !("type" in quote);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
//#endregion
|
|
49
|
+
exports.getQuote = getQuote;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { JSONRPCErrorType, Quote } from "./solverRelayHttpClient/types.cjs";
|
|
2
|
+
import { QuoteError } from "./errors/quote.cjs";
|
|
3
|
+
import { quoteWithLog } from "./utils/quoteWithLog.cjs";
|
|
4
|
+
|
|
5
|
+
//#region src/solverRelay/getQuote.d.ts
|
|
6
|
+
type GetQuoteParams = {
|
|
7
|
+
quoteParams: Parameters<typeof quoteWithLog>[0];
|
|
8
|
+
config: Parameters<typeof quoteWithLog>[1];
|
|
9
|
+
};
|
|
10
|
+
type GetQuoteReturnType = Quote;
|
|
11
|
+
type GetQuoteErrorType = QuoteError | JSONRPCErrorType;
|
|
12
|
+
declare function getQuote(params: GetQuoteParams): Promise<GetQuoteReturnType>;
|
|
13
|
+
//#endregion
|
|
14
|
+
export { GetQuoteErrorType, GetQuoteParams, GetQuoteReturnType, getQuote };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { JSONRPCErrorType, Quote } from "./solverRelayHttpClient/types.js";
|
|
2
|
+
import { QuoteError } from "./errors/quote.js";
|
|
3
|
+
import { quoteWithLog } from "./utils/quoteWithLog.js";
|
|
4
|
+
|
|
5
|
+
//#region src/solverRelay/getQuote.d.ts
|
|
6
|
+
type GetQuoteParams = {
|
|
7
|
+
quoteParams: Parameters<typeof quoteWithLog>[0];
|
|
8
|
+
config: Parameters<typeof quoteWithLog>[1];
|
|
9
|
+
};
|
|
10
|
+
type GetQuoteReturnType = Quote;
|
|
11
|
+
type GetQuoteErrorType = QuoteError | JSONRPCErrorType;
|
|
12
|
+
declare function getQuote(params: GetQuoteParams): Promise<GetQuoteReturnType>;
|
|
13
|
+
//#endregion
|
|
14
|
+
export { GetQuoteErrorType, GetQuoteParams, GetQuoteReturnType, getQuote };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { QuoteError } from "./errors/quote.js";
|
|
2
|
+
import { quoteWithLog } from "./utils/quoteWithLog.js";
|
|
3
|
+
|
|
4
|
+
//#region src/solverRelay/getQuote.ts
|
|
5
|
+
async function getQuote(params) {
|
|
6
|
+
return handleQuoteResult(await quoteWithLog(params.quoteParams, {
|
|
7
|
+
timeout: (params.quoteParams?.wait_ms ?? 0) + 1e4,
|
|
8
|
+
...params.config
|
|
9
|
+
}), params.quoteParams);
|
|
10
|
+
}
|
|
11
|
+
function handleQuoteResult(result, quoteParams) {
|
|
12
|
+
if (result == null) throw new QuoteError({
|
|
13
|
+
quote: null,
|
|
14
|
+
quoteParams
|
|
15
|
+
});
|
|
16
|
+
const failedQuotes = [];
|
|
17
|
+
const validQuotes = [];
|
|
18
|
+
for (const q of result) if (isValidQuote(q)) validQuotes.push(q);
|
|
19
|
+
else failedQuotes.push(q);
|
|
20
|
+
const bestQuote = sortQuotes(validQuotes, quoteParams.exact_amount_in !== null ? "exact_in" : "exact_out")[0];
|
|
21
|
+
if (bestQuote != null) return bestQuote;
|
|
22
|
+
const failedQuote = failedQuotes[0];
|
|
23
|
+
if (failedQuote != null) throw new QuoteError({
|
|
24
|
+
quote: failedQuote,
|
|
25
|
+
quoteParams
|
|
26
|
+
});
|
|
27
|
+
throw new QuoteError({
|
|
28
|
+
quote: null,
|
|
29
|
+
quoteParams
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function sortQuotes(quotes, quoteKind) {
|
|
33
|
+
return quotes.slice().sort((a, b) => {
|
|
34
|
+
if (quoteKind === "exact_in") {
|
|
35
|
+
if (BigInt(a.amount_out) > BigInt(b.amount_out)) return -1;
|
|
36
|
+
if (BigInt(a.amount_out) < BigInt(b.amount_out)) return 1;
|
|
37
|
+
return 0;
|
|
38
|
+
}
|
|
39
|
+
if (BigInt(a.amount_in) < BigInt(b.amount_in)) return -1;
|
|
40
|
+
if (BigInt(a.amount_in) > BigInt(b.amount_in)) return 1;
|
|
41
|
+
return 0;
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
function isValidQuote(quote) {
|
|
45
|
+
return !("type" in quote);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
//#endregion
|
|
49
|
+
export { getQuote };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const require_apis = require('./solverRelayHttpClient/apis.cjs');
|
|
2
|
+
const require_assert = require('../utils/assert.cjs');
|
|
3
|
+
|
|
4
|
+
//#region src/solverRelay/getStatus.ts
|
|
5
|
+
async function getStatus(...args) {
|
|
6
|
+
return require_apis.getStatus(...args).then((response) => {
|
|
7
|
+
const status = response.status;
|
|
8
|
+
switch (status) {
|
|
9
|
+
case "SETTLED":
|
|
10
|
+
case "TX_BROADCASTED": return {
|
|
11
|
+
status,
|
|
12
|
+
intentHash: response.intent_hash,
|
|
13
|
+
txHash: response.data.hash
|
|
14
|
+
};
|
|
15
|
+
case "PENDING":
|
|
16
|
+
case "NOT_FOUND_OR_NOT_VALID": return {
|
|
17
|
+
status,
|
|
18
|
+
intentHash: response.intent_hash
|
|
19
|
+
};
|
|
20
|
+
default: require_assert.assert(false, `Unexpected intent status = ${status}`);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
//#endregion
|
|
26
|
+
exports.getStatus = getStatus;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { JSONRPCErrorType } from "./solverRelayHttpClient/types.cjs";
|
|
2
|
+
import { getStatus as getStatus$1 } from "./solverRelayHttpClient/apis.cjs";
|
|
3
|
+
import { AssertionErrorType } from "../errors/assert.cjs";
|
|
4
|
+
|
|
5
|
+
//#region src/solverRelay/getStatus.d.ts
|
|
6
|
+
type GetStatusReturnType = {
|
|
7
|
+
status: "PENDING" | "NOT_FOUND_OR_NOT_VALID";
|
|
8
|
+
intentHash: string;
|
|
9
|
+
} | {
|
|
10
|
+
status: "TX_BROADCASTED" | "SETTLED";
|
|
11
|
+
intentHash: string;
|
|
12
|
+
txHash: string;
|
|
13
|
+
};
|
|
14
|
+
type GetStatusErrorType = JSONRPCErrorType | AssertionErrorType;
|
|
15
|
+
declare function getStatus(...args: Parameters<typeof getStatus$1>): Promise<GetStatusReturnType>;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { GetStatusErrorType, GetStatusReturnType, getStatus };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { JSONRPCErrorType } from "./solverRelayHttpClient/types.js";
|
|
2
|
+
import { getStatus as getStatus$1 } from "./solverRelayHttpClient/apis.js";
|
|
3
|
+
import "./solverRelayHttpClient/index.js";
|
|
4
|
+
import { AssertionErrorType } from "../errors/assert.js";
|
|
5
|
+
|
|
6
|
+
//#region src/solverRelay/getStatus.d.ts
|
|
7
|
+
type GetStatusReturnType = {
|
|
8
|
+
status: "PENDING" | "NOT_FOUND_OR_NOT_VALID";
|
|
9
|
+
intentHash: string;
|
|
10
|
+
} | {
|
|
11
|
+
status: "TX_BROADCASTED" | "SETTLED";
|
|
12
|
+
intentHash: string;
|
|
13
|
+
txHash: string;
|
|
14
|
+
};
|
|
15
|
+
type GetStatusErrorType = JSONRPCErrorType | AssertionErrorType;
|
|
16
|
+
declare function getStatus(...args: Parameters<typeof getStatus$1>): Promise<GetStatusReturnType>;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { GetStatusErrorType, GetStatusReturnType, getStatus };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { getStatus as getStatus$1 } from "./solverRelayHttpClient/apis.js";
|
|
2
|
+
import { assert } from "../utils/assert.js";
|
|
3
|
+
|
|
4
|
+
//#region src/solverRelay/getStatus.ts
|
|
5
|
+
async function getStatus(...args) {
|
|
6
|
+
return getStatus$1(...args).then((response) => {
|
|
7
|
+
const status = response.status;
|
|
8
|
+
switch (status) {
|
|
9
|
+
case "SETTLED":
|
|
10
|
+
case "TX_BROADCASTED": return {
|
|
11
|
+
status,
|
|
12
|
+
intentHash: response.intent_hash,
|
|
13
|
+
txHash: response.data.hash
|
|
14
|
+
};
|
|
15
|
+
case "PENDING":
|
|
16
|
+
case "NOT_FOUND_OR_NOT_VALID": return {
|
|
17
|
+
status,
|
|
18
|
+
intentHash: response.intent_hash
|
|
19
|
+
};
|
|
20
|
+
default: assert(false, `Unexpected intent status = ${status}`);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
//#endregion
|
|
26
|
+
export { getStatus };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_apis = require('./solverRelayHttpClient/apis.cjs');
|
|
3
|
+
const require_index = require('./solverRelayHttpClient/index.cjs');
|
|
4
|
+
const require_getQuote = require('./getQuote.cjs');
|
|
5
|
+
const require_getStatus = require('./getStatus.cjs');
|
|
6
|
+
const require_publishIntents = require('./publishIntents.cjs');
|
|
7
|
+
const require_waitForIntentSettlement = require('./waitForIntentSettlement.cjs');
|
|
8
|
+
const require_publishIntent = require('./publishIntent.cjs');
|
|
9
|
+
|
|
10
|
+
//#region src/solverRelay/index.ts
|
|
11
|
+
var solverRelay_exports = /* @__PURE__ */ require_rolldown_runtime.__exportAll({
|
|
12
|
+
getQuote: () => require_getQuote.getQuote,
|
|
13
|
+
getStatus: () => require_getStatus.getStatus,
|
|
14
|
+
httpClient: () => require_index.solverRelayHttpClient_exports,
|
|
15
|
+
publishIntent: () => require_publishIntent.publishIntent,
|
|
16
|
+
publishIntents: () => require_publishIntents.publishIntents,
|
|
17
|
+
quote: () => require_apis.quote,
|
|
18
|
+
waitForIntentSettlement: () => require_waitForIntentSettlement.waitForIntentSettlement
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
//#endregion
|
|
22
|
+
Object.defineProperty(exports, 'solverRelay_exports', {
|
|
23
|
+
enumerable: true,
|
|
24
|
+
get: function () {
|
|
25
|
+
return solverRelay_exports;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FailedQuote, Params, PublishIntentRequest, Quote } from "./solverRelayHttpClient/types.cjs";
|
|
2
|
+
import { quote } from "./solverRelayHttpClient/apis.cjs";
|
|
3
|
+
import { index_d_exports as index_d_exports$1 } from "./solverRelayHttpClient/index.cjs";
|
|
4
|
+
import { GetQuoteErrorType, GetQuoteParams, GetQuoteReturnType, getQuote } from "./getQuote.cjs";
|
|
5
|
+
import { GetStatusErrorType, GetStatusReturnType, getStatus } from "./getStatus.cjs";
|
|
6
|
+
import { PublishIntentsErrorType, PublishIntentsReturnType, publishIntents } from "./publishIntents.cjs";
|
|
7
|
+
import { IntentSettlementError } from "./errors/intentSettlement.cjs";
|
|
8
|
+
import { IntentSettlementCallbacks, WaitForIntentSettlementErrorType, WaitForIntentSettlementReturnType, waitForIntentSettlement } from "./waitForIntentSettlement.cjs";
|
|
9
|
+
import { PublishIntentErrorType, PublishIntentReturnType, publishIntent } from "./publishIntent.cjs";
|
|
10
|
+
|
|
11
|
+
//#region src/solverRelay/index.d.ts
|
|
12
|
+
declare namespace index_d_exports {
|
|
13
|
+
export { FailedQuote, GetQuoteErrorType, GetQuoteParams, GetQuoteReturnType, GetStatusErrorType, GetStatusReturnType, IntentSettlementCallbacks, IntentSettlementError, Params, PublishIntentErrorType, PublishIntentRequest, PublishIntentReturnType, PublishIntentsErrorType, PublishIntentsReturnType, Quote, WaitForIntentSettlementErrorType, WaitForIntentSettlementReturnType, getQuote, getStatus, index_d_exports$1 as httpClient, publishIntent, publishIntents, quote, waitForIntentSettlement };
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { index_d_exports };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FailedQuote, Params, PublishIntentRequest, Quote } from "./solverRelayHttpClient/types.js";
|
|
2
|
+
import { quote } from "./solverRelayHttpClient/apis.js";
|
|
3
|
+
import { index_d_exports as index_d_exports$1 } from "./solverRelayHttpClient/index.js";
|
|
4
|
+
import { GetQuoteErrorType, GetQuoteParams, GetQuoteReturnType, getQuote } from "./getQuote.js";
|
|
5
|
+
import { GetStatusErrorType, GetStatusReturnType, getStatus } from "./getStatus.js";
|
|
6
|
+
import { PublishIntentsErrorType, PublishIntentsReturnType, publishIntents } from "./publishIntents.js";
|
|
7
|
+
import { IntentSettlementError } from "./errors/intentSettlement.js";
|
|
8
|
+
import { IntentSettlementCallbacks, WaitForIntentSettlementErrorType, WaitForIntentSettlementReturnType, waitForIntentSettlement } from "./waitForIntentSettlement.js";
|
|
9
|
+
import { PublishIntentErrorType, PublishIntentReturnType, publishIntent } from "./publishIntent.js";
|
|
10
|
+
|
|
11
|
+
//#region src/solverRelay/index.d.ts
|
|
12
|
+
declare namespace index_d_exports {
|
|
13
|
+
export { FailedQuote, GetQuoteErrorType, GetQuoteParams, GetQuoteReturnType, GetStatusErrorType, GetStatusReturnType, IntentSettlementCallbacks, IntentSettlementError, Params, PublishIntentErrorType, PublishIntentRequest, PublishIntentReturnType, PublishIntentsErrorType, PublishIntentsReturnType, Quote, WaitForIntentSettlementErrorType, WaitForIntentSettlementReturnType, getQuote, getStatus, index_d_exports$1 as httpClient, publishIntent, publishIntents, quote, waitForIntentSettlement };
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { index_d_exports };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { __exportAll } from "../_virtual/rolldown_runtime.js";
|
|
2
|
+
import { quote } from "./solverRelayHttpClient/apis.js";
|
|
3
|
+
import { solverRelayHttpClient_exports } from "./solverRelayHttpClient/index.js";
|
|
4
|
+
import { getQuote } from "./getQuote.js";
|
|
5
|
+
import { getStatus } from "./getStatus.js";
|
|
6
|
+
import { publishIntents } from "./publishIntents.js";
|
|
7
|
+
import { waitForIntentSettlement } from "./waitForIntentSettlement.js";
|
|
8
|
+
import { publishIntent } from "./publishIntent.js";
|
|
9
|
+
|
|
10
|
+
//#region src/solverRelay/index.ts
|
|
11
|
+
var solverRelay_exports = /* @__PURE__ */ __exportAll({
|
|
12
|
+
getQuote: () => getQuote,
|
|
13
|
+
getStatus: () => getStatus,
|
|
14
|
+
httpClient: () => solverRelayHttpClient_exports,
|
|
15
|
+
publishIntent: () => publishIntent,
|
|
16
|
+
publishIntents: () => publishIntents,
|
|
17
|
+
quote: () => quote,
|
|
18
|
+
waitForIntentSettlement: () => waitForIntentSettlement
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
//#endregion
|
|
22
|
+
export { solverRelay_exports };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const require_assert = require('../utils/assert.cjs');
|
|
2
|
+
const require_prepareBroadcastRequest = require('../utils/prepareBroadcastRequest.cjs');
|
|
3
|
+
const require_publishIntents = require('./publishIntents.cjs');
|
|
4
|
+
|
|
5
|
+
//#region src/solverRelay/publishIntent.ts
|
|
6
|
+
function publishIntent(signatureData, userInfo, quoteHashes, config = {}) {
|
|
7
|
+
return require_publishIntents.publishIntents({
|
|
8
|
+
signed_datas: [require_prepareBroadcastRequest.prepareSwapSignedData(signatureData, userInfo)],
|
|
9
|
+
quote_hashes: quoteHashes
|
|
10
|
+
}, config).then((result) => {
|
|
11
|
+
return result.map((intentHashes) => {
|
|
12
|
+
const intentHash = intentHashes[0];
|
|
13
|
+
require_assert.assert(intentHash != null, "Should include at least one intent hash");
|
|
14
|
+
return intentHash;
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
//#endregion
|
|
20
|
+
exports.publishIntent = publishIntent;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { RequestConfig } from "./solverRelayHttpClient/types.cjs";
|
|
2
|
+
import { PublishIntentsErrorType, PublishIntentsReturnType } from "./publishIntents.cjs";
|
|
3
|
+
import { AuthMethod } from "../types/authHandle.cjs";
|
|
4
|
+
import { WalletSignatureResult } from "../types/walletMessage.cjs";
|
|
5
|
+
import { Result } from "@thames/monads";
|
|
6
|
+
|
|
7
|
+
//#region src/solverRelay/publishIntent.d.ts
|
|
8
|
+
type PublishIntentReturnType = PublishIntentsReturnType[number];
|
|
9
|
+
type PublishIntentErrorType = PublishIntentsErrorType;
|
|
10
|
+
declare function publishIntent(signatureData: WalletSignatureResult, userInfo: {
|
|
11
|
+
userAddress: string;
|
|
12
|
+
userChainType: AuthMethod;
|
|
13
|
+
}, quoteHashes: string[], config?: RequestConfig): Promise<Result<PublishIntentReturnType, PublishIntentErrorType>>;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { PublishIntentErrorType, PublishIntentReturnType, publishIntent };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { RequestConfig } from "./solverRelayHttpClient/types.js";
|
|
2
|
+
import { PublishIntentsErrorType, PublishIntentsReturnType } from "./publishIntents.js";
|
|
3
|
+
import { AuthMethod } from "../types/authHandle.js";
|
|
4
|
+
import { WalletSignatureResult } from "../types/walletMessage.js";
|
|
5
|
+
import "../index.js";
|
|
6
|
+
import { Result } from "@thames/monads";
|
|
7
|
+
|
|
8
|
+
//#region src/solverRelay/publishIntent.d.ts
|
|
9
|
+
type PublishIntentReturnType = PublishIntentsReturnType[number];
|
|
10
|
+
type PublishIntentErrorType = PublishIntentsErrorType;
|
|
11
|
+
declare function publishIntent(signatureData: WalletSignatureResult, userInfo: {
|
|
12
|
+
userAddress: string;
|
|
13
|
+
userChainType: AuthMethod;
|
|
14
|
+
}, quoteHashes: string[], config?: RequestConfig): Promise<Result<PublishIntentReturnType, PublishIntentErrorType>>;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { PublishIntentErrorType, PublishIntentReturnType, publishIntent };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { assert } from "../utils/assert.js";
|
|
2
|
+
import { prepareSwapSignedData } from "../utils/prepareBroadcastRequest.js";
|
|
3
|
+
import { publishIntents } from "./publishIntents.js";
|
|
4
|
+
|
|
5
|
+
//#region src/solverRelay/publishIntent.ts
|
|
6
|
+
function publishIntent(signatureData, userInfo, quoteHashes, config = {}) {
|
|
7
|
+
return publishIntents({
|
|
8
|
+
signed_datas: [prepareSwapSignedData(signatureData, userInfo)],
|
|
9
|
+
quote_hashes: quoteHashes
|
|
10
|
+
}, config).then((result) => {
|
|
11
|
+
return result.map((intentHashes) => {
|
|
12
|
+
const intentHash = intentHashes[0];
|
|
13
|
+
assert(intentHash != null, "Should include at least one intent hash");
|
|
14
|
+
return intentHash;
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
//#endregion
|
|
20
|
+
export { publishIntent };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_apis = require('./solverRelayHttpClient/apis.cjs');
|
|
3
|
+
const require_parseFailedPublishError = require('./utils/parseFailedPublishError.cjs');
|
|
4
|
+
let _thames_monads = require("@thames/monads");
|
|
5
|
+
|
|
6
|
+
//#region src/solverRelay/publishIntents.ts
|
|
7
|
+
async function publishIntents(...args) {
|
|
8
|
+
const [params, requestConfig] = args;
|
|
9
|
+
return require_apis.publishIntents(params, {
|
|
10
|
+
timeout: 3e4,
|
|
11
|
+
...requestConfig,
|
|
12
|
+
retryOptions: {
|
|
13
|
+
delay: 1e3,
|
|
14
|
+
factor: 1.5,
|
|
15
|
+
maxAttempts: 7,
|
|
16
|
+
jitter: true,
|
|
17
|
+
minDelay: 1e3
|
|
18
|
+
}
|
|
19
|
+
}).then((response) => {
|
|
20
|
+
return parsePublishIntentsResponse(params, response);
|
|
21
|
+
}, (err) => {
|
|
22
|
+
return (0, _thames_monads.Err)(new require_parseFailedPublishError.RelayPublishError({
|
|
23
|
+
reason: "Error occurred during sending a request",
|
|
24
|
+
code: "NETWORK_ERROR",
|
|
25
|
+
publishParams: params,
|
|
26
|
+
cause: err
|
|
27
|
+
}));
|
|
28
|
+
}).then((result) => {
|
|
29
|
+
if (result.isErr()) {
|
|
30
|
+
const err = result.unwrapErr();
|
|
31
|
+
args[1]?.logger?.error(err);
|
|
32
|
+
}
|
|
33
|
+
return result;
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
function parsePublishIntentsResponse(publishParams, response) {
|
|
37
|
+
if (response.status === "OK") return (0, _thames_monads.Ok)(response.intent_hashes);
|
|
38
|
+
if (response.reason === "already processed") return (0, _thames_monads.Ok)(response.intent_hashes);
|
|
39
|
+
return (0, _thames_monads.Err)(require_parseFailedPublishError.toRelayPublishError(publishParams, response));
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
//#endregion
|
|
43
|
+
exports.publishIntents = publishIntents;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { publishIntents as publishIntents$1 } from "./solverRelayHttpClient/apis.cjs";
|
|
2
|
+
import { RelayPublishErrorType } from "./utils/parseFailedPublishError.cjs";
|
|
3
|
+
import { Result } from "@thames/monads";
|
|
4
|
+
|
|
5
|
+
//#region src/solverRelay/publishIntents.d.ts
|
|
6
|
+
declare function publishIntents(...args: Parameters<typeof publishIntents$1>): Promise<Result<PublishIntentsReturnType, PublishIntentsErrorType>>;
|
|
7
|
+
type PublishIntentsReturnType = string[];
|
|
8
|
+
type PublishIntentsErrorType = RelayPublishErrorType;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { PublishIntentsErrorType, PublishIntentsReturnType, publishIntents };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { publishIntents as publishIntents$1 } from "./solverRelayHttpClient/apis.js";
|
|
2
|
+
import "./solverRelayHttpClient/index.js";
|
|
3
|
+
import { RelayPublishErrorType } from "./utils/parseFailedPublishError.js";
|
|
4
|
+
import { Result } from "@thames/monads";
|
|
5
|
+
|
|
6
|
+
//#region src/solverRelay/publishIntents.d.ts
|
|
7
|
+
declare function publishIntents(...args: Parameters<typeof publishIntents$1>): Promise<Result<PublishIntentsReturnType, PublishIntentsErrorType>>;
|
|
8
|
+
type PublishIntentsReturnType = string[];
|
|
9
|
+
type PublishIntentsErrorType = RelayPublishErrorType;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { PublishIntentsErrorType, PublishIntentsReturnType, publishIntents };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { publishIntents as publishIntents$1 } from "./solverRelayHttpClient/apis.js";
|
|
2
|
+
import { RelayPublishError, toRelayPublishError } from "./utils/parseFailedPublishError.js";
|
|
3
|
+
import { Err, Ok } from "@thames/monads";
|
|
4
|
+
|
|
5
|
+
//#region src/solverRelay/publishIntents.ts
|
|
6
|
+
async function publishIntents(...args) {
|
|
7
|
+
const [params, requestConfig] = args;
|
|
8
|
+
return publishIntents$1(params, {
|
|
9
|
+
timeout: 3e4,
|
|
10
|
+
...requestConfig,
|
|
11
|
+
retryOptions: {
|
|
12
|
+
delay: 1e3,
|
|
13
|
+
factor: 1.5,
|
|
14
|
+
maxAttempts: 7,
|
|
15
|
+
jitter: true,
|
|
16
|
+
minDelay: 1e3
|
|
17
|
+
}
|
|
18
|
+
}).then((response) => {
|
|
19
|
+
return parsePublishIntentsResponse(params, response);
|
|
20
|
+
}, (err) => {
|
|
21
|
+
return Err(new RelayPublishError({
|
|
22
|
+
reason: "Error occurred during sending a request",
|
|
23
|
+
code: "NETWORK_ERROR",
|
|
24
|
+
publishParams: params,
|
|
25
|
+
cause: err
|
|
26
|
+
}));
|
|
27
|
+
}).then((result) => {
|
|
28
|
+
if (result.isErr()) {
|
|
29
|
+
const err = result.unwrapErr();
|
|
30
|
+
args[1]?.logger?.error(err);
|
|
31
|
+
}
|
|
32
|
+
return result;
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
function parsePublishIntentsResponse(publishParams, response) {
|
|
36
|
+
if (response.status === "OK") return Ok(response.intent_hashes);
|
|
37
|
+
if (response.reason === "already processed") return Ok(response.intent_hashes);
|
|
38
|
+
return Err(toRelayPublishError(publishParams, response));
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
//#endregion
|
|
42
|
+
export { publishIntents };
|