@funkit/api-base 0.0.1
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/.eslintignore +5 -0
- package/README.md +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/src/consts/api.d.ts +1 -0
- package/dist/src/consts/api.js +12 -0
- package/dist/src/consts/api.js.map +1 -0
- package/dist/src/consts/index.d.ts +3 -0
- package/dist/src/consts/index.js +20 -0
- package/dist/src/consts/index.js.map +1 -0
- package/dist/src/consts/request.d.ts +13 -0
- package/dist/src/consts/request.js +3 -0
- package/dist/src/consts/request.js.map +1 -0
- package/dist/src/consts/retry.d.ts +4 -0
- package/dist/src/consts/retry.js +19 -0
- package/dist/src/consts/retry.js.map +1 -0
- package/dist/src/errors/BaseError.d.ts +9 -0
- package/dist/src/errors/BaseError.js +24 -0
- package/dist/src/errors/BaseError.js.map +1 -0
- package/dist/src/errors/ClientError.d.ts +22 -0
- package/dist/src/errors/ClientError.js +76 -0
- package/dist/src/errors/ClientError.js.map +1 -0
- package/dist/src/errors/ServerError.d.ts +7 -0
- package/dist/src/errors/ServerError.js +18 -0
- package/dist/src/errors/ServerError.js.map +1 -0
- package/dist/src/errors/errors.json +626 -0
- package/dist/src/errors/index.d.ts +4 -0
- package/dist/src/errors/index.js +21 -0
- package/dist/src/errors/index.js.map +1 -0
- package/dist/src/errors/types.d.ts +60 -0
- package/dist/src/errors/types.js +51 -0
- package/dist/src/errors/types.js.map +1 -0
- package/dist/src/services/assets/endpoints.d.ts +50 -0
- package/dist/src/services/assets/endpoints.js +95 -0
- package/dist/src/services/assets/endpoints.js.map +1 -0
- package/dist/src/services/assets/index.d.ts +2 -0
- package/dist/src/services/assets/index.js +19 -0
- package/dist/src/services/assets/index.js.map +1 -0
- package/dist/src/services/assets/types.d.ts +65 -0
- package/dist/src/services/assets/types.js +3 -0
- package/dist/src/services/assets/types.js.map +1 -0
- package/dist/src/services/checkout/endpoints.d.ts +55 -0
- package/dist/src/services/checkout/endpoints.js +169 -0
- package/dist/src/services/checkout/endpoints.js.map +1 -0
- package/dist/src/services/checkout/index.d.ts +2 -0
- package/dist/src/services/checkout/index.js +19 -0
- package/dist/src/services/checkout/index.js.map +1 -0
- package/dist/src/services/checkout/types.d.ts +106 -0
- package/dist/src/services/checkout/types.js +21 -0
- package/dist/src/services/checkout/types.js.map +1 -0
- package/dist/src/services/index.d.ts +4 -0
- package/dist/src/services/index.js +21 -0
- package/dist/src/services/index.js.map +1 -0
- package/dist/src/services/mesh/endpoints.d.ts +45 -0
- package/dist/src/services/mesh/endpoints.js +129 -0
- package/dist/src/services/mesh/endpoints.js.map +1 -0
- package/dist/src/services/mesh/index.d.ts +2 -0
- package/dist/src/services/mesh/index.js +19 -0
- package/dist/src/services/mesh/index.js.map +1 -0
- package/dist/src/services/mesh/types.d.ts +56 -0
- package/dist/src/services/mesh/types.js +3 -0
- package/dist/src/services/mesh/types.js.map +1 -0
- package/dist/src/services/moonpay/endpoints.d.ts +3 -0
- package/dist/src/services/moonpay/endpoints.js +43 -0
- package/dist/src/services/moonpay/endpoints.js.map +1 -0
- package/dist/src/services/moonpay/index.d.ts +2 -0
- package/dist/src/services/moonpay/index.js +19 -0
- package/dist/src/services/moonpay/index.js.map +1 -0
- package/dist/src/services/moonpay/types.d.ts +14 -0
- package/dist/src/services/moonpay/types.js +3 -0
- package/dist/src/services/moonpay/types.js.map +1 -0
- package/dist/src/utils/checkout.d.ts +2 -0
- package/dist/src/utils/checkout.js +20 -0
- package/dist/src/utils/checkout.js.map +1 -0
- package/dist/src/utils/error.d.ts +1 -0
- package/dist/src/utils/error.js +13 -0
- package/dist/src/utils/error.js.map +1 -0
- package/dist/src/utils/index.d.ts +3 -0
- package/dist/src/utils/index.js +20 -0
- package/dist/src/utils/index.js.map +1 -0
- package/dist/src/utils/request.d.ts +7 -0
- package/dist/src/utils/request.js +128 -0
- package/dist/src/utils/request.js.map +1 -0
- package/dist/test/services/assets.test.d.ts +1 -0
- package/dist/test/services/assets.test.js +37 -0
- package/dist/test/services/assets.test.js.map +1 -0
- package/dist/test/services/checkout.test.d.ts +1 -0
- package/dist/test/services/checkout.test.js +42 -0
- package/dist/test/services/checkout.test.js.map +1 -0
- package/dist/test/services/mesh.test.d.ts +1 -0
- package/dist/test/services/mesh.test.js +12 -0
- package/dist/test/services/mesh.test.js.map +1 -0
- package/dist/test/services/moonpay.test.d.ts +1 -0
- package/dist/test/services/moonpay.test.js +25 -0
- package/dist/test/services/moonpay.test.js.map +1 -0
- package/dist/test/setup.d.ts +0 -0
- package/dist/test/setup.js +10 -0
- package/dist/test/setup.js.map +1 -0
- package/index.ts +4 -0
- package/package.json +37 -0
- package/src/consts/api.ts +9 -0
- package/src/consts/index.ts +3 -0
- package/src/consts/request.ts +16 -0
- package/src/consts/retry.ts +21 -0
- package/src/errors/BaseError.ts +28 -0
- package/src/errors/ClientError.ts +175 -0
- package/src/errors/ServerError.ts +43 -0
- package/src/errors/errors.json +626 -0
- package/src/errors/index.ts +4 -0
- package/src/errors/types.ts +64 -0
- package/src/services/assets/endpoints.ts +131 -0
- package/src/services/assets/index.ts +2 -0
- package/src/services/assets/types.ts +80 -0
- package/src/services/checkout/endpoints.ts +233 -0
- package/src/services/checkout/index.ts +2 -0
- package/src/services/checkout/types.ts +130 -0
- package/src/services/index.ts +4 -0
- package/src/services/mesh/endpoints.ts +164 -0
- package/src/services/mesh/index.ts +2 -0
- package/src/services/mesh/types.ts +63 -0
- package/src/services/moonpay/endpoints.ts +62 -0
- package/src/services/moonpay/index.ts +2 -0
- package/src/services/moonpay/types.ts +15 -0
- package/src/utils/checkout.ts +17 -0
- package/src/utils/error.ts +15 -0
- package/src/utils/index.ts +3 -0
- package/src/utils/request.ts +198 -0
- package/test/services/assets.test.ts +41 -0
- package/test/services/checkout.test.ts +53 -0
- package/test/services/mesh.test.ts +10 -0
- package/test/services/moonpay.test.ts +24 -0
- package/test/setup.ts +9 -0
- package/tsconfig.json +33 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**===============*
|
|
2
|
+
* CHECKOUT QUOTE *
|
|
3
|
+
*================*/
|
|
4
|
+
import { Address, Hex } from 'viem';
|
|
5
|
+
type UserOperation = any;
|
|
6
|
+
export type CheckoutApiQuoteParams = {
|
|
7
|
+
fromChainId: string;
|
|
8
|
+
fromTokenAddress: Address;
|
|
9
|
+
toChainId: string;
|
|
10
|
+
toTokenAddress: Address;
|
|
11
|
+
toAmountBaseUnit: string;
|
|
12
|
+
checkoutExpirationTimestampSeconds: string;
|
|
13
|
+
sponsorInitialTransferGasLimit: string;
|
|
14
|
+
refuel: string;
|
|
15
|
+
recipientAddr?: Address;
|
|
16
|
+
};
|
|
17
|
+
export type CheckoutQuoteParams = Omit<CheckoutApiQuoteParams, 'toAmountBaseUnit' | 'checkoutExpirationTimestampSeconds' | 'refuel'> & {
|
|
18
|
+
fromTokenDecimals: number;
|
|
19
|
+
toTokenDecimals: number;
|
|
20
|
+
toTokenAmount: number;
|
|
21
|
+
expirationTimestampMs: number;
|
|
22
|
+
needsRefuel: boolean;
|
|
23
|
+
apiKey: string;
|
|
24
|
+
};
|
|
25
|
+
export type CheckoutApiQuoteResponse = {
|
|
26
|
+
quoteId: string;
|
|
27
|
+
estTotalFromAmountBaseUnit: string;
|
|
28
|
+
estSubtotalFromAmountBaseUnit: string;
|
|
29
|
+
estFeesFromAmountBaseUnit: string;
|
|
30
|
+
fromTokenAddress: Address;
|
|
31
|
+
estFeesUsd: number;
|
|
32
|
+
estSubtotalUsd: number;
|
|
33
|
+
estTotalUsd: number;
|
|
34
|
+
estCheckoutTimeMs: number;
|
|
35
|
+
};
|
|
36
|
+
export type CheckoutQuoteResponse = CheckoutApiQuoteResponse & {
|
|
37
|
+
estTotalFromAmount: string;
|
|
38
|
+
estSubtotalFromAmount: string;
|
|
39
|
+
estFeesFromAmount: string;
|
|
40
|
+
};
|
|
41
|
+
/**===============*
|
|
42
|
+
* CHECKOUT INIT *
|
|
43
|
+
*================*/
|
|
44
|
+
export type CheckoutApiInitParams = {
|
|
45
|
+
userOp?: UserOperation;
|
|
46
|
+
quoteId: string;
|
|
47
|
+
sourceOfFund: string;
|
|
48
|
+
salt: bigint;
|
|
49
|
+
clientMetadata: object;
|
|
50
|
+
};
|
|
51
|
+
export type CheckoutInitParams = Omit<CheckoutApiInitParams, 'salt'> & {
|
|
52
|
+
apiKey: string;
|
|
53
|
+
};
|
|
54
|
+
export type CheckoutInitResponse = Address;
|
|
55
|
+
export declare enum CheckoutState {
|
|
56
|
+
FROM_UNFUNDED = "FROM_UNFUNDED",
|
|
57
|
+
FROM_FUNDED = "FROM_FUNDED",
|
|
58
|
+
FROM_POOLED = "FROM_POOLED",
|
|
59
|
+
TO_UNFUNDED = "TO_UNFUNDED",
|
|
60
|
+
TO_FUNDED = "TO_FUNDED",
|
|
61
|
+
TO_POOLED = "TO_POOLED",
|
|
62
|
+
TO_READY = "TO_READY",
|
|
63
|
+
PENDING_RECEIVAL = "PENDING_RECEIVAL",
|
|
64
|
+
COMPLETED = "COMPLETED",
|
|
65
|
+
CHECKOUT_ERROR = "CHECKOUT_ERROR",
|
|
66
|
+
EXPIRED = "EXPIRED"
|
|
67
|
+
}
|
|
68
|
+
export type CheckoutHistoryItem = {
|
|
69
|
+
createdTimeMs: number;
|
|
70
|
+
depositAddr: Address;
|
|
71
|
+
currentDepositAddr: Address;
|
|
72
|
+
recipientAddr: Address;
|
|
73
|
+
expirationTimestampSeconds: number;
|
|
74
|
+
fromAmountBaseUnit: string;
|
|
75
|
+
fromChainId: string;
|
|
76
|
+
fromTokenAddress: Address;
|
|
77
|
+
funWalletAddr: Address;
|
|
78
|
+
lastUpdatedTimeMs: number;
|
|
79
|
+
salt: Hex;
|
|
80
|
+
state: CheckoutState;
|
|
81
|
+
toAmountBaseUnit: string;
|
|
82
|
+
toChainId: string;
|
|
83
|
+
toTokenAddress: Address;
|
|
84
|
+
userOp: UserOperation;
|
|
85
|
+
version: number;
|
|
86
|
+
clientMetadata: object;
|
|
87
|
+
};
|
|
88
|
+
/**===============================*
|
|
89
|
+
* CHECKOUT TRANSFER SPONSORSHIP *
|
|
90
|
+
*================================*/
|
|
91
|
+
export type CheckoutTransferSponsorshipParams = {
|
|
92
|
+
transferUserOp: UserOperation;
|
|
93
|
+
depositAddress: Address;
|
|
94
|
+
apiKey: string;
|
|
95
|
+
};
|
|
96
|
+
export type CheckoutTransferSponsorshipApiParams = {
|
|
97
|
+
userOp: UserOperation;
|
|
98
|
+
depositAddress: Address;
|
|
99
|
+
};
|
|
100
|
+
export type CheckoutTransferSponsorshipResponse = {
|
|
101
|
+
signerAddress: Address;
|
|
102
|
+
signature: Hex;
|
|
103
|
+
deadline: number;
|
|
104
|
+
paymasterAndData: Hex;
|
|
105
|
+
};
|
|
106
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CheckoutState = void 0;
|
|
4
|
+
// Reference from api server: https://github.com/fun-xyz/fun-api-server/blob/main/src/tables/FunWalletCheckout.ts#L11C1-L21C2
|
|
5
|
+
var CheckoutState;
|
|
6
|
+
(function (CheckoutState) {
|
|
7
|
+
// In-progress States
|
|
8
|
+
CheckoutState["FROM_UNFUNDED"] = "FROM_UNFUNDED";
|
|
9
|
+
CheckoutState["FROM_FUNDED"] = "FROM_FUNDED";
|
|
10
|
+
CheckoutState["FROM_POOLED"] = "FROM_POOLED";
|
|
11
|
+
CheckoutState["TO_UNFUNDED"] = "TO_UNFUNDED";
|
|
12
|
+
CheckoutState["TO_FUNDED"] = "TO_FUNDED";
|
|
13
|
+
CheckoutState["TO_POOLED"] = "TO_POOLED";
|
|
14
|
+
CheckoutState["TO_READY"] = "TO_READY";
|
|
15
|
+
CheckoutState["PENDING_RECEIVAL"] = "PENDING_RECEIVAL";
|
|
16
|
+
// Terminal States
|
|
17
|
+
CheckoutState["COMPLETED"] = "COMPLETED";
|
|
18
|
+
CheckoutState["CHECKOUT_ERROR"] = "CHECKOUT_ERROR";
|
|
19
|
+
CheckoutState["EXPIRED"] = "EXPIRED";
|
|
20
|
+
})(CheckoutState || (exports.CheckoutState = CheckoutState = {}));
|
|
21
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/services/checkout/types.ts"],"names":[],"mappings":";;;AAuEA,6HAA6H;AAC7H,IAAY,aAcX;AAdD,WAAY,aAAa;IACvB,qBAAqB;IACrB,gDAA+B,CAAA;IAC/B,4CAA2B,CAAA;IAC3B,4CAA2B,CAAA;IAC3B,4CAA2B,CAAA;IAC3B,wCAAuB,CAAA;IACvB,wCAAuB,CAAA;IACvB,sCAAqB,CAAA;IACrB,sDAAqC,CAAA;IACrC,kBAAkB;IAClB,wCAAuB,CAAA;IACvB,kDAAiC,CAAA;IACjC,oCAAmB,CAAA;AACrB,CAAC,EAdW,aAAa,6BAAb,aAAa,QAcxB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./assets"), exports);
|
|
18
|
+
__exportStar(require("./checkout"), exports);
|
|
19
|
+
__exportStar(require("./mesh"), exports);
|
|
20
|
+
__exportStar(require("./moonpay"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,6CAA0B;AAC1B,yCAAsB;AACtB,4CAAyB"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ExecuteTransferRequest, GetCryptocurrencyHoldingsRequest, GetLinkTokenRequest, GetLinkTokenResponse, GetTransferIntegrationsRequest, GetTransferIntegrationsResponse, PreviewTransferRequest } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* @param authToken The authentication token to send the asset from.
|
|
4
|
+
* @param type The type of the integration to send the asset from.
|
|
5
|
+
* @return https://docs.meshconnect.com/reference/post_api-v1-holdings-get
|
|
6
|
+
*/
|
|
7
|
+
export declare function meshGetCryptocurrencyHoldings({ authToken, type, apiKey, }: GetCryptocurrencyHoldingsRequest): Promise<any>;
|
|
8
|
+
/**
|
|
9
|
+
* @return https://docs.meshconnect.com/reference/get_api-v1-transfers-managed-integrations
|
|
10
|
+
*/
|
|
11
|
+
export declare function meshGetTransferIntegrations({ apiKey, }: GetTransferIntegrationsRequest): Promise<GetTransferIntegrationsResponse>;
|
|
12
|
+
/**
|
|
13
|
+
* @param userId A unique Id representing the end user. Typically this will be a user Id from the
|
|
14
|
+
client application. Personally identifiable information, such as an email address or phone number,
|
|
15
|
+
should not be used. 50 characters length maximum.
|
|
16
|
+
* @param integrationId A unique identifier representing a specific integration obtained from the list of available integrations.
|
|
17
|
+
* @param restrictMultipleAccounts The final screen of Link allows users to “continue” back to your app or “Link another account.”
|
|
18
|
+
If this param is present then this button will be hidden.
|
|
19
|
+
* @param transferOptions Encapsulates transaction-related parameters, including destination addresses and the amount to transfer in fiat currency.
|
|
20
|
+
* @return https://docs.meshconnect.com/reference/post_api-v1-linktoken
|
|
21
|
+
*/
|
|
22
|
+
export declare function meshGetLinkToken({ userId, integrationId, restrictMultipleAccounts, transferOptions, apiKey, }: GetLinkTokenRequest): Promise<GetLinkTokenResponse>;
|
|
23
|
+
/**
|
|
24
|
+
* @param fromAuthToken The authentication token to send the asset from.
|
|
25
|
+
* @param fromType The type of the integration to send the asset from.
|
|
26
|
+
* @param toAuthToken The authentication token of the target integration. Can be used alternatively to the address in the ToAddress field. If used, toType should also be provided.
|
|
27
|
+
* @param toType The type of the target integration to send assets to. Used along with the toAuthToken alternatively to ToAddress.
|
|
28
|
+
* @param networkId The network to send the asset over. This is generated by Mesh, it isn't a chainId or chain name.
|
|
29
|
+
* @param symbol The symbol of the digital asset to send.
|
|
30
|
+
* @param toAddress The target address to send the asset to.
|
|
31
|
+
* @param amount The amount to send, in crypto.
|
|
32
|
+
* @param amountInFiat The amount to send, in fiat currency. Can be used alternatively to Amount.
|
|
33
|
+
* @param fiatCurrency Fiat currency that is to get corresponding converted fiat values of transfer and fee amounts. If not provided, defaults to USD.
|
|
34
|
+
* @returns https://docs.meshconnect.com/reference/post_api-v1-transfers-managed-preview
|
|
35
|
+
*/
|
|
36
|
+
export declare function meshPreviewTransfer({ fromAuthToken, fromType, toAuthToken, toType, networkId, symbol, toAddress, amount, amountInFiat, fiatCurrency, apiKey, }: PreviewTransferRequest): Promise<any>;
|
|
37
|
+
/**
|
|
38
|
+
*
|
|
39
|
+
* @param fromAuthToken The authentication token to send the asset from.
|
|
40
|
+
* @param fromType The type of the integration to send the asset from.
|
|
41
|
+
* @param previewId The preview ID of the transfer to execute.
|
|
42
|
+
* @param mfaCode Multi-factor auth code that should be provided if the status of the transfer was MfaRequired.
|
|
43
|
+
* @returns https://docs.meshconnect.com/reference/post_api-v1-transfers-managed-execute
|
|
44
|
+
*/
|
|
45
|
+
export declare function meshExecuteTransfer({ fromAuthToken, fromType, previewId, mfaCode, apiKey, }: ExecuteTransferRequest): Promise<any>;
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.meshExecuteTransfer = exports.meshPreviewTransfer = exports.meshGetLinkToken = exports.meshGetTransferIntegrations = exports.meshGetCryptocurrencyHoldings = void 0;
|
|
4
|
+
const consts_1 = require("../../consts");
|
|
5
|
+
const utils_1 = require("../../utils");
|
|
6
|
+
/**
|
|
7
|
+
* @param authToken The authentication token to send the asset from.
|
|
8
|
+
* @param type The type of the integration to send the asset from.
|
|
9
|
+
* @return https://docs.meshconnect.com/reference/post_api-v1-holdings-get
|
|
10
|
+
*/
|
|
11
|
+
async function meshGetCryptocurrencyHoldings({ authToken, type, apiKey, }) {
|
|
12
|
+
const res = await (0, utils_1.sendPostRequest)({
|
|
13
|
+
uri: `${consts_1.API_BASE_URL}/mesh/holdings/get`,
|
|
14
|
+
body: { authToken, type },
|
|
15
|
+
apiKey,
|
|
16
|
+
});
|
|
17
|
+
return res;
|
|
18
|
+
}
|
|
19
|
+
exports.meshGetCryptocurrencyHoldings = meshGetCryptocurrencyHoldings;
|
|
20
|
+
/**
|
|
21
|
+
* @return https://docs.meshconnect.com/reference/get_api-v1-transfers-managed-integrations
|
|
22
|
+
*/
|
|
23
|
+
async function meshGetTransferIntegrations({ apiKey, }) {
|
|
24
|
+
const res = await (0, utils_1.sendGetRequest)({
|
|
25
|
+
uri: `${consts_1.API_BASE_URL}/mesh/transfers/managed/integrations`,
|
|
26
|
+
apiKey,
|
|
27
|
+
});
|
|
28
|
+
return res;
|
|
29
|
+
}
|
|
30
|
+
exports.meshGetTransferIntegrations = meshGetTransferIntegrations;
|
|
31
|
+
/**
|
|
32
|
+
* @param userId A unique Id representing the end user. Typically this will be a user Id from the
|
|
33
|
+
client application. Personally identifiable information, such as an email address or phone number,
|
|
34
|
+
should not be used. 50 characters length maximum.
|
|
35
|
+
* @param integrationId A unique identifier representing a specific integration obtained from the list of available integrations.
|
|
36
|
+
* @param restrictMultipleAccounts The final screen of Link allows users to “continue” back to your app or “Link another account.”
|
|
37
|
+
If this param is present then this button will be hidden.
|
|
38
|
+
* @param transferOptions Encapsulates transaction-related parameters, including destination addresses and the amount to transfer in fiat currency.
|
|
39
|
+
* @return https://docs.meshconnect.com/reference/post_api-v1-linktoken
|
|
40
|
+
*/
|
|
41
|
+
async function meshGetLinkToken({ userId, integrationId, restrictMultipleAccounts, transferOptions, apiKey, }) {
|
|
42
|
+
let body = { userId };
|
|
43
|
+
if (integrationId) {
|
|
44
|
+
body = { ...body, integrationId };
|
|
45
|
+
}
|
|
46
|
+
if (restrictMultipleAccounts) {
|
|
47
|
+
body = { ...body, restrictMultipleAccounts };
|
|
48
|
+
}
|
|
49
|
+
if (transferOptions) {
|
|
50
|
+
body = { ...body, transferOptions };
|
|
51
|
+
}
|
|
52
|
+
const res = await (0, utils_1.sendPostRequest)({
|
|
53
|
+
uri: `${consts_1.API_BASE_URL}/mesh/linktoken`,
|
|
54
|
+
body,
|
|
55
|
+
apiKey,
|
|
56
|
+
});
|
|
57
|
+
return res;
|
|
58
|
+
}
|
|
59
|
+
exports.meshGetLinkToken = meshGetLinkToken;
|
|
60
|
+
/**
|
|
61
|
+
* @param fromAuthToken The authentication token to send the asset from.
|
|
62
|
+
* @param fromType The type of the integration to send the asset from.
|
|
63
|
+
* @param toAuthToken The authentication token of the target integration. Can be used alternatively to the address in the ToAddress field. If used, toType should also be provided.
|
|
64
|
+
* @param toType The type of the target integration to send assets to. Used along with the toAuthToken alternatively to ToAddress.
|
|
65
|
+
* @param networkId The network to send the asset over. This is generated by Mesh, it isn't a chainId or chain name.
|
|
66
|
+
* @param symbol The symbol of the digital asset to send.
|
|
67
|
+
* @param toAddress The target address to send the asset to.
|
|
68
|
+
* @param amount The amount to send, in crypto.
|
|
69
|
+
* @param amountInFiat The amount to send, in fiat currency. Can be used alternatively to Amount.
|
|
70
|
+
* @param fiatCurrency Fiat currency that is to get corresponding converted fiat values of transfer and fee amounts. If not provided, defaults to USD.
|
|
71
|
+
* @returns https://docs.meshconnect.com/reference/post_api-v1-transfers-managed-preview
|
|
72
|
+
*/
|
|
73
|
+
async function meshPreviewTransfer({ fromAuthToken, fromType, toAuthToken, toType, networkId, symbol, toAddress, amount, amountInFiat, fiatCurrency, apiKey, }) {
|
|
74
|
+
let body = { fromAuthToken, fromType };
|
|
75
|
+
if (toAuthToken) {
|
|
76
|
+
body = { ...body, toAuthToken };
|
|
77
|
+
}
|
|
78
|
+
if (toType) {
|
|
79
|
+
body = { ...body, toType };
|
|
80
|
+
}
|
|
81
|
+
if (networkId) {
|
|
82
|
+
body = { ...body, networkId };
|
|
83
|
+
}
|
|
84
|
+
if (symbol) {
|
|
85
|
+
body = { ...body, symbol };
|
|
86
|
+
}
|
|
87
|
+
if (toAddress) {
|
|
88
|
+
body = { ...body, toAddress };
|
|
89
|
+
}
|
|
90
|
+
if (amount) {
|
|
91
|
+
body = { ...body, amount };
|
|
92
|
+
}
|
|
93
|
+
if (amountInFiat) {
|
|
94
|
+
body = { ...body, amountInFiat };
|
|
95
|
+
}
|
|
96
|
+
if (fiatCurrency) {
|
|
97
|
+
body = { ...body, fiatCurrency };
|
|
98
|
+
}
|
|
99
|
+
const res = await (0, utils_1.sendPostRequest)({
|
|
100
|
+
uri: `${consts_1.API_BASE_URL}/mesh/transfers/managed/preview`,
|
|
101
|
+
body,
|
|
102
|
+
apiKey,
|
|
103
|
+
retryOptions: { maxAttempts: 1 },
|
|
104
|
+
});
|
|
105
|
+
return res;
|
|
106
|
+
}
|
|
107
|
+
exports.meshPreviewTransfer = meshPreviewTransfer;
|
|
108
|
+
/**
|
|
109
|
+
*
|
|
110
|
+
* @param fromAuthToken The authentication token to send the asset from.
|
|
111
|
+
* @param fromType The type of the integration to send the asset from.
|
|
112
|
+
* @param previewId The preview ID of the transfer to execute.
|
|
113
|
+
* @param mfaCode Multi-factor auth code that should be provided if the status of the transfer was MfaRequired.
|
|
114
|
+
* @returns https://docs.meshconnect.com/reference/post_api-v1-transfers-managed-execute
|
|
115
|
+
*/
|
|
116
|
+
async function meshExecuteTransfer({ fromAuthToken, fromType, previewId, mfaCode, apiKey, }) {
|
|
117
|
+
let body = { fromAuthToken, fromType, previewId };
|
|
118
|
+
if (mfaCode) {
|
|
119
|
+
body = { ...body, mfaCode };
|
|
120
|
+
}
|
|
121
|
+
const res = await (0, utils_1.sendPostRequest)({
|
|
122
|
+
uri: `${consts_1.API_BASE_URL}/mesh/transfers/managed/execute`,
|
|
123
|
+
body,
|
|
124
|
+
apiKey,
|
|
125
|
+
});
|
|
126
|
+
return res;
|
|
127
|
+
}
|
|
128
|
+
exports.meshExecuteTransfer = meshExecuteTransfer;
|
|
129
|
+
//# sourceMappingURL=endpoints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../../../../src/services/mesh/endpoints.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./endpoints"), exports);
|
|
18
|
+
__exportStar(require("./types"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/mesh/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,0CAAuB"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export interface GetCryptocurrencyHoldingsRequest {
|
|
2
|
+
authToken: string;
|
|
3
|
+
type: string;
|
|
4
|
+
apiKey: string;
|
|
5
|
+
}
|
|
6
|
+
export interface GetTransferIntegrationsRequest {
|
|
7
|
+
apiKey: string;
|
|
8
|
+
}
|
|
9
|
+
interface IntegrationNetworkInfo {
|
|
10
|
+
chainId: string;
|
|
11
|
+
id: string;
|
|
12
|
+
logoUrl: string;
|
|
13
|
+
name: string;
|
|
14
|
+
nativeSymbol: string;
|
|
15
|
+
supportedTokens: string[];
|
|
16
|
+
}
|
|
17
|
+
interface TransferIntegration {
|
|
18
|
+
networks: IntegrationNetworkInfo[];
|
|
19
|
+
supportsIncomingTransfers: boolean;
|
|
20
|
+
supportsOutgoingTransfers: boolean;
|
|
21
|
+
type: string;
|
|
22
|
+
}
|
|
23
|
+
export interface GetTransferIntegrationsResponse {
|
|
24
|
+
integrations: TransferIntegration[];
|
|
25
|
+
}
|
|
26
|
+
export interface GetLinkTokenRequest {
|
|
27
|
+
userId: string;
|
|
28
|
+
integrationId?: string | null;
|
|
29
|
+
restrictMultipleAccounts?: boolean;
|
|
30
|
+
transferOptions?: any | null;
|
|
31
|
+
apiKey: string;
|
|
32
|
+
}
|
|
33
|
+
export interface GetLinkTokenResponse {
|
|
34
|
+
linkToken: string;
|
|
35
|
+
}
|
|
36
|
+
export interface PreviewTransferRequest {
|
|
37
|
+
apiKey: string;
|
|
38
|
+
fromAuthToken: string;
|
|
39
|
+
fromType: string;
|
|
40
|
+
toAuthToken?: string | null;
|
|
41
|
+
toType?: string | null;
|
|
42
|
+
networkId?: string;
|
|
43
|
+
symbol?: string | null;
|
|
44
|
+
toAddress?: string | null;
|
|
45
|
+
amount?: string | null;
|
|
46
|
+
amountInFiat?: string | null;
|
|
47
|
+
fiatCurrency?: string | null;
|
|
48
|
+
}
|
|
49
|
+
export interface ExecuteTransferRequest {
|
|
50
|
+
apiKey: string;
|
|
51
|
+
fromAuthToken: string;
|
|
52
|
+
fromType: string;
|
|
53
|
+
previewId: string;
|
|
54
|
+
mfaCode?: string | null;
|
|
55
|
+
}
|
|
56
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/services/mesh/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { GetMoonpayBuyQuoteForCreditCardRequest, GetMoonpayUrlSignatureRequest } from './types';
|
|
2
|
+
export declare function getMoonpayUrlSignature({ url, isSandbox, apiKey, }: GetMoonpayUrlSignatureRequest): Promise<string>;
|
|
3
|
+
export declare function getMoonpayBuyQuoteForCreditCard({ currencyCode, baseCurrencyCode, quoteCurrencyAmount, baseCurrencyAmount, extraFeePercentage, areFeesIncluded, apiKey, }: GetMoonpayBuyQuoteForCreditCardRequest): Promise<any>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMoonpayBuyQuoteForCreditCard = exports.getMoonpayUrlSignature = void 0;
|
|
4
|
+
const consts_1 = require("../../consts");
|
|
5
|
+
const errors_1 = require("../../errors");
|
|
6
|
+
const utils_1 = require("../../utils");
|
|
7
|
+
async function getMoonpayUrlSignature({ url, isSandbox, apiKey, }) {
|
|
8
|
+
const signature = await (0, utils_1.sendPostRequest)({
|
|
9
|
+
uri: `${consts_1.API_BASE_URL}/on-ramp/moonpay-signature/`,
|
|
10
|
+
body: { url, isSandbox },
|
|
11
|
+
apiKey,
|
|
12
|
+
});
|
|
13
|
+
if (!signature || !signature?.url) {
|
|
14
|
+
throw new errors_1.InternalFailureError(errors_1.ErrorCode.UnknownServerError, 'No onramp url found.', { url }, 'This is an internal error, please contact support.', 'https://docs.fun.xyz');
|
|
15
|
+
}
|
|
16
|
+
return signature.url;
|
|
17
|
+
}
|
|
18
|
+
exports.getMoonpayUrlSignature = getMoonpayUrlSignature;
|
|
19
|
+
async function getMoonpayBuyQuoteForCreditCard({ currencyCode, baseCurrencyCode, quoteCurrencyAmount, baseCurrencyAmount, extraFeePercentage, areFeesIncluded, apiKey, }) {
|
|
20
|
+
const params = new URLSearchParams({
|
|
21
|
+
currencyCode,
|
|
22
|
+
baseCurrencyCode,
|
|
23
|
+
quoteCurrencyAmount,
|
|
24
|
+
paymentMethod: 'credit_debit_card',
|
|
25
|
+
...(baseCurrencyAmount == null
|
|
26
|
+
? {}
|
|
27
|
+
: { baseCurrencyAmount: baseCurrencyAmount.toString() }),
|
|
28
|
+
...(extraFeePercentage == null
|
|
29
|
+
? {}
|
|
30
|
+
: { extraFeePercentage: extraFeePercentage.toString() }),
|
|
31
|
+
...(areFeesIncluded == null
|
|
32
|
+
? {}
|
|
33
|
+
: { areFeesIncluded: areFeesIncluded.toString() }),
|
|
34
|
+
}).toString();
|
|
35
|
+
const res = await (0, utils_1.sendGetRequest)({
|
|
36
|
+
uri: `${consts_1.API_BASE_URL}/on-ramp/moonpay-buy-quote?${params}`,
|
|
37
|
+
apiKey,
|
|
38
|
+
retryOptions: { maxAttempts: 1 },
|
|
39
|
+
});
|
|
40
|
+
return res;
|
|
41
|
+
}
|
|
42
|
+
exports.getMoonpayBuyQuoteForCreditCard = getMoonpayBuyQuoteForCreditCard;
|
|
43
|
+
//# sourceMappingURL=endpoints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../../../../src/services/moonpay/endpoints.ts"],"names":[],"mappings":";;;AAAA,yCAA2C;AAC3C,yCAA8D;AAC9D,uCAA6D;AAMtD,KAAK,UAAU,sBAAsB,CAAC,EAC3C,GAAG,EACH,SAAS,EACT,MAAM,GACwB;IAC9B,MAAM,SAAS,GAAG,MAAM,IAAA,uBAAe,EAAC;QACtC,GAAG,EAAE,GAAG,qBAAY,6BAA6B;QACjD,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE;QACxB,MAAM;KACP,CAAC,CAAA;IACF,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC;QAClC,MAAM,IAAI,6BAAoB,CAC5B,kBAAS,CAAC,kBAAkB,EAC5B,sBAAsB,EACtB,EAAE,GAAG,EAAE,EACP,oDAAoD,EACpD,sBAAsB,CACvB,CAAA;IACH,CAAC;IACD,OAAO,SAAS,CAAC,GAAG,CAAA;AACtB,CAAC;AApBD,wDAoBC;AAEM,KAAK,UAAU,+BAA+B,CAAC,EACpD,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,MAAM,GACiC;IACvC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QACjC,YAAY;QACZ,gBAAgB;QAChB,mBAAmB;QACnB,aAAa,EAAE,mBAAmB;QAClC,GAAG,CAAC,kBAAkB,IAAI,IAAI;YAC5B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC1D,GAAG,CAAC,kBAAkB,IAAI,IAAI;YAC5B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC1D,GAAG,CAAC,eAAe,IAAI,IAAI;YACzB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,eAAe,EAAE,eAAe,CAAC,QAAQ,EAAE,EAAE,CAAC;KACrD,CAAC,CAAC,QAAQ,EAAE,CAAA;IAEb,MAAM,GAAG,GAAG,MAAM,IAAA,sBAAc,EAAC;QAC/B,GAAG,EAAE,GAAG,qBAAY,8BAA8B,MAAM,EAAE;QAC1D,MAAM;QACN,YAAY,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE;KACjC,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;AACZ,CAAC;AA/BD,0EA+BC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./endpoints"), exports);
|
|
18
|
+
__exportStar(require("./types"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/moonpay/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,0CAAuB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface GetMoonpayUrlSignatureRequest {
|
|
2
|
+
apiKey: string;
|
|
3
|
+
url: string;
|
|
4
|
+
isSandbox?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface GetMoonpayBuyQuoteForCreditCardRequest {
|
|
7
|
+
apiKey: string;
|
|
8
|
+
currencyCode: string;
|
|
9
|
+
baseCurrencyCode: string;
|
|
10
|
+
quoteCurrencyAmount: string;
|
|
11
|
+
baseCurrencyAmount?: number;
|
|
12
|
+
extraFeePercentage?: number;
|
|
13
|
+
areFeesIncluded?: boolean;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/services/moonpay/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.roundToNearestBottomTenth = exports.generateRandomCheckoutSalt = void 0;
|
|
4
|
+
const viem_1 = require("viem");
|
|
5
|
+
const randomBytes = (length) => {
|
|
6
|
+
const bytes = new Uint8Array(length);
|
|
7
|
+
for (let i = 0; i < length; i++) {
|
|
8
|
+
bytes[i] = Math.floor(Math.random() * 256);
|
|
9
|
+
}
|
|
10
|
+
return (0, viem_1.toHex)(bytes);
|
|
11
|
+
};
|
|
12
|
+
function generateRandomCheckoutSalt() {
|
|
13
|
+
return BigInt(randomBytes(32));
|
|
14
|
+
}
|
|
15
|
+
exports.generateRandomCheckoutSalt = generateRandomCheckoutSalt;
|
|
16
|
+
function roundToNearestBottomTenth(n) {
|
|
17
|
+
return Math.floor(n / 10) * 10;
|
|
18
|
+
}
|
|
19
|
+
exports.roundToNearestBottomTenth = roundToNearestBottomTenth;
|
|
20
|
+
//# sourceMappingURL=checkout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../../src/utils/checkout.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAE5B,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,EAAE;IACrC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;IAC5C,CAAC;IACD,OAAO,IAAA,YAAK,EAAC,KAAK,CAAC,CAAA;AACrB,CAAC,CAAA;AAED,SAAgB,0BAA0B;IACxC,OAAO,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAA;AAChC,CAAC;AAFD,gEAEC;AAED,SAAgB,yBAAyB,CAAC,CAAS;IACjD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAA;AAChC,CAAC;AAFD,8DAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const errorAbortHandler: (err: any, context: any) => void;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.errorAbortHandler = void 0;
|
|
4
|
+
const errors_1 = require("../errors");
|
|
5
|
+
const errorAbortHandler = (err, context) => {
|
|
6
|
+
if (err instanceof errors_1.ResourceNotFoundError ||
|
|
7
|
+
err instanceof errors_1.InvalidParameterError ||
|
|
8
|
+
err instanceof errors_1.UserOpFailureError) {
|
|
9
|
+
context.abort();
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
exports.errorAbortHandler = errorAbortHandler;
|
|
13
|
+
//# sourceMappingURL=error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../src/utils/error.ts"],"names":[],"mappings":";;;AAAA,sCAIkB;AAEX,MAAM,iBAAiB,GAAG,CAAC,GAAQ,EAAE,OAAY,EAAE,EAAE;IAC1D,IACE,GAAG,YAAY,8BAAqB;QACpC,GAAG,YAAY,8BAAqB;QACpC,GAAG,YAAY,2BAAkB,EACjC,CAAC;QACD,OAAO,CAAC,KAAK,EAAE,CAAA;IACjB,CAAC;AACH,CAAC,CAAA;AARY,QAAA,iBAAiB,qBAQ7B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./checkout"), exports);
|
|
18
|
+
__exportStar(require("./error"), exports);
|
|
19
|
+
__exportStar(require("./request"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,0CAAuB;AACvB,4CAAyB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BaseRequest } from '../consts/request';
|
|
2
|
+
import { BaseResponse, DeleteRequest, GetRequest, PostRequest, PutRequest } from './../consts/request';
|
|
3
|
+
export declare const sendRequest: ({ uri, method, apiKey, body, retryOptions, }: BaseRequest) => Promise<BaseResponse>;
|
|
4
|
+
export declare function sendGetRequest({ uri, apiKey, retryOptions, }: GetRequest): Promise<BaseResponse>;
|
|
5
|
+
export declare function sendPostRequest({ uri, body, apiKey, retryOptions, }: PostRequest): Promise<BaseResponse>;
|
|
6
|
+
export declare function sendDeleteRequest({ uri, apiKey, retryOptions, }: DeleteRequest): Promise<void>;
|
|
7
|
+
export declare function sendPutRequest({ uri, body, apiKey, retryOptions, }: PutRequest): Promise<BaseResponse>;
|