@velora-dex/sdk 8.0.0
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 +7 -0
- package/README.md +494 -0
- package/dist/constants.d.ts +7 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/examples/customFetcher.d.ts +3 -0
- package/dist/examples/customFetcher.d.ts.map +1 -0
- package/dist/examples/delta.d.ts +2 -0
- package/dist/examples/delta.d.ts.map +1 -0
- package/dist/examples/ethersV6.d.ts +2 -0
- package/dist/examples/ethersV6.d.ts.map +1 -0
- package/dist/examples/limitOrders_all.d.ts +2 -0
- package/dist/examples/limitOrders_all.d.ts.map +1 -0
- package/dist/examples/limitOrders_partial.d.ts +2 -0
- package/dist/examples/limitOrders_partial.d.ts.map +1 -0
- package/dist/examples/limitOrders_postOrder.d.ts +2 -0
- package/dist/examples/limitOrders_postOrder.d.ts.map +1 -0
- package/dist/examples/partial.d.ts +2 -0
- package/dist/examples/partial.d.ts.map +1 -0
- package/dist/examples/quote.d.ts +2 -0
- package/dist/examples/quote.d.ts.map +1 -0
- package/dist/examples/sdk.d.ts +2 -0
- package/dist/examples/sdk.d.ts.map +1 -0
- package/dist/examples/simple.d.ts +2 -0
- package/dist/examples/simple.d.ts.map +1 -0
- package/dist/examples/simpleQuote.d.ts +2 -0
- package/dist/examples/simpleQuote.d.ts.map +1 -0
- package/dist/examples/viem.d.ts +2 -0
- package/dist/examples/viem.d.ts.map +1 -0
- package/dist/examples/wagmi.d.ts +43 -0
- package/dist/examples/wagmi.d.ts.map +1 -0
- package/dist/examples/web3.d.ts +2 -0
- package/dist/examples/web3.d.ts.map +1 -0
- package/dist/gas.d.ts +8 -0
- package/dist/gas.d.ts.map +1 -0
- package/dist/helpers/approve.d.ts +8 -0
- package/dist/helpers/approve.d.ts.map +1 -0
- package/dist/helpers/fetchers/axios.d.ts +5 -0
- package/dist/helpers/fetchers/axios.d.ts.map +1 -0
- package/dist/helpers/fetchers/fetch.d.ts +5 -0
- package/dist/helpers/fetchers/fetch.d.ts.map +1 -0
- package/dist/helpers/index.d.ts +13 -0
- package/dist/helpers/index.d.ts.map +1 -0
- package/dist/helpers/misc.d.ts +48 -0
- package/dist/helpers/misc.d.ts.map +1 -0
- package/dist/helpers/providers/ethers.d.ts +10 -0
- package/dist/helpers/providers/ethers.d.ts.map +1 -0
- package/dist/helpers/providers/ethersV6.d.ts +8 -0
- package/dist/helpers/providers/ethersV6.d.ts.map +1 -0
- package/dist/helpers/providers/helpers.d.ts +3 -0
- package/dist/helpers/providers/helpers.d.ts.map +1 -0
- package/dist/helpers/providers/viem.d.ts +23 -0
- package/dist/helpers/providers/viem.d.ts.map +1 -0
- package/dist/helpers/providers/web3.d.ts +9 -0
- package/dist/helpers/providers/web3.d.ts.map +1 -0
- package/dist/helpers/token.d.ts +38 -0
- package/dist/helpers/token.d.ts.map +1 -0
- package/dist/index.d.ts +64 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/methods/common/orders/buildOrderData.d.ts +27 -0
- package/dist/methods/common/orders/buildOrderData.d.ts.map +1 -0
- package/dist/methods/common/orders/encoding.d.ts +23 -0
- package/dist/methods/common/orders/encoding.d.ts.map +1 -0
- package/dist/methods/common/orders/misc.d.ts +27 -0
- package/dist/methods/common/orders/misc.d.ts.map +1 -0
- package/dist/methods/common/orders/signature.d.ts +9 -0
- package/dist/methods/common/orders/signature.d.ts.map +1 -0
- package/dist/methods/common/orders/types.d.ts +8 -0
- package/dist/methods/common/orders/types.d.ts.map +1 -0
- package/dist/methods/delta/approveForDelta.d.ts +8 -0
- package/dist/methods/delta/approveForDelta.d.ts.map +1 -0
- package/dist/methods/delta/buildCrosschainOrderBridge.d.ts +23 -0
- package/dist/methods/delta/buildCrosschainOrderBridge.d.ts.map +1 -0
- package/dist/methods/delta/buildDeltaOrder.d.ts +49 -0
- package/dist/methods/delta/buildDeltaOrder.d.ts.map +1 -0
- package/dist/methods/delta/getBridgeInfo.d.ts +9 -0
- package/dist/methods/delta/getBridgeInfo.d.ts.map +1 -0
- package/dist/methods/delta/getDeltaContract.d.ts +9 -0
- package/dist/methods/delta/getDeltaContract.d.ts.map +1 -0
- package/dist/methods/delta/getDeltaOrders.d.ts +22 -0
- package/dist/methods/delta/getDeltaOrders.d.ts.map +1 -0
- package/dist/methods/delta/getDeltaPrice.d.ts +58 -0
- package/dist/methods/delta/getDeltaPrice.d.ts.map +1 -0
- package/dist/methods/delta/getMulticallHandlers.d.ts +9 -0
- package/dist/methods/delta/getMulticallHandlers.d.ts.map +1 -0
- package/dist/methods/delta/getPartnerFee.d.ts +16 -0
- package/dist/methods/delta/getPartnerFee.d.ts.map +1 -0
- package/dist/methods/delta/helpers/across.d.ts +22 -0
- package/dist/methods/delta/helpers/across.d.ts.map +1 -0
- package/dist/methods/delta/helpers/buildDeltaOrderData.d.ts +35 -0
- package/dist/methods/delta/helpers/buildDeltaOrderData.d.ts.map +1 -0
- package/dist/methods/delta/helpers/composePermit.d.ts +5 -0
- package/dist/methods/delta/helpers/composePermit.d.ts.map +1 -0
- package/dist/methods/delta/helpers/misc.d.ts +3 -0
- package/dist/methods/delta/helpers/misc.d.ts.map +1 -0
- package/dist/methods/delta/helpers/types.d.ts +96 -0
- package/dist/methods/delta/helpers/types.d.ts.map +1 -0
- package/dist/methods/delta/index.d.ts +28 -0
- package/dist/methods/delta/index.d.ts.map +1 -0
- package/dist/methods/delta/isTokenSupportedInDelta.d.ts +8 -0
- package/dist/methods/delta/isTokenSupportedInDelta.d.ts.map +1 -0
- package/dist/methods/delta/postDeltaOrder.d.ts +23 -0
- package/dist/methods/delta/postDeltaOrder.d.ts.map +1 -0
- package/dist/methods/delta/signDeltaOrder.d.ts +12 -0
- package/dist/methods/delta/signDeltaOrder.d.ts.map +1 -0
- package/dist/methods/limitOrders/approveForOrder.d.ts +12 -0
- package/dist/methods/limitOrders/approveForOrder.d.ts.map +1 -0
- package/dist/methods/limitOrders/buildOrder.d.ts +11 -0
- package/dist/methods/limitOrders/buildOrder.d.ts.map +1 -0
- package/dist/methods/limitOrders/cancelOrder.d.ts +9 -0
- package/dist/methods/limitOrders/cancelOrder.d.ts.map +1 -0
- package/dist/methods/limitOrders/fillOrderDirectly.d.ts +30 -0
- package/dist/methods/limitOrders/fillOrderDirectly.d.ts.map +1 -0
- package/dist/methods/limitOrders/getOrders.d.ts +39 -0
- package/dist/methods/limitOrders/getOrders.d.ts.map +1 -0
- package/dist/methods/limitOrders/getOrdersContract.d.ts +8 -0
- package/dist/methods/limitOrders/getOrdersContract.d.ts.map +1 -0
- package/dist/methods/limitOrders/helpers/buildOrderData.d.ts +43 -0
- package/dist/methods/limitOrders/helpers/buildOrderData.d.ts.map +1 -0
- package/dist/methods/limitOrders/helpers/misc.d.ts +9 -0
- package/dist/methods/limitOrders/helpers/misc.d.ts.map +1 -0
- package/dist/methods/limitOrders/helpers/types.d.ts +49 -0
- package/dist/methods/limitOrders/helpers/types.d.ts.map +1 -0
- package/dist/methods/limitOrders/index.d.ts +30 -0
- package/dist/methods/limitOrders/index.d.ts.map +1 -0
- package/dist/methods/limitOrders/postOrder.d.ts +10 -0
- package/dist/methods/limitOrders/postOrder.d.ts.map +1 -0
- package/dist/methods/limitOrders/signOrder.d.ts +7 -0
- package/dist/methods/limitOrders/signOrder.d.ts.map +1 -0
- package/dist/methods/limitOrders/transaction.d.ts +23 -0
- package/dist/methods/limitOrders/transaction.d.ts.map +1 -0
- package/dist/methods/nftOrders/approveForOrder.d.ts +12 -0
- package/dist/methods/nftOrders/approveForOrder.d.ts.map +1 -0
- package/dist/methods/nftOrders/buildOrder.d.ts +11 -0
- package/dist/methods/nftOrders/buildOrder.d.ts.map +1 -0
- package/dist/methods/nftOrders/cancelOrder.d.ts +8 -0
- package/dist/methods/nftOrders/cancelOrder.d.ts.map +1 -0
- package/dist/methods/nftOrders/getOrders.d.ts +18 -0
- package/dist/methods/nftOrders/getOrders.d.ts.map +1 -0
- package/dist/methods/nftOrders/getOrdersContract.d.ts +8 -0
- package/dist/methods/nftOrders/getOrdersContract.d.ts.map +1 -0
- package/dist/methods/nftOrders/helpers/buildOrderData.d.ts +52 -0
- package/dist/methods/nftOrders/helpers/buildOrderData.d.ts.map +1 -0
- package/dist/methods/nftOrders/helpers/misc.d.ts +13 -0
- package/dist/methods/nftOrders/helpers/misc.d.ts.map +1 -0
- package/dist/methods/nftOrders/helpers/types.d.ts +39 -0
- package/dist/methods/nftOrders/helpers/types.d.ts.map +1 -0
- package/dist/methods/nftOrders/index.d.ts +23 -0
- package/dist/methods/nftOrders/index.d.ts.map +1 -0
- package/dist/methods/nftOrders/postOrder.d.ts +10 -0
- package/dist/methods/nftOrders/postOrder.d.ts.map +1 -0
- package/dist/methods/nftOrders/signOrder.d.ts +7 -0
- package/dist/methods/nftOrders/signOrder.d.ts.map +1 -0
- package/dist/methods/nftOrders/transaction.d.ts +23 -0
- package/dist/methods/nftOrders/transaction.d.ts.map +1 -0
- package/dist/methods/quote/getQuote.d.ts +51 -0
- package/dist/methods/quote/getQuote.d.ts.map +1 -0
- package/dist/methods/swap/adapters.d.ts +8 -0
- package/dist/methods/swap/adapters.d.ts.map +1 -0
- package/dist/methods/swap/approve.d.ts +10 -0
- package/dist/methods/swap/approve.d.ts.map +1 -0
- package/dist/methods/swap/balance.d.ts +23 -0
- package/dist/methods/swap/balance.d.ts.map +1 -0
- package/dist/methods/swap/helpers/normalizeRateOptions.d.ts +12 -0
- package/dist/methods/swap/helpers/normalizeRateOptions.d.ts.map +1 -0
- package/dist/methods/swap/index.d.ts +13 -0
- package/dist/methods/swap/index.d.ts.map +1 -0
- package/dist/methods/swap/rates.d.ts +52 -0
- package/dist/methods/swap/rates.d.ts.map +1 -0
- package/dist/methods/swap/spender.d.ts +21 -0
- package/dist/methods/swap/spender.d.ts.map +1 -0
- package/dist/methods/swap/swapTx.d.ts +158 -0
- package/dist/methods/swap/swapTx.d.ts.map +1 -0
- package/dist/methods/swap/token.d.ts +8 -0
- package/dist/methods/swap/token.d.ts.map +1 -0
- package/dist/methods/swap/transaction.d.ts +115 -0
- package/dist/methods/swap/transaction.d.ts.map +1 -0
- package/dist/sdk/full.d.ts +17 -0
- package/dist/sdk/full.d.ts.map +1 -0
- package/dist/sdk/partial.d.ts +31 -0
- package/dist/sdk/partial.d.ts.map +1 -0
- package/dist/sdk/simple.d.ts +75 -0
- package/dist/sdk/simple.d.ts.map +1 -0
- package/dist/sdk.cjs.development.js +5182 -0
- package/dist/sdk.cjs.development.js.map +1 -0
- package/dist/sdk.cjs.production.min.js +2 -0
- package/dist/sdk.cjs.production.min.js.map +1 -0
- package/dist/sdk.esm.js +5102 -0
- package/dist/sdk.esm.js.map +1 -0
- package/dist/types.d.ts +161 -0
- package/dist/types.d.ts.map +1 -0
- package/docs/DELTA.md +207 -0
- package/package.json +126 -0
- package/src/constants.ts +16 -0
- package/src/examples/customFetcher.ts +44 -0
- package/src/examples/delta.ts +127 -0
- package/src/examples/ethersV6.ts +38 -0
- package/src/examples/limitOrders_all.ts +135 -0
- package/src/examples/limitOrders_partial.ts +171 -0
- package/src/examples/limitOrders_postOrder.ts +77 -0
- package/src/examples/partial.ts +34 -0
- package/src/examples/quote.ts +205 -0
- package/src/examples/sdk.ts +39 -0
- package/src/examples/simple.ts +44 -0
- package/src/examples/simpleQuote.ts +98 -0
- package/src/examples/viem.ts +120 -0
- package/src/examples/wagmi.ts +68 -0
- package/src/examples/web3.ts +32 -0
- package/src/gas.ts +7 -0
- package/src/helpers/approve.ts +60 -0
- package/src/helpers/fetchers/axios.ts +34 -0
- package/src/helpers/fetchers/fetch.ts +67 -0
- package/src/helpers/index.ts +27 -0
- package/src/helpers/misc.ts +160 -0
- package/src/helpers/providers/ethers.ts +192 -0
- package/src/helpers/providers/ethersV6.ts +121 -0
- package/src/helpers/providers/helpers.ts +36 -0
- package/src/helpers/providers/viem.ts +205 -0
- package/src/helpers/providers/web3.ts +154 -0
- package/src/helpers/token.ts +75 -0
- package/src/index.ts +425 -0
- package/src/methods/common/orders/buildOrderData.ts +29 -0
- package/src/methods/common/orders/encoding.ts +216 -0
- package/src/methods/common/orders/misc.ts +86 -0
- package/src/methods/common/orders/signature.ts +68 -0
- package/src/methods/common/orders/types.ts +13 -0
- package/src/methods/delta/approveForDelta.ts +38 -0
- package/src/methods/delta/buildCrosschainOrderBridge.ts +84 -0
- package/src/methods/delta/buildDeltaOrder.ts +192 -0
- package/src/methods/delta/getBridgeInfo.ts +38 -0
- package/src/methods/delta/getDeltaContract.ts +29 -0
- package/src/methods/delta/getDeltaOrders.ts +102 -0
- package/src/methods/delta/getDeltaPrice.ts +122 -0
- package/src/methods/delta/getMulticallHandlers.ts +44 -0
- package/src/methods/delta/getPartnerFee.ts +58 -0
- package/src/methods/delta/helpers/across.ts +255 -0
- package/src/methods/delta/helpers/buildDeltaOrderData.ts +153 -0
- package/src/methods/delta/helpers/composePermit.ts +76 -0
- package/src/methods/delta/helpers/misc.ts +32 -0
- package/src/methods/delta/helpers/types.ts +110 -0
- package/src/methods/delta/index.ts +146 -0
- package/src/methods/delta/isTokenSupportedInDelta.ts +54 -0
- package/src/methods/delta/postDeltaOrder.ts +50 -0
- package/src/methods/delta/signDeltaOrder.ts +41 -0
- package/src/methods/limitOrders/approveForOrder.ts +36 -0
- package/src/methods/limitOrders/buildOrder.ts +56 -0
- package/src/methods/limitOrders/cancelOrder.ts +111 -0
- package/src/methods/limitOrders/fillOrderDirectly.ts +277 -0
- package/src/methods/limitOrders/getOrders.ts +151 -0
- package/src/methods/limitOrders/getOrdersContract.ts +20 -0
- package/src/methods/limitOrders/helpers/buildOrderData.ts +121 -0
- package/src/methods/limitOrders/helpers/misc.ts +64 -0
- package/src/methods/limitOrders/helpers/types.ts +70 -0
- package/src/methods/limitOrders/index.ts +154 -0
- package/src/methods/limitOrders/postOrder.ts +74 -0
- package/src/methods/limitOrders/signOrder.ts +29 -0
- package/src/methods/limitOrders/transaction.ts +231 -0
- package/src/methods/nftOrders/approveForOrder.ts +79 -0
- package/src/methods/nftOrders/buildOrder.ts +52 -0
- package/src/methods/nftOrders/cancelOrder.ts +23 -0
- package/src/methods/nftOrders/getOrders.ts +84 -0
- package/src/methods/nftOrders/getOrdersContract.ts +24 -0
- package/src/methods/nftOrders/helpers/buildOrderData.ts +131 -0
- package/src/methods/nftOrders/helpers/misc.ts +92 -0
- package/src/methods/nftOrders/helpers/types.ts +50 -0
- package/src/methods/nftOrders/index.ts +139 -0
- package/src/methods/nftOrders/postOrder.ts +71 -0
- package/src/methods/nftOrders/signOrder.ts +29 -0
- package/src/methods/nftOrders/transaction.ts +234 -0
- package/src/methods/quote/getQuote.ts +131 -0
- package/src/methods/swap/adapters.ts +49 -0
- package/src/methods/swap/approve.ts +51 -0
- package/src/methods/swap/balance.ts +147 -0
- package/src/methods/swap/helpers/normalizeRateOptions.ts +55 -0
- package/src/methods/swap/index.ts +38 -0
- package/src/methods/swap/rates.ts +276 -0
- package/src/methods/swap/spender.ts +76 -0
- package/src/methods/swap/swapTx.ts +266 -0
- package/src/methods/swap/token.ts +35 -0
- package/src/methods/swap/transaction.ts +310 -0
- package/src/sdk/full.ts +54 -0
- package/src/sdk/partial.ts +107 -0
- package/src/sdk/simple.ts +429 -0
- package/src/types.ts +240 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SDKConfig } from '../../sdk/partial';
|
|
2
|
+
import { GetAdaptersFunctions } from './adapters';
|
|
3
|
+
import { ApproveTokenFunctions } from './approve';
|
|
4
|
+
import { GetBalancesFunctions } from './balance';
|
|
5
|
+
import { GetRateFunctions } from './rates';
|
|
6
|
+
import { GetSpenderFunctions } from './spender';
|
|
7
|
+
import { GetSwapTxFunctions } from './swapTx';
|
|
8
|
+
import { GetTokensFunctions } from './token';
|
|
9
|
+
import { BuildTxFunctions } from './transaction';
|
|
10
|
+
export type SwapSDKMethods<TxResponse> = GetBalancesFunctions & GetTokensFunctions & GetSpenderFunctions & ApproveTokenFunctions<TxResponse> & BuildTxFunctions & GetAdaptersFunctions & GetRateFunctions & GetSwapTxFunctions;
|
|
11
|
+
/** @description construct SDK with every Swap-related method, fetching from API and token approval */
|
|
12
|
+
export declare const constructSwapSDK: <TxResponse>(config: SDKConfig<TxResponse>) => SwapSDKMethods<TxResponse>;
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/methods/swap/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAwB,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAyB,MAAM,WAAW,CAAC;AACzE,OAAO,EAAwB,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EAAoB,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAuB,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EAAmB,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAsB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAoB,MAAM,eAAe,CAAC;AAEnE,MAAM,MAAM,cAAc,CAAC,UAAU,IAAI,oBAAoB,GAC3D,kBAAkB,GAClB,mBAAmB,GACnB,qBAAqB,CAAC,UAAU,CAAC,GACjC,gBAAgB,GAChB,oBAAoB,GACpB,gBAAgB,GAChB,kBAAkB,CAAC;AAErB,sGAAsG;AACtG,eAAO,MAAM,gBAAgB,GAAI,UAAU,UACjC,SAAS,CAAC,UAAU,CAAC,KAC5B,cAAc,CAAC,UAAU,CAe3B,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { ContractMethodByName } from '../../constants';
|
|
2
|
+
import type { ConstructFetchInput, Address, AddressOrSymbol, PriceString, OptimalRate, RequestParameters } from '../../types';
|
|
3
|
+
export type RateOptions = {
|
|
4
|
+
excludeDEXS?: string[];
|
|
5
|
+
includeDEXS?: string[];
|
|
6
|
+
excludePools?: string[];
|
|
7
|
+
excludeContractMethods?: ContractMethodByName[];
|
|
8
|
+
includeContractMethods?: ContractMethodByName[];
|
|
9
|
+
partner?: string;
|
|
10
|
+
/** @description In %. It's a way to bypass the API price impact check (default = 15%) */
|
|
11
|
+
maxImpact?: number;
|
|
12
|
+
maxUSDImpact?: number;
|
|
13
|
+
otherExchangePrices?: boolean;
|
|
14
|
+
/** @description proceed with priceRoute building even when tokens don't have USD price. Default: false */
|
|
15
|
+
ignoreBadUsdPrice?: boolean;
|
|
16
|
+
/** @description Exclude all RFQs from pricing, e.g.: AugustusRFQ, Hashflow. Default: false */
|
|
17
|
+
excludeRFQ?: boolean;
|
|
18
|
+
/** @description Specify that methods without fee support should be excluded from the price route. Default: false */
|
|
19
|
+
excludeContractMethodsWithoutFeeModel?: boolean;
|
|
20
|
+
/** @description If the source token is a tax token, you should specify the tax amount in BPS. */
|
|
21
|
+
srcTokenTransferFee?: string;
|
|
22
|
+
/** @description If the destination token is a tax token, you should specify the tax amount in BPS. */
|
|
23
|
+
destTokenTransferFee?: string;
|
|
24
|
+
/** @description Some tokens only charge tax when swapped in/out DEXs and not on ordinary transfers. */
|
|
25
|
+
srcTokenDexTransferFee?: string;
|
|
26
|
+
/** @description Some tokens only charge tax when swapped in/out DEXs and not on ordinary transfers. */
|
|
27
|
+
destTokenDexTransferFee?: string;
|
|
28
|
+
};
|
|
29
|
+
type CommonGetRateInput = {
|
|
30
|
+
amount: PriceString;
|
|
31
|
+
userAddress?: Address;
|
|
32
|
+
side?: 'SELL' | 'BUY';
|
|
33
|
+
options?: RateOptions;
|
|
34
|
+
srcDecimals?: number;
|
|
35
|
+
destDecimals?: number;
|
|
36
|
+
};
|
|
37
|
+
export type GetRateInput = CommonGetRateInput & {
|
|
38
|
+
srcToken: AddressOrSymbol;
|
|
39
|
+
destToken: AddressOrSymbol;
|
|
40
|
+
};
|
|
41
|
+
export type GetRate = (options: GetRateInput, requestParams?: RequestParameters) => Promise<OptimalRate>;
|
|
42
|
+
type GetRateByRouteInput = CommonGetRateInput & {
|
|
43
|
+
route: AddressOrSymbol[];
|
|
44
|
+
};
|
|
45
|
+
type GetRateByRoute = (options: GetRateByRouteInput, requestParams?: RequestParameters) => Promise<OptimalRate>;
|
|
46
|
+
export type GetRateFunctions = {
|
|
47
|
+
getRate: GetRate;
|
|
48
|
+
getRateByRoute: GetRateByRoute;
|
|
49
|
+
};
|
|
50
|
+
export declare const constructGetRate: ({ apiURL, version, chainId, fetcher, }: ConstructFetchInput) => GetRateFunctions;
|
|
51
|
+
export {};
|
|
52
|
+
//# sourceMappingURL=rates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rates.d.ts","sourceRoot":"","sources":["../../../src/methods/swap/rates.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EACV,mBAAmB,EAEnB,OAAO,EACP,eAAe,EACf,WAAW,EACX,WAAW,EACX,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAkIrB,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,sBAAsB,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAChD,sBAAsB,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yFAAyF;IACzF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,0GAA0G;IAC1G,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,8FAA8F;IAC9F,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qHAAqH;IACrH,qCAAqC,CAAC,EAAE,OAAO,CAAC;IAChD,kGAAkG;IAClG,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uGAAuG;IACvG,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wGAAwG;IACxG,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,wGAAwG;IACxG,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACtB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,kBAAkB,GAAG;IAC9C,QAAQ,EAAE,eAAe,CAAC;IAC1B,SAAS,EAAE,eAAe,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,CACpB,OAAO,EAAE,YAAY,EACrB,aAAa,CAAC,EAAE,iBAAiB,KAC9B,OAAO,CAAC,WAAW,CAAC,CAAC;AAE1B,KAAK,mBAAmB,GAAG,kBAAkB,GAAG;IAC9C,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B,CAAC;AAEF,KAAK,cAAc,GAAG,CACpB,OAAO,EAAE,mBAAmB,EAC5B,aAAa,CAAC,EAAE,iBAAiB,KAC9B,OAAO,CAAC,WAAW,CAAC,CAAC;AAE1B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,cAAc,CAAC;CAChC,CAAC;AAGF,eAAO,MAAM,gBAAgB,2CAK1B,mBAAmB,KAAG,gBAiExB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ConstructFetchInput, Address, RequestParameters } from '../../types';
|
|
2
|
+
export type GetSpender = (requestParams?: RequestParameters) => Promise<Address>;
|
|
3
|
+
type GetContracts = (requestParams?: RequestParameters) => Promise<AdaptersContractsResult>;
|
|
4
|
+
export type GetSpenderFunctions = {
|
|
5
|
+
getSpender: GetSpender;
|
|
6
|
+
getAugustusSwapper: GetSpender;
|
|
7
|
+
getAugustusRFQ: GetSpender;
|
|
8
|
+
getContracts: GetContracts;
|
|
9
|
+
};
|
|
10
|
+
interface AdaptersContractsResult {
|
|
11
|
+
AugustusSwapper: string;
|
|
12
|
+
TokenTransferProxy: string;
|
|
13
|
+
AugustusRFQ: string;
|
|
14
|
+
Executors: {
|
|
15
|
+
[key: `Executor${number}`]: string;
|
|
16
|
+
};
|
|
17
|
+
ParaswapDelta?: string;
|
|
18
|
+
}
|
|
19
|
+
export declare const constructGetSpender: ({ apiURL, version, chainId, fetcher, }: ConstructFetchInput) => GetSpenderFunctions;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=spender.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spender.d.ts","sourceRoot":"","sources":["../../../src/methods/swap/spender.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,OAAO,EACP,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,UAAU,GAAG,CACvB,aAAa,CAAC,EAAE,iBAAiB,KAC9B,OAAO,CAAC,OAAO,CAAC,CAAC;AACtB,KAAK,YAAY,GAAG,CAClB,aAAa,CAAC,EAAE,iBAAiB,KAC9B,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAEtC,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,kBAAkB,EAAE,UAAU,CAAC;IAC/B,cAAc,EAAE,UAAU,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAEF,UAAU,uBAAuB;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE;QACT,CAAC,GAAG,EAAE,WAAW,MAAM,EAAE,GAAG,MAAM,CAAC;KACpC,CAAC;IACF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,mBAAmB,2CAK7B,mBAAmB,KAAG,mBAsCxB,CAAC"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { ContractMethodByName } from '../../constants';
|
|
2
|
+
import type { ConstructFetchInput, RequestParameters, SwapApiResponse } from '../../types';
|
|
3
|
+
/**
|
|
4
|
+
* Types for transaction parameters.
|
|
5
|
+
*/
|
|
6
|
+
type SwapQueryParams = {
|
|
7
|
+
/**
|
|
8
|
+
* @description Source Token Address. Instead, **Token Symbol** could be used for tokens listed in the `/tokens` endpoint.
|
|
9
|
+
*/
|
|
10
|
+
srcToken: string;
|
|
11
|
+
/**
|
|
12
|
+
* @description Source Token Decimals. (Can be omitted if Token Symbol is used in `srcToken`).
|
|
13
|
+
*/
|
|
14
|
+
srcDecimals?: number;
|
|
15
|
+
/**
|
|
16
|
+
* @description Destination Token Address. Instead, **Token Symbol** could be used for tokens listed in the `/tokens` endpoint.
|
|
17
|
+
*/
|
|
18
|
+
destToken: string;
|
|
19
|
+
/**
|
|
20
|
+
* @description srcToken amount (in case of SELL) or destToken amount (in case of BUY). The amount should be in **WEI/Raw units** (eg. 1WBTC -> 100000000).
|
|
21
|
+
*/
|
|
22
|
+
amount: string;
|
|
23
|
+
/**
|
|
24
|
+
* @description **SELL** or **BUY**. Default: `SELL`.
|
|
25
|
+
*/
|
|
26
|
+
side: 'SELL' | 'BUY';
|
|
27
|
+
/**
|
|
28
|
+
* @description Network ID. (Mainnet - 1, Optimism - 10, BSC - 56, Polygon - 137, Fantom - 250, zkEVM - 1101, Base - 8453, Arbitrum - 42161, Avalanche - 43114). Default: `1`.
|
|
29
|
+
*/
|
|
30
|
+
network?: number;
|
|
31
|
+
/**
|
|
32
|
+
* @description Comma Separated List of DEXs to include. **Supported DEXs:** Uniswap, Kyber, Bancor, AugustusRFQ, Oasis, Compound, Fulcrum, 0x, MakerDAO, Chai, Aave, Aave2, MultiPath, MegaPath, Curve, Curve3, Saddle, IronV2, BDai, idle, Weth, Beth, UniswapV2, Balancer, 0xRFQt, SushiSwap, LINKSWAP, Synthetix, DefiSwap, Swerve, CoFiX, Shell, DODOV1, DODOV2, OnChainPricing, PancakeSwap, PancakeSwapV2, ApeSwap, Wbnb, acryptos, streetswap, bakeryswap, julswap, vswap, vpegswap, beltfi, ellipsis, QuickSwap, COMETH, Wmatic, Nerve, Dfyn, UniswapV3, Smoothy, PantherSwap, OMM1, OneInchLP, CurveV2, mStable, WaultFinance, MDEX, ShibaSwap, CoinSwap, SakeSwap, JetSwap, Biswap, BProtocol eg: `UniswapV3,0x`.
|
|
33
|
+
*/
|
|
34
|
+
includeDEXS?: string;
|
|
35
|
+
/**
|
|
36
|
+
* @description Comma Separated List of DEXs to exclude. (from the list of DEXs mentioned above).
|
|
37
|
+
*/
|
|
38
|
+
excludeDEXS?: string;
|
|
39
|
+
/**
|
|
40
|
+
* @description Comma Separated List of Contract Methods to include without spaces. **Available values:** swapOnUniswap, buyOnUniswap, swapOnUniswapFork, buyOnUniswapFork, swapOnUniswapV2Fork, buyOnUniswapV2Fork, simpleBuy, simpleSwap, multiSwap, megaSwap, protectedMultiSwap, protectedMegaSwap, protectedSimpleSwap, protectedSimpleBuy, swapOnZeroXv2, swapOnZeroXv4, buy. eg: `simpleSwap,multiSwap`.
|
|
41
|
+
*/
|
|
42
|
+
includeContractMethods?: string;
|
|
43
|
+
/**
|
|
44
|
+
* @description Comma Separated List of Contract Methods to exclude without spaces. (from the list of contract methods mentioned above).
|
|
45
|
+
*/
|
|
46
|
+
excludeContractMethods?: string;
|
|
47
|
+
/**
|
|
48
|
+
* @description User's Wallet Address.
|
|
49
|
+
*/
|
|
50
|
+
userAddress: string;
|
|
51
|
+
/**
|
|
52
|
+
* @description Dash (-) separated list of tokens (addresses or symbols from `/tokens`) to comprise the price route. _Max 4 tokens._ _**\*Note:**_ _If_ `_route_` _is specified, the response will only comprise of the route specified which might not be the optimal route._
|
|
53
|
+
*/
|
|
54
|
+
route?: string;
|
|
55
|
+
/**
|
|
56
|
+
* @description Partner string.
|
|
57
|
+
*/
|
|
58
|
+
partner?: string;
|
|
59
|
+
/**
|
|
60
|
+
* @description If provided it is used together with `partnerAddress`. Should be in basis points percentage. Look at `slippage` parameter description for understanding better. Eg: `200` (for 2% fee percent). Fees have to be claimed from the Fee Claimer contract unless `_isSurplusToUser_` or `_isDirectFeeTransfer_` are used.
|
|
61
|
+
*/
|
|
62
|
+
partnerFeeBps?: string;
|
|
63
|
+
/**
|
|
64
|
+
* @description Address that will be entitled to claim fees or surplus. Fees have to be claimed from the Fee Claimer contract unless `_isSurplusToUser_` or `_isDirectFeeTransfer_` are used.
|
|
65
|
+
*/
|
|
66
|
+
partnerAddress?: string;
|
|
67
|
+
/**
|
|
68
|
+
* @description Allowed slippage percentage represented in basis points. _Eg:_ for **2.5%** slippage, set the value to **2.5 \* 100 = 250**; for 10% = 1000.
|
|
69
|
+
*/
|
|
70
|
+
slippage: number;
|
|
71
|
+
/**
|
|
72
|
+
* @description Destination Token Decimals. (Can be omitted if Token Symbol is used in `destToken`).
|
|
73
|
+
*/
|
|
74
|
+
destDecimals?: number;
|
|
75
|
+
/**
|
|
76
|
+
* @description In %. It's a way to bypass the API price impact check (default = 15%).
|
|
77
|
+
*/
|
|
78
|
+
maxImpact?: number;
|
|
79
|
+
/**
|
|
80
|
+
* @description Receiver's Wallet address. (Can be omitted if swapping tokens from and to same account).
|
|
81
|
+
*/
|
|
82
|
+
receiver?: string;
|
|
83
|
+
/**
|
|
84
|
+
* @description If the source token is a tax token, you should specify the tax amount in BPS. For example: for a token with a 5% tax, you should set it to 500 as `[(500/10000)*100=5%]`. Note: not all DEXs and contract methods support trading tax tokens, so we will filter those that don't.
|
|
85
|
+
*/
|
|
86
|
+
srcTokenTransferFee?: string;
|
|
87
|
+
/**
|
|
88
|
+
* @description If the destination token is a tax token, you should specify the tax amount in BPS. For example: for a token with a 5% tax, you should set it to 500 as `[(500/10000)*100=5%]`. Note: not all DEXs and contract methods support trading tax tokens, so we will filter those that don't.
|
|
89
|
+
*/
|
|
90
|
+
destTokenTransferFee?: string;
|
|
91
|
+
/**
|
|
92
|
+
* @description If the source token is a tax token, you should specify the tax amount in BPS. Some tokens only charge tax when swapped in/out DEXs and not on ordinary transfers.
|
|
93
|
+
*/
|
|
94
|
+
srcTokenDexTransferFee?: string;
|
|
95
|
+
/**
|
|
96
|
+
* @description If the destination token is a tax token, you should specify the tax amount in BPS. Some tokens only charge tax when swapped in/out DEXs, not on ordinary transfers.
|
|
97
|
+
*/
|
|
98
|
+
destTokenDexTransferFee?: string;
|
|
99
|
+
/**
|
|
100
|
+
* @description To specify the protocol version. **Values:** 5 or 6.2 **Default**: 5.
|
|
101
|
+
*/
|
|
102
|
+
version?: number | string;
|
|
103
|
+
/**
|
|
104
|
+
* @description If tokens USD prices are not available, `Bad USD Price` error will be thrown. Use this param to skip this check. Default: `false`.
|
|
105
|
+
*/
|
|
106
|
+
ignoreBadUsdPrice?: boolean;
|
|
107
|
+
/**
|
|
108
|
+
* @description Specify if user should receive surplus instead of partner. Default: `false`.
|
|
109
|
+
*/
|
|
110
|
+
isSurplusToUser?: boolean;
|
|
111
|
+
/**
|
|
112
|
+
* @description Specify if fees should be sent directly to the partner instead of registering them on FeeClaimer. Default: `false`.
|
|
113
|
+
*/
|
|
114
|
+
isDirectFeeTransfer?: boolean;
|
|
115
|
+
/**
|
|
116
|
+
* @description Allows for capping the surplus at 1% maximum. Default: `true`.
|
|
117
|
+
*/
|
|
118
|
+
isCapSurplus?: boolean;
|
|
119
|
+
/**
|
|
120
|
+
* @description Allows to collect surplus. Works with `partnerAddress`. Default: `false`.
|
|
121
|
+
*/
|
|
122
|
+
takeSurplus?: boolean;
|
|
123
|
+
};
|
|
124
|
+
type SwapTxInputFields = 'srcToken' | 'destToken' | 'amount' | 'side' | 'srcDecimals' | 'destDecimals' | 'userAddress' | 'slippage';
|
|
125
|
+
type SwapTxInputListFields = 'includeDEXS' | 'excludeDEXS' | 'includeContractMethods' | 'excludeContractMethods' | 'route';
|
|
126
|
+
type SwapRateOptions = Omit<SwapQueryParams, SwapTxInputFields | SwapTxInputListFields | 'network' | 'version'> & {
|
|
127
|
+
/**
|
|
128
|
+
* @description List of DEXs to include. **Supported DEXs:** Uniswap, Kyber, Bancor, AugustusRFQ, Oasis, Compound, Fulcrum, 0x, MakerDAO, Chai, Aave, Aave2, MultiPath, MegaPath, Curve, Curve3, Saddle, IronV2, BDai, idle, Weth, Beth, UniswapV2, Balancer, 0xRFQt, SushiSwap, LINKSWAP, Synthetix, DefiSwap, Swerve, CoFiX, Shell, DODOV1, DODOV2, OnChainPricing, PancakeSwap, PancakeSwapV2, ApeSwap, Wbnb, acryptos, streetswap, bakeryswap, julswap, vswap, vpegswap, beltfi, ellipsis, QuickSwap, COMETH, Wmatic, Nerve, Dfyn, UniswapV3, Smoothy, PantherSwap, OMM1, OneInchLP, CurveV2, mStable, WaultFinance, MDEX, ShibaSwap, CoinSwap, SakeSwap, JetSwap, Biswap, BProtocol eg: `UniswapV3,0x`.
|
|
129
|
+
*/
|
|
130
|
+
includeDEXS?: string[];
|
|
131
|
+
/**
|
|
132
|
+
* @description List of DEXs to exclude. (from the list of DEXs mentioned above).
|
|
133
|
+
*/
|
|
134
|
+
excludeDEXS?: string[];
|
|
135
|
+
/**
|
|
136
|
+
* @description List of Contract Methods to include without spaces. **Available values:** swapOnUniswap, buyOnUniswap, swapOnUniswapFork, buyOnUniswapFork, swapOnUniswapV2Fork, buyOnUniswapV2Fork, simpleBuy, simpleSwap, multiSwap, megaSwap, protectedMultiSwap, protectedMegaSwap, protectedSimpleSwap, protectedSimpleBuy, swapOnZeroXv2, swapOnZeroXv4, buy. eg: `simpleSwap,multiSwap`.
|
|
137
|
+
*/
|
|
138
|
+
includeContractMethods?: ContractMethodByName[];
|
|
139
|
+
/**
|
|
140
|
+
* @description List of Contract Methods to exclude without spaces. (from the list of contract methods mentioned above).
|
|
141
|
+
*/
|
|
142
|
+
excludeContractMethods?: ContractMethodByName[];
|
|
143
|
+
};
|
|
144
|
+
type SwapTxInput = Pick<SwapQueryParams, SwapTxInputFields> & {
|
|
145
|
+
/**
|
|
146
|
+
* @description List of tokens (addresses or symbols from `/tokens`) to comprise the price route. _Max 4 tokens._ _**\*Note:**_ _If_ `_route_` _is specified, the response will only comprise of the route specified which might not be the optimal route._
|
|
147
|
+
*/
|
|
148
|
+
route?: string[];
|
|
149
|
+
options?: SwapRateOptions;
|
|
150
|
+
};
|
|
151
|
+
export type SwapTxResult = SwapApiResponse;
|
|
152
|
+
export type GetSwapTxData = (options: SwapTxInput, requestParams?: RequestParameters) => Promise<SwapTxResult>;
|
|
153
|
+
export type GetSwapTxFunctions = {
|
|
154
|
+
getSwapTxData: GetSwapTxData;
|
|
155
|
+
};
|
|
156
|
+
export declare const constructSwapTx: ({ apiURL, version, chainId, fetcher, }: ConstructFetchInput) => GetSwapTxFunctions;
|
|
157
|
+
export {};
|
|
158
|
+
//# sourceMappingURL=swapTx.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swapTx.d.ts","sourceRoot":"","sources":["../../../src/methods/swap/swapTx.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { RequestParameters, ConstructFetchInput, Token } from '../../types';
|
|
2
|
+
type GetTokens = (extra?: RequestParameters) => Promise<Token[]>;
|
|
3
|
+
export type GetTokensFunctions = {
|
|
4
|
+
getTokens: GetTokens;
|
|
5
|
+
};
|
|
6
|
+
export declare const constructGetTokens: ({ apiURL, chainId, fetcher, }: ConstructFetchInput) => GetTokensFunctions;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../src/methods/swap/token.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,EAEN,MAAM,aAAa,CAAC;AAErB,KAAK,SAAS,GAAG,CAAC,KAAK,CAAC,EAAE,iBAAiB,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;AAEjE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,kBAAkB,kCAI5B,mBAAmB,KAAG,kBAexB,CAAC"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import type { WithGasPrice, WithMaxFee } from '../../gas';
|
|
2
|
+
import type { ConstructFetchInput, Address, PriceString, OptimalRate, RequestParameters } from '../../types';
|
|
3
|
+
import type { OrderData } from '../limitOrders/buildOrder';
|
|
4
|
+
import { AssetTypeVariant } from '../nftOrders/helpers/types';
|
|
5
|
+
export interface TransactionParams {
|
|
6
|
+
to: string;
|
|
7
|
+
from: string;
|
|
8
|
+
value: string;
|
|
9
|
+
data: string;
|
|
10
|
+
gas?: string;
|
|
11
|
+
chainId: number;
|
|
12
|
+
gasPrice?: string;
|
|
13
|
+
maxFeePerGas?: string;
|
|
14
|
+
maxPriorityFeePerGas?: string;
|
|
15
|
+
}
|
|
16
|
+
export type SwappableOrder = OrderData & {
|
|
17
|
+
permitMakerAsset?: string;
|
|
18
|
+
signature: string;
|
|
19
|
+
};
|
|
20
|
+
export type SwappableNFTOrder = SwappableOrder & {
|
|
21
|
+
makerAssetId: string;
|
|
22
|
+
takerAssetId: string;
|
|
23
|
+
makerAssetType: AssetTypeVariant;
|
|
24
|
+
takerAssetType: AssetTypeVariant;
|
|
25
|
+
};
|
|
26
|
+
export type TxInputAmountsPartSell = {
|
|
27
|
+
slippage: number;
|
|
28
|
+
srcAmount: PriceString;
|
|
29
|
+
destAmount?: never;
|
|
30
|
+
};
|
|
31
|
+
export type TxInputAmountsPartBuy = {
|
|
32
|
+
slippage: number;
|
|
33
|
+
srcAmount?: never;
|
|
34
|
+
destAmount: PriceString;
|
|
35
|
+
};
|
|
36
|
+
export type TxInputAmountsPartBuyOrSell = {
|
|
37
|
+
slippage?: never;
|
|
38
|
+
srcAmount: PriceString;
|
|
39
|
+
destAmount: PriceString;
|
|
40
|
+
};
|
|
41
|
+
export type BuildTxInputBase = {
|
|
42
|
+
srcToken: Address;
|
|
43
|
+
destToken: Address;
|
|
44
|
+
userAddress: Address;
|
|
45
|
+
/** @description Whenever msg.sender (`userAddress`) i.e. address calling the Velora contract is different than the address sending the transaction, `txOrigin` must be passed along with `userAddress` */
|
|
46
|
+
txOrigin?: string;
|
|
47
|
+
/** @description used with referral link */
|
|
48
|
+
referrer?: string;
|
|
49
|
+
partner?: string;
|
|
50
|
+
partnerAddress?: string;
|
|
51
|
+
partnerFeeBps?: number;
|
|
52
|
+
/** @description If user should receive surplus instead of partner. Default: false */
|
|
53
|
+
isSurplusToUser?: boolean;
|
|
54
|
+
/** @description If fees should be sent directly to the partner instead of registering them on FeeClaimer. v6 only. Default: false */
|
|
55
|
+
isDirectFeeTransfer?: boolean;
|
|
56
|
+
/** @deprecated Use "takeSurplus" instead. Positive slippage goes to user, true by default */
|
|
57
|
+
positiveSlippageToUser?: boolean;
|
|
58
|
+
/** @description Set to true to take positive slippage. Works with partnerAddress. Default: false */
|
|
59
|
+
takeSurplus?: boolean;
|
|
60
|
+
/** @description Cap the surplus at 1% maximum. Default: true */
|
|
61
|
+
isCapSurplus?: boolean;
|
|
62
|
+
receiver?: Address;
|
|
63
|
+
srcDecimals?: number;
|
|
64
|
+
destDecimals?: number;
|
|
65
|
+
permit?: string;
|
|
66
|
+
deadline?: string;
|
|
67
|
+
};
|
|
68
|
+
export type BuildSwapTxInput = BuildTxInputBase & {
|
|
69
|
+
priceRoute: OptimalRate;
|
|
70
|
+
} & (TxInputAmountsPartSell | TxInputAmountsPartBuy | TxInputAmountsPartBuyOrSell);
|
|
71
|
+
type BuildTxInputBaseBUYForOrders<K extends keyof TxInputAmountsPartBuy | keyof BuildTxInputBase = never> = Omit<BuildTxInputBase, K> & (Omit<TxInputAmountsPartBuy, 'destAmount' | K> | Omit<TxInputAmountsPartBuyOrSell, 'destAmount' | K>);
|
|
72
|
+
export type BuildLimitOrderTxInput = BuildTxInputBaseBUYForOrders & {
|
|
73
|
+
orders: SwappableOrder[];
|
|
74
|
+
srcDecimals: number;
|
|
75
|
+
destDecimals: number;
|
|
76
|
+
};
|
|
77
|
+
export type BuildNFTOrderTxInput = BuildTxInputBaseBUYForOrders<'destDecimals'> & {
|
|
78
|
+
orders: SwappableNFTOrder[];
|
|
79
|
+
srcDecimals: number;
|
|
80
|
+
};
|
|
81
|
+
export interface BuildSwapAndLimitOrderTxInput0 extends Omit<BuildTxInputBase, 'destAmount'> {
|
|
82
|
+
priceRoute: OptimalRate;
|
|
83
|
+
orders: SwappableOrder[];
|
|
84
|
+
destDecimals: number;
|
|
85
|
+
}
|
|
86
|
+
export type BuildSwapAndLimitOrderTxInput = BuildTxInputBaseBUYForOrders & {
|
|
87
|
+
priceRoute: OptimalRate;
|
|
88
|
+
orders: SwappableOrder[];
|
|
89
|
+
destDecimals: number;
|
|
90
|
+
};
|
|
91
|
+
export type BuildSwapAndNFTOrderTxInput = BuildTxInputBaseBUYForOrders & {
|
|
92
|
+
priceRoute: OptimalRate;
|
|
93
|
+
orders: SwappableNFTOrder[];
|
|
94
|
+
};
|
|
95
|
+
export type BuildTxInput = BuildSwapTxInput | BuildLimitOrderTxInput | BuildNFTOrderTxInput | BuildSwapAndLimitOrderTxInput | BuildSwapAndNFTOrderTxInput;
|
|
96
|
+
export type BuildOptionsBase = {
|
|
97
|
+
/** @description Allows the API to skip performing onchain checks such as balances, allowances, as well as transaction simulations. The response does not contain `gas` parameter when set to `true` */
|
|
98
|
+
ignoreChecks?: boolean;
|
|
99
|
+
/** @description Allows the API to skip gas checks. The response does not contain `gas` parameter when set to `true` */
|
|
100
|
+
ignoreGasEstimate?: boolean;
|
|
101
|
+
/** @description Allows the API to skip performing onchain allowance checks. */
|
|
102
|
+
ignoreAllowance?: boolean;
|
|
103
|
+
/** @description Allows the API to return the contract parameters only. */
|
|
104
|
+
onlyParams?: boolean;
|
|
105
|
+
};
|
|
106
|
+
export type BuildOptionsWithGasPrice = BuildOptionsBase & Partial<WithGasPrice>;
|
|
107
|
+
export type BuildOptionsWitWithMaxFee = BuildOptionsBase & Partial<WithMaxFee>;
|
|
108
|
+
export type BuildOptions = BuildOptionsWithGasPrice | BuildOptionsWitWithMaxFee;
|
|
109
|
+
type BuildTx = (params: BuildTxInput, options?: BuildOptions, requestParams?: RequestParameters) => Promise<TransactionParams>;
|
|
110
|
+
export type BuildTxFunctions = {
|
|
111
|
+
buildTx: BuildTx;
|
|
112
|
+
};
|
|
113
|
+
export declare const constructBuildTx: ({ apiURL, chainId, fetcher, }: ConstructFetchInput) => BuildTxFunctions;
|
|
114
|
+
export {};
|
|
115
|
+
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/methods/swap/transaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { SDKConfig } from './partial';
|
|
2
|
+
import { SwapSDKMethods } from '../methods/swap';
|
|
3
|
+
import { LimitOrderHandlers } from '../methods/limitOrders';
|
|
4
|
+
import { NFTOrderHandlers } from '../methods/nftOrders';
|
|
5
|
+
import { DeltaOrderHandlers } from '../methods/delta';
|
|
6
|
+
import { GetQuoteFunctions } from '../methods/quote/getQuote';
|
|
7
|
+
import { ConstructBaseInput } from '../types';
|
|
8
|
+
export type AllSDKMethods<TxResponse> = {
|
|
9
|
+
swap: SwapSDKMethods<TxResponse>;
|
|
10
|
+
limitOrders: LimitOrderHandlers<TxResponse>;
|
|
11
|
+
nftOrders: NFTOrderHandlers<TxResponse>;
|
|
12
|
+
delta: DeltaOrderHandlers<TxResponse>;
|
|
13
|
+
quote: GetQuoteFunctions;
|
|
14
|
+
} & Required<ConstructBaseInput>;
|
|
15
|
+
/** @description construct SDK with every method, for swap and limitOrders */
|
|
16
|
+
export declare const constructFullSDK: <TxResponse = any>(config: SDKConfig<TxResponse>) => AllSDKMethods<TxResponse>;
|
|
17
|
+
//# sourceMappingURL=full.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"full.d.ts","sourceRoot":"","sources":["../../src/sdk/full.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAoB,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAEL,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAG9C,MAAM,MAAM,aAAa,CAAC,UAAU,IAAI;IACtC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACjC,WAAW,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC5C,SAAS,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACxC,KAAK,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACtC,KAAK,EAAE,iBAAiB,CAAC;CAC1B,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AAEjC,6EAA6E;AAC7E,eAAO,MAAM,gBAAgB,GAAI,UAAU,gBACjC,SAAS,CAAC,UAAU,CAAC,KAC5B,aAAa,CAAC,UAAU,CAqB1B,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { AnyFunction, ConstructBaseInput, ConstructFetchInput, ConstructProviderFetchInput } from '../types';
|
|
2
|
+
import type { Merge, UnionToIntersection } from 'ts-essentials';
|
|
3
|
+
import type { ApproveTokenFunctions } from '../methods/swap/approve';
|
|
4
|
+
import type { CancelLimitOrderFunctions } from '../methods/limitOrders/cancelOrder';
|
|
5
|
+
import type { ApproveTokenForLimitOrderFunctions } from '../methods/limitOrders/approveForOrder';
|
|
6
|
+
import type { CancelNFTOrderFunctions } from '../methods/nftOrders/cancelOrder';
|
|
7
|
+
import type { ApproveTokenForNFTOrderFunctions } from '../methods/nftOrders/approveForOrder';
|
|
8
|
+
import type { FillOrderDirectlyFunctions } from '../methods/limitOrders/fillOrderDirectly';
|
|
9
|
+
import type { ApproveTokenForDeltaFunctions } from '../methods/delta/approveForDelta';
|
|
10
|
+
export type SDKConfig<TxResponse = any> = ConstructProviderFetchInput<TxResponse, 'staticCall' | 'transactCall' | 'signTypedDataCall'> & ConstructFetchInput;
|
|
11
|
+
type SDKFunction<T extends ConstructBaseInput> = (config: T) => Record<string, AnyFunction | Record<string, AnyFunction>>;
|
|
12
|
+
type IntersectionOfReturns<Funcs extends AnyFunction[]> = UnionToIntersection<ReturnType<Funcs[number]>>;
|
|
13
|
+
type PartialSDKResult<Config extends ConstructBaseInput, Funcs extends [SDKFunction<Config>, ...SDKFunction<Config>[]]> = InferWithTxResponse<Config, Funcs>;
|
|
14
|
+
type InferWithTxResponse<Config extends ConstructBaseInput, Funcs extends [SDKFunction<Config>, ...SDKFunction<Config>[]]> = Config extends SDKConfig<infer TxResponse> ? IntersectionOfReturns<Funcs> extends Record<string, any> ? MergeExtendableRecursively<IntersectionOfReturns<Funcs>, [
|
|
15
|
+
ApproveTokenFunctions<TxResponse>,
|
|
16
|
+
CancelLimitOrderFunctions<TxResponse>,
|
|
17
|
+
FillOrderDirectlyFunctions<TxResponse>,
|
|
18
|
+
ApproveTokenForLimitOrderFunctions<TxResponse>,
|
|
19
|
+
CancelNFTOrderFunctions<TxResponse>,
|
|
20
|
+
ApproveTokenForNFTOrderFunctions<TxResponse>,
|
|
21
|
+
ApproveTokenForDeltaFunctions<TxResponse>
|
|
22
|
+
]> : IntersectionOfReturns<Funcs> : IntersectionOfReturns<Funcs>;
|
|
23
|
+
type MergeExtendableOnce<Accum extends Record<string, any>, Replacement extends Record<string, any>> = Accum extends Record<keyof Replacement, any> ? Merge<Accum, Replacement> : Accum;
|
|
24
|
+
type MergeExtendableRecursively<Accum extends Record<string, any>, Replacements extends Record<string, any>[]> = Replacements extends [
|
|
25
|
+
head: infer Head extends Record<string, any>,
|
|
26
|
+
...tail: infer Tail
|
|
27
|
+
] ? Tail extends Record<string, any>[] ? MergeExtendableRecursively<MergeExtendableOnce<Accum, Head>, Tail> : MergeExtendableOnce<Accum, Head> : Accum;
|
|
28
|
+
/** @description construct composable SDK with methods you choose yourself */
|
|
29
|
+
export declare const constructPartialSDK: <Config extends ConstructBaseInput, Funcs extends [SDKFunction<Config>, ...SDKFunction<Config>[]]>(config: Config, ...funcs: Funcs) => PartialSDKResult<Config, Funcs> & Required<ConstructBaseInput>;
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=partial.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partial.d.ts","sourceRoot":"","sources":["../../src/sdk/partial.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,EAC5B,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,wCAAwC,CAAC;AACjG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,sCAAsC,CAAC;AAC7F,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAC3F,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAGtF,MAAM,MAAM,SAAS,CAAC,UAAU,GAAG,GAAG,IAAI,2BAA2B,CACnE,UAAU,EACV,YAAY,GAAG,cAAc,GAAG,mBAAmB,CACpD,GACC,mBAAmB,CAAC;AAEtB,KAAK,WAAW,CAAC,CAAC,SAAS,kBAAkB,IAAI,CAC/C,MAAM,EAAE,CAAC,KACN,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;AAE/D,KAAK,qBAAqB,CAAC,KAAK,SAAS,WAAW,EAAE,IAAI,mBAAmB,CAC3E,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAC1B,CAAC;AAEF,KAAK,gBAAgB,CACnB,MAAM,SAAS,kBAAkB,EACjC,KAAK,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,IAC3D,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAEvC,KAAK,mBAAmB,CACtB,MAAM,SAAS,kBAAkB,EACjC,KAAK,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,IAC3D,MAAM,SAAS,SAAS,CAAC,MAAM,UAAU,CAAC,GAE1C,qBAAqB,CAAC,KAAK,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACtD,0BAA0B,CACxB,qBAAqB,CAAC,KAAK,CAAC,EAC5B;IAGE,qBAAqB,CAAC,UAAU,CAAC;IACjC,yBAAyB,CAAC,UAAU,CAAC;IACrC,0BAA0B,CAAC,UAAU,CAAC;IACtC,kCAAkC,CAAC,UAAU,CAAC;IAC9C,uBAAuB,CAAC,UAAU,CAAC;IACnC,gCAAgC,CAAC,UAAU,CAAC;IAC5C,6BAA6B,CAAC,UAAU,CAAC;CAC1C,CAEF,GACD,qBAAqB,CAAC,KAAK,CAAC,GAC9B,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAIjC,KAAK,mBAAmB,CACtB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IACrC,KAAK,SAAS,MAAM,CAAC,MAAM,WAAW,EAAE,GAAG,CAAC,GAC5C,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,GACzB,KAAK,CAAC;AAIV,KAAK,0BAA0B,CAC7B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IACxC,YAAY,SAAS;IACvB,IAAI,EAAE,MAAM,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC5C,GAAG,IAAI,EAAE,MAAM,IAAI;CACpB,GACG,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAChC,0BAA0B,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,GAClE,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,GAClC,KAAK,CAAC;AAEV,6EAA6E;AAC7E,eAAO,MAAM,mBAAmB,GAC9B,MAAM,SAAS,kBAAkB,EACjC,KAAK,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,UAErD,MAAM,YACJ,KAAK,KACd,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAC,kBAAkB,CAiB/D,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { GetAdaptersFunctions } from '../methods/swap/adapters';
|
|
2
|
+
import { GetBalancesFunctions } from '../methods/swap/balance';
|
|
3
|
+
import { GetRateFunctions } from '../methods/swap/rates';
|
|
4
|
+
import { GetSpenderFunctions } from '../methods/swap/spender';
|
|
5
|
+
import { GetTokensFunctions } from '../methods/swap/token';
|
|
6
|
+
import { BuildTxFunctions } from '../methods/swap/transaction';
|
|
7
|
+
import { GetSwapTxFunctions } from '../methods/swap/swapTx';
|
|
8
|
+
import type { ConstructBaseInput, TxHash, Address, FetcherFunction, ExtraFetchParams } from '../types';
|
|
9
|
+
import type { EthersProviderDeps, MinViemClient } from '../helpers';
|
|
10
|
+
import type Web3 from 'web3';
|
|
11
|
+
import type { SwapSDKMethods } from '../methods/swap';
|
|
12
|
+
import { BuildLimitOrderFunctions } from '../methods/limitOrders/buildOrder';
|
|
13
|
+
import { PostLimitOrderFunctions } from '../methods/limitOrders/postOrder';
|
|
14
|
+
import { GetLimitOrdersFunctions } from '../methods/limitOrders/getOrders';
|
|
15
|
+
import { GetLimitOrdersContractFunctions } from '../methods/limitOrders/getOrdersContract';
|
|
16
|
+
import { BuildLimitOrdersTxFunctions } from '../methods/limitOrders/transaction';
|
|
17
|
+
import { LimitOrderHandlers } from '../methods/limitOrders';
|
|
18
|
+
import { GetNFTOrdersContractFunctions } from '../methods/nftOrders/getOrdersContract';
|
|
19
|
+
import { GetNFTOrdersFunctions } from '../methods/nftOrders/getOrders';
|
|
20
|
+
import { BuildNFTOrderFunctions } from '../methods/nftOrders/buildOrder';
|
|
21
|
+
import { PostNFTOrderFunctions } from '../methods/nftOrders/postOrder';
|
|
22
|
+
import { BuildNFTOrdersTxFunctions } from '../methods/nftOrders/transaction';
|
|
23
|
+
import { NFTOrderHandlers } from '../methods/nftOrders';
|
|
24
|
+
import type { AxiosRequirement } from '../helpers/fetchers/axios';
|
|
25
|
+
import { DeltaOrderHandlers } from '../methods/delta';
|
|
26
|
+
import { BuildDeltaOrderFunctions } from '../methods/delta/buildDeltaOrder';
|
|
27
|
+
import { GetDeltaOrdersFunctions } from '../methods/delta/getDeltaOrders';
|
|
28
|
+
import { GetDeltaPriceFunctions } from '../methods/delta/getDeltaPrice';
|
|
29
|
+
import { GetDeltaContractFunctions } from '../methods/delta/getDeltaContract';
|
|
30
|
+
import { GetPartnerFeeFunctions } from '../methods/delta/getPartnerFee';
|
|
31
|
+
import { PostDeltaOrderFunctions } from '../methods/delta/postDeltaOrder';
|
|
32
|
+
import { GetQuoteFunctions } from '../methods/quote/getQuote';
|
|
33
|
+
import { GetBridgeInfoFunctions } from '../methods/delta/getBridgeInfo';
|
|
34
|
+
import { GetMulticallHandlersFunctions } from '../methods/delta/getMulticallHandlers';
|
|
35
|
+
import { IsTokenSupportedInDeltaFunctions } from '../methods/delta/isTokenSupportedInDelta';
|
|
36
|
+
import { BuildCrosschainOrderBridgeFunctions } from '../methods/delta/buildCrosschainOrderBridge';
|
|
37
|
+
export type SwapFetchMethods = GetBalancesFunctions & GetTokensFunctions & GetSpenderFunctions & BuildTxFunctions & GetAdaptersFunctions & GetRateFunctions & GetSwapTxFunctions;
|
|
38
|
+
export type LimitOrdersFetchMethods = GetLimitOrdersContractFunctions & GetLimitOrdersFunctions & BuildLimitOrderFunctions & PostLimitOrderFunctions & BuildLimitOrdersTxFunctions;
|
|
39
|
+
export type NFTOrdersFetchMethods = GetNFTOrdersContractFunctions & GetNFTOrdersFunctions & BuildNFTOrderFunctions & PostNFTOrderFunctions & BuildNFTOrdersTxFunctions;
|
|
40
|
+
export type DeltaFetchMethods = BuildDeltaOrderFunctions & BuildCrosschainOrderBridgeFunctions & GetDeltaOrdersFunctions & GetDeltaPriceFunctions & GetDeltaContractFunctions & GetPartnerFeeFunctions & GetMulticallHandlersFunctions & GetBridgeInfoFunctions & IsTokenSupportedInDeltaFunctions & PostDeltaOrderFunctions;
|
|
41
|
+
export type SimpleFetchSDK = {
|
|
42
|
+
swap: SwapFetchMethods;
|
|
43
|
+
limitOrders: LimitOrdersFetchMethods;
|
|
44
|
+
nftOrders: NFTOrdersFetchMethods;
|
|
45
|
+
delta: DeltaFetchMethods;
|
|
46
|
+
quote: QuoteFetchMethods;
|
|
47
|
+
} & Required<ConstructBaseInput>;
|
|
48
|
+
export type QuoteFetchMethods = GetQuoteFunctions;
|
|
49
|
+
export type SimpleSDK = {
|
|
50
|
+
swap: SwapSDKMethods<TxHash>;
|
|
51
|
+
limitOrders: LimitOrderHandlers<TxHash>;
|
|
52
|
+
nftOrders: NFTOrderHandlers<TxHash>;
|
|
53
|
+
delta: DeltaOrderHandlers<TxHash>;
|
|
54
|
+
quote: QuoteFetchMethods;
|
|
55
|
+
} & Required<ConstructBaseInput>;
|
|
56
|
+
export type FetcherOptions = ({
|
|
57
|
+
axios: AxiosRequirement;
|
|
58
|
+
} | {
|
|
59
|
+
fetch: typeof fetch;
|
|
60
|
+
} | {
|
|
61
|
+
fetcher: FetcherFunction;
|
|
62
|
+
}) & ExtraFetchParams;
|
|
63
|
+
type SimpleOptions = ConstructBaseInput & FetcherOptions;
|
|
64
|
+
export type ProviderOptions = (EthersProviderDeps | {
|
|
65
|
+
web3: Web3;
|
|
66
|
+
} | {
|
|
67
|
+
viemClient: MinViemClient;
|
|
68
|
+
}) & {
|
|
69
|
+
account: Address;
|
|
70
|
+
};
|
|
71
|
+
/** @description construct SDK with methods that fetch from API and optionally with blockchain provider calling methods */
|
|
72
|
+
export declare function constructSimpleSDK(options: SimpleOptions): SimpleFetchSDK;
|
|
73
|
+
export declare function constructSimpleSDK(options: SimpleOptions, providerOptions: ProviderOptions): SimpleSDK;
|
|
74
|
+
export {};
|
|
75
|
+
//# sourceMappingURL=simple.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple.d.ts","sourceRoot":"","sources":["../../src/sdk/simple.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EAErB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,oBAAoB,EAErB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAoB,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EACL,mBAAmB,EAEpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAsB,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EACL,gBAAgB,EAEjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAmB,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAW7E,OAAO,KAAK,EACV,kBAAkB,EAIlB,MAAM,EACN,OAAO,EACP,eAAe,EACf,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EACL,wBAAwB,EAEzB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAEL,uBAAuB,EACxB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAEL,uBAAuB,EACxB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAEL,+BAA+B,EAChC,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAEL,2BAA2B,EAC5B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAEL,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAEL,6BAA6B,EAC9B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAEL,qBAAqB,EACtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,sBAAsB,EAEvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,qBAAqB,EACtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAEL,yBAAyB,EAC1B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAEL,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAEL,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,wBAAwB,EAEzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAEL,uBAAuB,EACxB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,sBAAsB,EACvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAEL,yBAAyB,EAC1B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAEL,sBAAsB,EACvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAEL,uBAAuB,EACxB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,sBAAsB,EACvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAEL,6BAA6B,EAC9B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAEL,gCAAgC,EACjC,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,mCAAmC,EAEpC,MAAM,6CAA6C,CAAC;AAErD,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GACjD,kBAAkB,GAClB,mBAAmB,GACnB,gBAAgB,GAChB,oBAAoB,GACpB,gBAAgB,GAChB,kBAAkB,CAAC;AAErB,MAAM,MAAM,uBAAuB,GAAG,+BAA+B,GACnE,uBAAuB,GACvB,wBAAwB,GACxB,uBAAuB,GACvB,2BAA2B,CAAC;AAE9B,MAAM,MAAM,qBAAqB,GAAG,6BAA6B,GAC/D,qBAAqB,GACrB,sBAAsB,GACtB,qBAAqB,GACrB,yBAAyB,CAAC;AAE5B,MAAM,MAAM,iBAAiB,GAAG,wBAAwB,GACtD,mCAAmC,GACnC,uBAAuB,GACvB,sBAAsB,GACtB,yBAAyB,GACzB,sBAAsB,GACtB,6BAA6B,GAC7B,sBAAsB,GACtB,gCAAgC,GAChC,uBAAuB,CAAC;AAE1B,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,gBAAgB,CAAC;IACvB,WAAW,EAAE,uBAAuB,CAAC;IACrC,SAAS,EAAE,qBAAqB,CAAC;IACjC,KAAK,EAAE,iBAAiB,CAAC;IACzB,KAAK,EAAE,iBAAiB,CAAC;CAC1B,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AAEjC,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAElD,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAC7B,WAAW,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACxC,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACpC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAClC,KAAK,EAAE,iBAAiB,CAAC;CAC1B,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AAEjC,MAAM,MAAM,cAAc,GAAG,CACzB;IACE,KAAK,EAAE,gBAAgB,CAAC;CACzB,GACD;IAAE,KAAK,EAAE,OAAO,KAAK,CAAA;CAAE,GACvB;IAAE,OAAO,EAAE,eAAe,CAAA;CAAE,CAC/B,GACC,gBAAgB,CAAC;AAEnB,KAAK,aAAa,GAAG,kBAAkB,GAAG,cAAc,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG,CAC1B,kBAAkB,GAClB;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GACd;IAAE,UAAU,EAAE,aAAa,CAAA;CAAE,CAChC,GAAG;IACF,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAuBF,0HAA0H;AAC1H,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,aAAa,GAAG,cAAc,CAAC;AAE3E,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,aAAa,EACtB,eAAe,EAAE,eAAe,GAC/B,SAAS,CAAC"}
|