@0xkoaj/sdk 0.0.1-beta.7 → 0.0.1-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/services/quotes/quote-sources/relay-quote-source.d.ts +19 -0
- package/dist/services/quotes/quote-sources/relay-quote-source.js +137 -0
- package/dist/services/quotes/quote-sources/relay-quote-source.js.map +1 -0
- package/dist/services/quotes/source-registry.d.ts +3 -1
- package/dist/services/quotes/source-registry.js +2 -0
- package/dist/services/quotes/source-registry.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { IQuoteSource, QuoteParams, QuoteSourceMetadata, SourceQuoteResponse, SourceQuoteTransaction, BuildTxParams } from './types';
|
|
2
|
+
type RelayConfig = {
|
|
3
|
+
apiKey?: string;
|
|
4
|
+
};
|
|
5
|
+
type RelaySupport = {
|
|
6
|
+
buyOrders: false;
|
|
7
|
+
swapAndTransfer: true;
|
|
8
|
+
};
|
|
9
|
+
type RelayData = {
|
|
10
|
+
tx: SourceQuoteTransaction;
|
|
11
|
+
};
|
|
12
|
+
export declare class RelayQuoteSource implements IQuoteSource<RelaySupport, RelayConfig, RelayData> {
|
|
13
|
+
getMetadata(): QuoteSourceMetadata<RelaySupport>;
|
|
14
|
+
quote({ components, request, config }: QuoteParams<RelaySupport, RelayConfig>): Promise<SourceQuoteResponse<RelayData>>;
|
|
15
|
+
buildTx({ request, config }: BuildTxParams<RelayConfig, RelayData>): Promise<SourceQuoteTransaction>;
|
|
16
|
+
isConfigAndContextValidForQuoting(_config: Partial<RelayConfig> | undefined): _config is RelayConfig;
|
|
17
|
+
isConfigAndContextValidForTxBuilding(_config: Partial<RelayConfig> | undefined): _config is RelayConfig;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RelayQuoteSource = void 0;
|
|
4
|
+
const _chains_1 = require("../../../chains");
|
|
5
|
+
const utils_1 = require("./utils");
|
|
6
|
+
const constants_1 = require("../../../shared/constants");
|
|
7
|
+
const utils_2 = require("../../../shared/utils");
|
|
8
|
+
const RELAY_API_URL = 'https://api.relay.link';
|
|
9
|
+
// Chains supported by Relay that exist in the SDK
|
|
10
|
+
// Reference: https://api.relay.link/chains
|
|
11
|
+
const SUPPORTED_CHAINS = [
|
|
12
|
+
_chains_1.Chains.ETHEREUM,
|
|
13
|
+
_chains_1.Chains.OPTIMISM,
|
|
14
|
+
_chains_1.Chains.CRONOS,
|
|
15
|
+
_chains_1.Chains.BNB_CHAIN,
|
|
16
|
+
_chains_1.Chains.GNOSIS,
|
|
17
|
+
_chains_1.Chains.UNICHAIN,
|
|
18
|
+
_chains_1.Chains.POLYGON,
|
|
19
|
+
_chains_1.Chains.SONIC,
|
|
20
|
+
_chains_1.Chains.BOBA,
|
|
21
|
+
_chains_1.Chains.ZK_SYNC_ERA,
|
|
22
|
+
_chains_1.Chains.METIS_ANDROMEDA,
|
|
23
|
+
_chains_1.Chains.POLYGON_ZKEVM,
|
|
24
|
+
_chains_1.Chains.MANTLE,
|
|
25
|
+
_chains_1.Chains.BASE,
|
|
26
|
+
_chains_1.Chains.ARBITRUM,
|
|
27
|
+
_chains_1.Chains.LINEA,
|
|
28
|
+
_chains_1.Chains.SCROLL,
|
|
29
|
+
_chains_1.Chains.BLAST,
|
|
30
|
+
_chains_1.Chains.MODE,
|
|
31
|
+
];
|
|
32
|
+
const RELAY_METADATA = {
|
|
33
|
+
name: 'Relay',
|
|
34
|
+
supports: {
|
|
35
|
+
chains: SUPPORTED_CHAINS.map(({ chainId }) => chainId),
|
|
36
|
+
swapAndTransfer: true,
|
|
37
|
+
buyOrders: false,
|
|
38
|
+
},
|
|
39
|
+
logoURI: 'ipfs://QmUvZnMTfdK3fzrZdLfMn47UKdKTkVkBD3PqLwDzKKgK2e',
|
|
40
|
+
};
|
|
41
|
+
class RelayQuoteSource {
|
|
42
|
+
getMetadata() {
|
|
43
|
+
return RELAY_METADATA;
|
|
44
|
+
}
|
|
45
|
+
async quote({ components, request, config }) {
|
|
46
|
+
const { chainId, sellToken, buyToken, order, accounts: { takeFrom, recipient }, config: { slippagePercentage, timeout }, } = request;
|
|
47
|
+
const originCurrency = mapToRelayCurrency(sellToken);
|
|
48
|
+
const destinationCurrency = mapToRelayCurrency(buyToken);
|
|
49
|
+
const body = {
|
|
50
|
+
user: takeFrom,
|
|
51
|
+
originChainId: chainId,
|
|
52
|
+
destinationChainId: chainId,
|
|
53
|
+
originCurrency,
|
|
54
|
+
destinationCurrency,
|
|
55
|
+
amount: order.sellAmount.toString(),
|
|
56
|
+
tradeType: 'EXACT_INPUT',
|
|
57
|
+
recipient: recipient ?? takeFrom,
|
|
58
|
+
slippageTolerance: Math.round(slippagePercentage * 100).toString(), // Convert to basis points
|
|
59
|
+
};
|
|
60
|
+
const response = await fetchFromRelay({
|
|
61
|
+
path: '/quote',
|
|
62
|
+
body,
|
|
63
|
+
config,
|
|
64
|
+
fetchService: components.fetchService,
|
|
65
|
+
timeout,
|
|
66
|
+
});
|
|
67
|
+
if (!response.ok) {
|
|
68
|
+
(0, utils_1.failed)(RELAY_METADATA, chainId, sellToken, buyToken, await response.text());
|
|
69
|
+
}
|
|
70
|
+
const data = await response.json();
|
|
71
|
+
// Extract quote details from response
|
|
72
|
+
const { steps, details, fees } = data;
|
|
73
|
+
// Find the swap transaction step (not approve)
|
|
74
|
+
const swapStep = steps?.find((step) => step.id === 'swap');
|
|
75
|
+
if (!swapStep?.items?.[0]?.data) {
|
|
76
|
+
(0, utils_1.failed)(RELAY_METADATA, chainId, sellToken, buyToken, 'No swap transaction data in response');
|
|
77
|
+
}
|
|
78
|
+
const txData = swapStep.items[0].data;
|
|
79
|
+
const buyAmount = BigInt(details?.currencyOut?.amount ?? '0');
|
|
80
|
+
const minBuyAmount = BigInt(details?.currencyOut?.minimumAmount ?? '0');
|
|
81
|
+
// Determine allowance target - use swap contract address, or zero for native token
|
|
82
|
+
const allowanceTarget = (0, utils_2.isSameAddress)(sellToken, constants_1.Addresses.NATIVE_TOKEN) ? constants_1.Addresses.ZERO_ADDRESS : txData.to;
|
|
83
|
+
// Estimate gas from fees if available
|
|
84
|
+
const estimatedGas = fees?.gas?.amount ? BigInt(fees.gas.amount) : undefined;
|
|
85
|
+
return {
|
|
86
|
+
sellAmount: order.sellAmount,
|
|
87
|
+
maxSellAmount: order.sellAmount,
|
|
88
|
+
buyAmount,
|
|
89
|
+
minBuyAmount,
|
|
90
|
+
estimatedGas,
|
|
91
|
+
allowanceTarget,
|
|
92
|
+
type: 'sell',
|
|
93
|
+
customData: {
|
|
94
|
+
tx: {
|
|
95
|
+
to: txData.to,
|
|
96
|
+
calldata: txData.data,
|
|
97
|
+
value: BigInt(txData.value ?? 0),
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
async buildTx({ request, config }) {
|
|
103
|
+
return request.customData.tx;
|
|
104
|
+
}
|
|
105
|
+
isConfigAndContextValidForQuoting(_config) {
|
|
106
|
+
// API key is optional
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
isConfigAndContextValidForTxBuilding(_config) {
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
exports.RelayQuoteSource = RelayQuoteSource;
|
|
114
|
+
function mapToRelayCurrency(token) {
|
|
115
|
+
// Relay uses 0x0000000000000000000000000000000000000000 for native token
|
|
116
|
+
if ((0, utils_2.isSameAddress)(token, constants_1.Addresses.NATIVE_TOKEN)) {
|
|
117
|
+
return constants_1.Addresses.ZERO_ADDRESS;
|
|
118
|
+
}
|
|
119
|
+
return token;
|
|
120
|
+
}
|
|
121
|
+
async function fetchFromRelay({ path, body, config, fetchService, timeout, }) {
|
|
122
|
+
const url = `${RELAY_API_URL}${path}`;
|
|
123
|
+
const headers = {
|
|
124
|
+
'Content-Type': 'application/json',
|
|
125
|
+
};
|
|
126
|
+
// Add API key if provided
|
|
127
|
+
if (config.apiKey) {
|
|
128
|
+
headers['Authorization'] = `Bearer ${config.apiKey}`;
|
|
129
|
+
}
|
|
130
|
+
return fetchService.fetch(url, {
|
|
131
|
+
method: 'POST',
|
|
132
|
+
headers,
|
|
133
|
+
body: JSON.stringify(body),
|
|
134
|
+
timeout,
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=relay-quote-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relay-quote-source.js","sourceRoot":"","sources":["../../../../src/services/quotes/quote-sources/relay-quote-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,7 @@ import { DodoDexQuoteSource } from './quote-sources/dodo-quote-source';
|
|
|
25
25
|
import { SwingQuoteSource } from './quote-sources/swing-quote-source';
|
|
26
26
|
import { SushiswapQuoteSource } from './quote-sources/sushiswap-quote-source';
|
|
27
27
|
import { NordsternQuoteSource } from './quote-sources/nordstern-quote-source';
|
|
28
|
+
import { RelayQuoteSource } from './quote-sources/relay-quote-source';
|
|
28
29
|
import { JupiterQuoteSource } from './quote-sources/jupiter-quote-source';
|
|
29
30
|
export declare const QUOTE_SOURCES: {
|
|
30
31
|
bebop: BebopQuoteSource;
|
|
@@ -51,9 +52,10 @@ export declare const QUOTE_SOURCES: {
|
|
|
51
52
|
swing: SwingQuoteSource;
|
|
52
53
|
sushiswap: SushiswapQuoteSource;
|
|
53
54
|
nordstern: NordsternQuoteSource;
|
|
55
|
+
relay: RelayQuoteSource;
|
|
54
56
|
jupiter: JupiterQuoteSource;
|
|
55
57
|
};
|
|
56
|
-
export declare const SOURCES_METADATA: Record<"0x" | "open-ocean" | "paraswap" | "1inch" | "fly-trade" | "bebop" | "xy-finance" | "uniswap" | "li-fi" | "kyberswap" | "odos" | "braindex" | "barter" | "rango" | "changelly" | "squid" | "portals-fi" | "enso" | "okx-dex" | "conveyor" | "dodo" | "swing" | "sushiswap" | "nordstern" | "jupiter", SourceMetadata>;
|
|
58
|
+
export declare const SOURCES_METADATA: Record<"0x" | "open-ocean" | "paraswap" | "1inch" | "fly-trade" | "bebop" | "xy-finance" | "uniswap" | "li-fi" | "kyberswap" | "odos" | "braindex" | "barter" | "rango" | "changelly" | "squid" | "portals-fi" | "enso" | "okx-dex" | "conveyor" | "dodo" | "swing" | "sushiswap" | "nordstern" | "relay" | "jupiter", SourceMetadata>;
|
|
57
59
|
export type SourceWithConfigId = keyof LocalSourcesConfig;
|
|
58
60
|
export type SourceConfig = {
|
|
59
61
|
global?: GlobalQuoteSourceConfig;
|
|
@@ -25,6 +25,7 @@ const dodo_quote_source_1 = require("./quote-sources/dodo-quote-source");
|
|
|
25
25
|
const swing_quote_source_1 = require("./quote-sources/swing-quote-source");
|
|
26
26
|
const sushiswap_quote_source_1 = require("./quote-sources/sushiswap-quote-source");
|
|
27
27
|
const nordstern_quote_source_1 = require("./quote-sources/nordstern-quote-source");
|
|
28
|
+
const relay_quote_source_1 = require("./quote-sources/relay-quote-source");
|
|
28
29
|
// Solana sources
|
|
29
30
|
const jupiter_quote_source_1 = require("./quote-sources/jupiter-quote-source");
|
|
30
31
|
exports.QUOTE_SOURCES = {
|
|
@@ -52,6 +53,7 @@ exports.QUOTE_SOURCES = {
|
|
|
52
53
|
swing: new swing_quote_source_1.SwingQuoteSource(),
|
|
53
54
|
sushiswap: new sushiswap_quote_source_1.SushiswapQuoteSource(),
|
|
54
55
|
nordstern: new nordstern_quote_source_1.NordsternQuoteSource(),
|
|
56
|
+
relay: new relay_quote_source_1.RelayQuoteSource(),
|
|
55
57
|
// Solana sources
|
|
56
58
|
jupiter: new jupiter_quote_source_1.JupiterQuoteSource(),
|
|
57
59
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-registry.js","sourceRoot":"","sources":["../../../src/services/quotes/source-registry.ts"],"names":[],"mappings":";;;AAGA,yEAAoE;AACpE,iFAA4E;AAC5E,sEAAiE;AACjE,4EAAwE;AACxE,+EAA0E;AAC1E,qFAA+E;AAC/E,2EAAqE;AACrE,mFAA8E;AAC9E,2EAAsE;AACtE,mFAA8E;AAC9E,qFAA+E;AAC/E,+EAAyE;AACzE,2EAAsE;AACtE,qFAA+E;AAC/E,mFAA6E;AAC7E,2EAAsE;AACtE,iFAA4E;AAC5E,yEAAoE;AACpE,iFAA4E;AAC5E,6EAAwE;AACxE,yEAAuE;AACvE,2EAAsE;AACtE,mFAA8E;AAC9E,mFAA8E;AAC9E,iBAAiB;AACjB,+EAA0E;AAE7D,QAAA,aAAa,GAAG;IAC3B,KAAK,EAAE,IAAI,qCAAgB,EAAE;IAC7B,QAAQ,EAAE,IAAI,2CAAmB,EAAE;IACnC,YAAY,EAAE,IAAI,8CAAoB,EAAE;IACxC,IAAI,EAAE,IAAI,iCAAc,EAAE;IAC1B,OAAO,EAAE,IAAI,wCAAkB,EAAE;IACjC,OAAO,EAAE,IAAI,yCAAkB,EAAE;IACjC,YAAY,EAAE,IAAI,8CAAoB,EAAE;IACxC,OAAO,EAAE,IAAI,oCAAe,EAAE;IAC9B,SAAS,EAAE,IAAI,6CAAoB,EAAE;IACrC,IAAI,EAAE,IAAI,mCAAe,EAAE;IAC3B,QAAQ,EAAE,IAAI,2CAAmB,EAAE;IACnC,MAAM,EAAE,IAAI,uCAAiB,EAAE;IAC/B,KAAK,EAAE,IAAI,qCAAgB,EAAE;IAC7B,SAAS,EAAE,IAAI,6CAAoB,EAAE;IACrC,CAAC,WAAW,CAAC,EAAE,IAAI,4CAAmB,EAAE;IACxC,KAAK,EAAE,IAAI,qCAAgB,EAAE;IAC7B,YAAY,EAAE,IAAI,8CAAoB,EAAE;IACxC,IAAI,EAAE,IAAI,mCAAe,EAAE;IAC3B,SAAS,EAAE,IAAI,wCAAiB,EAAE;IAClC,QAAQ,EAAE,IAAI,2CAAmB,EAAE;IACnC,IAAI,EAAE,IAAI,sCAAkB,EAAE;IAC9B,KAAK,EAAE,IAAI,qCAAgB,EAAE;IAC7B,SAAS,EAAE,IAAI,6CAAoB,EAAE;IACrC,SAAS,EAAE,IAAI,6CAAoB,EAAE;IACrC,iBAAiB;IACjB,OAAO,EAAE,IAAI,yCAAkB,EAAE;CACgC,CAAC;AAEvD,QAAA,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAChD,MAAM,CAAC,OAAO,CAAC,qBAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CACtC,CAAC"}
|
|
1
|
+
{"version":3,"file":"source-registry.js","sourceRoot":"","sources":["../../../src/services/quotes/source-registry.ts"],"names":[],"mappings":";;;AAGA,yEAAoE;AACpE,iFAA4E;AAC5E,sEAAiE;AACjE,4EAAwE;AACxE,+EAA0E;AAC1E,qFAA+E;AAC/E,2EAAqE;AACrE,mFAA8E;AAC9E,2EAAsE;AACtE,mFAA8E;AAC9E,qFAA+E;AAC/E,+EAAyE;AACzE,2EAAsE;AACtE,qFAA+E;AAC/E,mFAA6E;AAC7E,2EAAsE;AACtE,iFAA4E;AAC5E,yEAAoE;AACpE,iFAA4E;AAC5E,6EAAwE;AACxE,yEAAuE;AACvE,2EAAsE;AACtE,mFAA8E;AAC9E,mFAA8E;AAC9E,2EAAsE;AACtE,iBAAiB;AACjB,+EAA0E;AAE7D,QAAA,aAAa,GAAG;IAC3B,KAAK,EAAE,IAAI,qCAAgB,EAAE;IAC7B,QAAQ,EAAE,IAAI,2CAAmB,EAAE;IACnC,YAAY,EAAE,IAAI,8CAAoB,EAAE;IACxC,IAAI,EAAE,IAAI,iCAAc,EAAE;IAC1B,OAAO,EAAE,IAAI,wCAAkB,EAAE;IACjC,OAAO,EAAE,IAAI,yCAAkB,EAAE;IACjC,YAAY,EAAE,IAAI,8CAAoB,EAAE;IACxC,OAAO,EAAE,IAAI,oCAAe,EAAE;IAC9B,SAAS,EAAE,IAAI,6CAAoB,EAAE;IACrC,IAAI,EAAE,IAAI,mCAAe,EAAE;IAC3B,QAAQ,EAAE,IAAI,2CAAmB,EAAE;IACnC,MAAM,EAAE,IAAI,uCAAiB,EAAE;IAC/B,KAAK,EAAE,IAAI,qCAAgB,EAAE;IAC7B,SAAS,EAAE,IAAI,6CAAoB,EAAE;IACrC,CAAC,WAAW,CAAC,EAAE,IAAI,4CAAmB,EAAE;IACxC,KAAK,EAAE,IAAI,qCAAgB,EAAE;IAC7B,YAAY,EAAE,IAAI,8CAAoB,EAAE;IACxC,IAAI,EAAE,IAAI,mCAAe,EAAE;IAC3B,SAAS,EAAE,IAAI,wCAAiB,EAAE;IAClC,QAAQ,EAAE,IAAI,2CAAmB,EAAE;IACnC,IAAI,EAAE,IAAI,sCAAkB,EAAE;IAC9B,KAAK,EAAE,IAAI,qCAAgB,EAAE;IAC7B,SAAS,EAAE,IAAI,6CAAoB,EAAE;IACrC,SAAS,EAAE,IAAI,6CAAoB,EAAE;IACrC,KAAK,EAAE,IAAI,qCAAgB,EAAE;IAC7B,iBAAiB;IACjB,OAAO,EAAE,IAAI,yCAAkB,EAAE;CACgC,CAAC;AAEvD,QAAA,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAChD,MAAM,CAAC,OAAO,CAAC,qBAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CACtC,CAAC"}
|