@0xkoaj/sdk 0.0.1-beta.10 → 0.0.1-beta.12

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.
@@ -20,7 +20,7 @@ const AERODROME_METADATA = {
20
20
  swapAndTransfer: true,
21
21
  buyOrders: false, // Aerodrome router doesn't support exact output swaps
22
22
  },
23
- logoURI: 'ipfs://QmYxngew4pLRn7Gf4FNEj87xPUbqFZ5r93Mzv6T2VbUC1X', // Aerodrome logo
23
+ logoURI: 'ipfs://bafybeiagbaf3a6j6ikcidr5fctbku6q6xtsdxneql22nfushis55tvkm5i', // Aerodrome logo
24
24
  };
25
25
  class AerodromeQuoteSource extends always_valid_source_1.AlwaysValidConfigAndContextSource {
26
26
  getMetadata() {
@@ -154,13 +154,91 @@ class AerodromeQuoteSource extends always_valid_source_1.AlwaysValidConfigAndCon
154
154
  }
155
155
  }
156
156
  exports.AerodromeQuoteSource = AerodromeQuoteSource;
157
- // Aerodrome Router ABI (relevant functions only)
158
- const ROUTER_HUMAN_READABLE_ABI = [
159
- // Route struct: (address from, address to, bool stable, address factory)
160
- 'function getAmountsOut(uint256 amountIn, tuple(address from, address to, bool stable, address factory)[] routes) view returns (uint256[] amounts)',
161
- 'function swapExactTokensForTokens(uint256 amountIn, uint256 amountOutMin, tuple(address from, address to, bool stable, address factory)[] routes, address to, uint256 deadline) returns (uint256[] amounts)',
162
- 'function swapExactETHForTokens(uint256 amountOutMin, tuple(address from, address to, bool stable, address factory)[] routes, address to, uint256 deadline) payable returns (uint256[] amounts)',
163
- 'function swapExactTokensForETH(uint256 amountIn, uint256 amountOutMin, tuple(address from, address to, bool stable, address factory)[] routes, address to, uint256 deadline) returns (uint256[] amounts)',
157
+ // Aerodrome Router ABI (JSON format - required for tuple types with named parameters)
158
+ const ROUTER_ABI = [
159
+ {
160
+ inputs: [
161
+ { name: 'amountIn', type: 'uint256' },
162
+ {
163
+ name: 'routes',
164
+ type: 'tuple[]',
165
+ components: [
166
+ { name: 'from', type: 'address' },
167
+ { name: 'to', type: 'address' },
168
+ { name: 'stable', type: 'bool' },
169
+ { name: 'factory', type: 'address' },
170
+ ],
171
+ },
172
+ ],
173
+ name: 'getAmountsOut',
174
+ outputs: [{ name: 'amounts', type: 'uint256[]' }],
175
+ stateMutability: 'view',
176
+ type: 'function',
177
+ },
178
+ {
179
+ inputs: [
180
+ { name: 'amountIn', type: 'uint256' },
181
+ { name: 'amountOutMin', type: 'uint256' },
182
+ {
183
+ name: 'routes',
184
+ type: 'tuple[]',
185
+ components: [
186
+ { name: 'from', type: 'address' },
187
+ { name: 'to', type: 'address' },
188
+ { name: 'stable', type: 'bool' },
189
+ { name: 'factory', type: 'address' },
190
+ ],
191
+ },
192
+ { name: 'to', type: 'address' },
193
+ { name: 'deadline', type: 'uint256' },
194
+ ],
195
+ name: 'swapExactTokensForTokens',
196
+ outputs: [{ name: 'amounts', type: 'uint256[]' }],
197
+ stateMutability: 'nonpayable',
198
+ type: 'function',
199
+ },
200
+ {
201
+ inputs: [
202
+ { name: 'amountOutMin', type: 'uint256' },
203
+ {
204
+ name: 'routes',
205
+ type: 'tuple[]',
206
+ components: [
207
+ { name: 'from', type: 'address' },
208
+ { name: 'to', type: 'address' },
209
+ { name: 'stable', type: 'bool' },
210
+ { name: 'factory', type: 'address' },
211
+ ],
212
+ },
213
+ { name: 'to', type: 'address' },
214
+ { name: 'deadline', type: 'uint256' },
215
+ ],
216
+ name: 'swapExactETHForTokens',
217
+ outputs: [{ name: 'amounts', type: 'uint256[]' }],
218
+ stateMutability: 'payable',
219
+ type: 'function',
220
+ },
221
+ {
222
+ inputs: [
223
+ { name: 'amountIn', type: 'uint256' },
224
+ { name: 'amountOutMin', type: 'uint256' },
225
+ {
226
+ name: 'routes',
227
+ type: 'tuple[]',
228
+ components: [
229
+ { name: 'from', type: 'address' },
230
+ { name: 'to', type: 'address' },
231
+ { name: 'stable', type: 'bool' },
232
+ { name: 'factory', type: 'address' },
233
+ ],
234
+ },
235
+ { name: 'to', type: 'address' },
236
+ { name: 'deadline', type: 'uint256' },
237
+ ],
238
+ name: 'swapExactTokensForETH',
239
+ outputs: [{ name: 'amounts', type: 'uint256[]' }],
240
+ stateMutability: 'nonpayable',
241
+ type: 'function',
242
+ },
164
243
  ];
165
- const ROUTER_ABI = (0, viem_1.parseAbi)(ROUTER_HUMAN_READABLE_ABI);
166
244
  //# sourceMappingURL=aerodrome-quote-source.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aerodrome-quote-source.js","sourceRoot":"","sources":["../../../../src/services/quotes/quote-sources/aerodrome-quote-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aerodrome-quote-source.js","sourceRoot":"","sources":["../../../../src/services/quotes/quote-sources/aerodrome-quote-source.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { QuoteParams, QuoteSourceMetadata, SourceQuoteResponse, SourceQuoteTransaction, BuildTxParams } from './types';
2
+ import { AlwaysValidConfigAndContextSource } from './base/always-valid-source';
3
+ import { type Address as ViemAddress } from 'viem';
4
+ type CowSwapSupport = {
5
+ buyOrders: true;
6
+ swapAndTransfer: true;
7
+ };
8
+ type CowSwapConfig = {
9
+ appData?: string;
10
+ };
11
+ interface CowOrder {
12
+ sellToken: ViemAddress;
13
+ buyToken: ViemAddress;
14
+ receiver: ViemAddress;
15
+ sellAmount: string;
16
+ buyAmount: string;
17
+ validTo: number;
18
+ appData: string;
19
+ feeAmount: string;
20
+ kind: 'sell' | 'buy';
21
+ partiallyFillable: boolean;
22
+ sellTokenBalance: 'erc20' | 'internal' | 'external';
23
+ buyTokenBalance: 'erc20' | 'internal';
24
+ }
25
+ type CowSwapData = {
26
+ orderUid: string;
27
+ order: CowOrder;
28
+ validTo: number;
29
+ };
30
+ export declare class CowSwapQuoteSource extends AlwaysValidConfigAndContextSource<CowSwapSupport, CowSwapConfig, CowSwapData> {
31
+ getMetadata(): QuoteSourceMetadata<CowSwapSupport>;
32
+ quote({ components: { fetchService }, request: { chainId, sellToken, buyToken, order, config: { slippagePercentage, timeout, txValidFor }, accounts: { takeFrom, recipient }, }, config, }: QuoteParams<CowSwapSupport, CowSwapConfig>): Promise<SourceQuoteResponse<CowSwapData>>;
33
+ buildTx({ request: { customData } }: BuildTxParams<CowSwapConfig, CowSwapData>): Promise<SourceQuoteTransaction>;
34
+ }
35
+ export {};
@@ -0,0 +1,195 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CowSwapQuoteSource = void 0;
4
+ const _chains_1 = require("../../../chains");
5
+ const constants_1 = require("../../../shared/constants");
6
+ const utils_1 = require("../../../shared/utils");
7
+ const utils_2 = require("./utils");
8
+ const always_valid_source_1 = require("./base/always-valid-source");
9
+ const viem_1 = require("viem");
10
+ // Contract addresses (same on all supported chains)
11
+ const VAULT_RELAYER = '0xC92E8bdf79f0507f65a392b0ab4667716BFE0110';
12
+ const GPV2_SETTLEMENT = '0x9008D19f58AAbD9eD0D60971565AA8510560ab41';
13
+ // API endpoints by chainId
14
+ const API_ENDPOINTS = {
15
+ [_chains_1.Chains.ETHEREUM.chainId]: 'https://api.cow.fi/mainnet/api/v1',
16
+ [_chains_1.Chains.GNOSIS.chainId]: 'https://api.cow.fi/xdai/api/v1',
17
+ [_chains_1.Chains.ARBITRUM.chainId]: 'https://api.cow.fi/arbitrum_one/api/v1',
18
+ [_chains_1.Chains.BASE.chainId]: 'https://api.cow.fi/base/api/v1',
19
+ [_chains_1.Chains.ETHEREUM_SEPOLIA.chainId]: 'https://api.cow.fi/sepolia/api/v1',
20
+ };
21
+ // Default appData hash (empty metadata)
22
+ const DEFAULT_APP_DATA = '0x0000000000000000000000000000000000000000000000000000000000000000';
23
+ const COW_SWAP_METADATA = {
24
+ name: 'CoW Swap',
25
+ supports: {
26
+ chains: [
27
+ _chains_1.Chains.ETHEREUM.chainId,
28
+ _chains_1.Chains.GNOSIS.chainId,
29
+ _chains_1.Chains.ARBITRUM.chainId,
30
+ _chains_1.Chains.BASE.chainId,
31
+ _chains_1.Chains.ETHEREUM_SEPOLIA.chainId,
32
+ ],
33
+ swapAndTransfer: true,
34
+ buyOrders: true,
35
+ },
36
+ logoURI: 'ipfs://bafkreih75uruzdjtculei5md434pvtbw66gkzwcjb53kjgj4gz7xicuw54',
37
+ };
38
+ class CowSwapQuoteSource extends always_valid_source_1.AlwaysValidConfigAndContextSource {
39
+ getMetadata() {
40
+ return COW_SWAP_METADATA;
41
+ }
42
+ async quote({ components: { fetchService }, request: { chainId, sellToken, buyToken, order, config: { slippagePercentage, timeout, txValidFor }, accounts: { takeFrom, recipient }, }, config, }) {
43
+ const evmChainId = chainId;
44
+ const apiEndpoint = API_ENDPOINTS[evmChainId];
45
+ if (!apiEndpoint) {
46
+ (0, utils_2.failed)(COW_SWAP_METADATA, chainId, sellToken, buyToken, `Unsupported chain: ${chainId}`);
47
+ }
48
+ // Map native tokens to wrapped versions
49
+ const chain = (0, _chains_1.getChainByKey)(chainId);
50
+ if (!chain) {
51
+ (0, utils_2.failed)(COW_SWAP_METADATA, chainId, sellToken, buyToken, `Unknown chain: ${chainId}`);
52
+ }
53
+ const sellTokenMapped = (0, utils_1.isSameAddress)(sellToken, constants_1.Addresses.NATIVE_TOKEN) ? chain.wToken : sellToken;
54
+ const buyTokenMapped = (0, utils_1.isSameAddress)(buyToken, constants_1.Addresses.NATIVE_TOKEN) ? chain.wToken : buyToken;
55
+ const recipientAddress = recipient ?? takeFrom;
56
+ const validTo = (0, utils_1.calculateDeadline)(txValidFor ?? '30m');
57
+ const appData = config?.appData ?? DEFAULT_APP_DATA;
58
+ // Build quote request
59
+ const quoteRequest = {
60
+ sellToken: sellTokenMapped,
61
+ buyToken: buyTokenMapped,
62
+ receiver: recipientAddress,
63
+ appData,
64
+ from: takeFrom,
65
+ priceQuality: 'optimal',
66
+ signingScheme: 'presign',
67
+ onchainOrder: false,
68
+ ...(order.type === 'sell'
69
+ ? { kind: 'sell', sellAmountBeforeFee: order.sellAmount.toString() }
70
+ : { kind: 'buy', buyAmountAfterFee: order.buyAmount.toString() }),
71
+ };
72
+ const response = await fetchService.fetch(`${apiEndpoint}/quote`, {
73
+ method: 'POST',
74
+ headers: { 'Content-Type': 'application/json' },
75
+ body: JSON.stringify(quoteRequest),
76
+ timeout,
77
+ });
78
+ if (!response.ok) {
79
+ const errorText = await response.text();
80
+ (0, utils_2.failed)(COW_SWAP_METADATA, chainId, sellToken, buyToken, errorText || `Failed with status ${response.status}`);
81
+ }
82
+ const quoteResponse = await response.json();
83
+ const cowOrder = quoteResponse.quote;
84
+ // Calculate orderUid (56 bytes: orderDigest + owner + validTo)
85
+ const orderDigest = computeOrderDigest(cowOrder, evmChainId);
86
+ const orderUid = computeOrderUid(orderDigest, takeFrom, cowOrder.validTo);
87
+ // Calculate amounts accounting for fee
88
+ const sellAmount = BigInt(cowOrder.sellAmount);
89
+ const buyAmount = BigInt(cowOrder.buyAmount);
90
+ const feeAmount = BigInt(cowOrder.feeAmount);
91
+ // For sell orders: sellAmount includes the fee deducted
92
+ // For buy orders: we need to sell enough to cover the buy + fee
93
+ const totalSellAmount = sellAmount + feeAmount;
94
+ const quote = {
95
+ sellAmount: totalSellAmount,
96
+ buyAmount,
97
+ estimatedGas: 100000n, // Pre-sign transaction is relatively cheap
98
+ allowanceTarget: (0, utils_2.calculateAllowanceTarget)(sellToken, VAULT_RELAYER),
99
+ customData: {
100
+ orderUid,
101
+ order: {
102
+ sellToken: cowOrder.sellToken,
103
+ buyToken: cowOrder.buyToken,
104
+ receiver: cowOrder.receiver,
105
+ sellAmount: cowOrder.sellAmount,
106
+ buyAmount: cowOrder.buyAmount,
107
+ validTo: cowOrder.validTo,
108
+ appData: cowOrder.appData,
109
+ feeAmount: cowOrder.feeAmount,
110
+ kind: cowOrder.kind,
111
+ partiallyFillable: cowOrder.partiallyFillable,
112
+ sellTokenBalance: cowOrder.sellTokenBalance,
113
+ buyTokenBalance: cowOrder.buyTokenBalance,
114
+ },
115
+ validTo: cowOrder.validTo,
116
+ },
117
+ };
118
+ return (0, utils_2.addQuoteSlippage)(quote, order.type, slippagePercentage);
119
+ }
120
+ async buildTx({ request: { customData } }) {
121
+ const { orderUid } = customData;
122
+ // Generate calldata for setPreSignature(orderUid, true)
123
+ const calldata = (0, viem_1.encodeFunctionData)({
124
+ abi: GPV2_SETTLEMENT_ABI,
125
+ functionName: 'setPreSignature',
126
+ args: [orderUid, true],
127
+ });
128
+ return {
129
+ to: GPV2_SETTLEMENT,
130
+ calldata,
131
+ };
132
+ }
133
+ }
134
+ exports.CowSwapQuoteSource = CowSwapQuoteSource;
135
+ // Compute the EIP-712 order digest
136
+ function computeOrderDigest(order, chainId) {
137
+ const ORDER_TYPE_HASH = (0, viem_1.keccak256)((0, viem_1.toHex)('Order(address sellToken,address buyToken,address receiver,uint256 sellAmount,uint256 buyAmount,uint32 validTo,bytes32 appData,uint256 feeAmount,string kind,bool partiallyFillable,string sellTokenBalance,string buyTokenBalance)'));
138
+ const DOMAIN_SEPARATOR = computeDomainSeparator(chainId);
139
+ // Hash the order struct
140
+ const orderStructHash = (0, viem_1.keccak256)((0, viem_1.encodeAbiParameters)([
141
+ { type: 'bytes32' },
142
+ { type: 'address' },
143
+ { type: 'address' },
144
+ { type: 'address' },
145
+ { type: 'uint256' },
146
+ { type: 'uint256' },
147
+ { type: 'uint32' },
148
+ { type: 'bytes32' },
149
+ { type: 'uint256' },
150
+ { type: 'bytes32' },
151
+ { type: 'bool' },
152
+ { type: 'bytes32' },
153
+ { type: 'bytes32' },
154
+ ], [
155
+ ORDER_TYPE_HASH,
156
+ order.sellToken,
157
+ order.buyToken,
158
+ order.receiver,
159
+ BigInt(order.sellAmount),
160
+ BigInt(order.buyAmount),
161
+ order.validTo,
162
+ order.appData,
163
+ BigInt(order.feeAmount),
164
+ (0, viem_1.keccak256)((0, viem_1.toHex)(order.kind)),
165
+ order.partiallyFillable,
166
+ (0, viem_1.keccak256)((0, viem_1.toHex)(order.sellTokenBalance)),
167
+ (0, viem_1.keccak256)((0, viem_1.toHex)(order.buyTokenBalance)),
168
+ ]));
169
+ // EIP-712 typed data hash
170
+ return (0, viem_1.keccak256)((0, viem_1.concat)(['0x1901', DOMAIN_SEPARATOR, orderStructHash]));
171
+ }
172
+ // Compute the EIP-712 domain separator for GPv2Settlement
173
+ function computeDomainSeparator(chainId) {
174
+ const DOMAIN_TYPE_HASH = (0, viem_1.keccak256)((0, viem_1.toHex)('EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)'));
175
+ return (0, viem_1.keccak256)((0, viem_1.encodeAbiParameters)([{ type: 'bytes32' }, { type: 'bytes32' }, { type: 'bytes32' }, { type: 'uint256' }, { type: 'address' }], [DOMAIN_TYPE_HASH, (0, viem_1.keccak256)((0, viem_1.toHex)('Gnosis Protocol')), (0, viem_1.keccak256)((0, viem_1.toHex)('v2')), BigInt(chainId), GPV2_SETTLEMENT]));
176
+ }
177
+ // Compute orderUid: 56 bytes = orderDigest (32) + owner (20) + validTo (4)
178
+ function computeOrderUid(orderDigest, owner, validTo) {
179
+ const validToHex = (0, viem_1.pad)((0, viem_1.toHex)(validTo), { size: 4 });
180
+ return (0, viem_1.concat)([orderDigest, owner, validToHex]);
181
+ }
182
+ // GPv2Settlement ABI (only setPreSignature function)
183
+ const GPV2_SETTLEMENT_ABI = [
184
+ {
185
+ inputs: [
186
+ { name: 'orderUid', type: 'bytes' },
187
+ { name: 'signed', type: 'bool' },
188
+ ],
189
+ name: 'setPreSignature',
190
+ outputs: [],
191
+ stateMutability: 'nonpayable',
192
+ type: 'function',
193
+ },
194
+ ];
195
+ //# sourceMappingURL=cow-swap-quote-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cow-swap-quote-source.js","sourceRoot":"","sources":["../../../../src/services/quotes/quote-sources/cow-swap-quote-source.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ import { SushiswapQuoteSource } from './quote-sources/sushiswap-quote-source';
27
27
  import { NordsternQuoteSource } from './quote-sources/nordstern-quote-source';
28
28
  import { RelayQuoteSource } from './quote-sources/relay-quote-source';
29
29
  import { AerodromeQuoteSource } from './quote-sources/aerodrome-quote-source';
30
+ import { CowSwapQuoteSource } from './quote-sources/cow-swap-quote-source';
30
31
  import { JupiterQuoteSource } from './quote-sources/jupiter-quote-source';
31
32
  export declare const QUOTE_SOURCES: {
32
33
  bebop: BebopQuoteSource;
@@ -55,9 +56,10 @@ export declare const QUOTE_SOURCES: {
55
56
  nordstern: NordsternQuoteSource;
56
57
  relay: RelayQuoteSource;
57
58
  aerodrome: AerodromeQuoteSource;
59
+ 'cow-swap': CowSwapQuoteSource;
58
60
  jupiter: JupiterQuoteSource;
59
61
  };
60
- 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" | "aerodrome" | "jupiter", SourceMetadata>;
62
+ 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" | "aerodrome" | "cow-swap" | "jupiter", SourceMetadata>;
61
63
  export type SourceWithConfigId = keyof LocalSourcesConfig;
62
64
  export type SourceConfig = {
63
65
  global?: GlobalQuoteSourceConfig;
@@ -27,6 +27,7 @@ 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
28
  const relay_quote_source_1 = require("./quote-sources/relay-quote-source");
29
29
  const aerodrome_quote_source_1 = require("./quote-sources/aerodrome-quote-source");
30
+ const cow_swap_quote_source_1 = require("./quote-sources/cow-swap-quote-source");
30
31
  // Solana sources
31
32
  const jupiter_quote_source_1 = require("./quote-sources/jupiter-quote-source");
32
33
  exports.QUOTE_SOURCES = {
@@ -56,6 +57,7 @@ exports.QUOTE_SOURCES = {
56
57
  nordstern: new nordstern_quote_source_1.NordsternQuoteSource(),
57
58
  relay: new relay_quote_source_1.RelayQuoteSource(),
58
59
  aerodrome: new aerodrome_quote_source_1.AerodromeQuoteSource(),
60
+ 'cow-swap': new cow_swap_quote_source_1.CowSwapQuoteSource(),
59
61
  // Solana sources
60
62
  jupiter: new jupiter_quote_source_1.JupiterQuoteSource(),
61
63
  };
@@ -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,2EAAsE;AACtE,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,KAAK,EAAE,IAAI,qCAAgB,EAAE;IAC7B,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,mFAA8E;AAC9E,iFAA2E;AAC3E,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,SAAS,EAAE,IAAI,6CAAoB,EAAE;IACrC,UAAU,EAAE,IAAI,0CAAkB,EAAE;IACpC,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xkoaj/sdk",
3
- "version": "0.0.1-beta.10",
3
+ "version": "0.0.1-beta.12",
4
4
  "contributors": [],
5
5
  "main": "./dist/index.js",
6
6
  "files": [