@funkit/api-base 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/README.md +3 -1
- package/dist/src/consts/api.d.ts +1 -0
- package/dist/src/consts/api.js +2 -1
- package/dist/src/consts/api.js.map +1 -1
- package/dist/src/services/assets/types.d.ts +10 -5
- package/dist/src/services/checkout/endpoints.js +2 -1
- package/dist/src/services/checkout/endpoints.js.map +1 -1
- package/dist/src/services/faucet/endpoints.d.ts +2 -0
- package/dist/src/services/faucet/endpoints.js +13 -0
- package/dist/src/services/faucet/endpoints.js.map +1 -0
- package/dist/src/services/faucet/index.d.ts +2 -0
- package/dist/src/services/faucet/index.js +19 -0
- package/dist/src/services/faucet/index.js.map +1 -0
- package/dist/src/services/faucet/types.d.ts +6 -0
- package/dist/src/services/faucet/types.js +3 -0
- package/dist/src/services/faucet/types.js.map +1 -0
- package/dist/src/services/index.d.ts +3 -0
- package/dist/src/services/index.js +3 -0
- package/dist/src/services/index.js.map +1 -1
- package/dist/src/services/mesh/endpoints.d.ts +2 -2
- package/dist/src/services/mesh/endpoints.js.map +1 -1
- package/dist/src/services/mesh/types.d.ts +31 -4
- package/dist/src/services/mesh/types.js +20 -0
- package/dist/src/services/mesh/types.js.map +1 -1
- package/dist/src/services/moonpay/endpoints.d.ts +9 -1
- package/dist/src/services/moonpay/endpoints.js +41 -1
- package/dist/src/services/moonpay/endpoints.js.map +1 -1
- package/dist/src/services/moonpay/types.d.ts +33 -0
- package/dist/src/services/support/endpoints.d.ts +2 -0
- package/dist/src/services/support/endpoints.js +21 -0
- package/dist/src/services/support/endpoints.js.map +1 -0
- package/dist/src/services/support/index.d.ts +2 -0
- package/dist/src/services/support/index.js +19 -0
- package/dist/src/services/support/index.js.map +1 -0
- package/dist/src/services/support/types.d.ts +6 -0
- package/dist/src/services/support/types.js +3 -0
- package/dist/src/services/support/types.js.map +1 -0
- package/dist/src/services/turnkey/endpoints.d.ts +3 -0
- package/dist/src/services/turnkey/endpoints.js +27 -0
- package/dist/src/services/turnkey/endpoints.js.map +1 -0
- package/dist/src/services/turnkey/index.d.ts +2 -0
- package/dist/src/services/turnkey/index.js +19 -0
- package/dist/src/services/turnkey/index.js.map +1 -0
- package/dist/src/services/turnkey/types.d.ts +12 -0
- package/dist/src/services/turnkey/types.js +3 -0
- package/dist/src/services/turnkey/types.js.map +1 -0
- package/dist/src/utils/checkout.d.ts +1 -0
- package/dist/src/utils/checkout.js +4 -3
- package/dist/src/utils/checkout.js.map +1 -1
- package/package.json +8 -2
- package/.eslintignore +0 -5
- package/dist/test/services/assets.test.d.ts +0 -1
- package/dist/test/services/assets.test.js +0 -37
- package/dist/test/services/assets.test.js.map +0 -1
- package/dist/test/services/checkout.test.d.ts +0 -1
- package/dist/test/services/checkout.test.js +0 -42
- package/dist/test/services/checkout.test.js.map +0 -1
- package/dist/test/services/mesh.test.d.ts +0 -1
- package/dist/test/services/mesh.test.js +0 -12
- package/dist/test/services/mesh.test.js.map +0 -1
- package/dist/test/services/moonpay.test.d.ts +0 -1
- package/dist/test/services/moonpay.test.js +0 -25
- package/dist/test/services/moonpay.test.js.map +0 -1
- package/dist/test/setup.d.ts +0 -0
- package/dist/test/setup.js +0 -10
- package/dist/test/setup.js.map +0 -1
- package/index.ts +0 -4
- package/src/consts/api.ts +0 -9
- package/src/consts/index.ts +0 -3
- package/src/consts/request.ts +0 -16
- package/src/consts/retry.ts +0 -21
- package/src/errors/BaseError.ts +0 -28
- package/src/errors/ClientError.ts +0 -175
- package/src/errors/ServerError.ts +0 -43
- package/src/errors/errors.json +0 -626
- package/src/errors/index.ts +0 -4
- package/src/errors/types.ts +0 -64
- package/src/services/assets/endpoints.ts +0 -131
- package/src/services/assets/index.ts +0 -2
- package/src/services/assets/types.ts +0 -80
- package/src/services/checkout/endpoints.ts +0 -233
- package/src/services/checkout/index.ts +0 -2
- package/src/services/checkout/types.ts +0 -130
- package/src/services/index.ts +0 -4
- package/src/services/mesh/endpoints.ts +0 -164
- package/src/services/mesh/index.ts +0 -2
- package/src/services/mesh/types.ts +0 -63
- package/src/services/moonpay/endpoints.ts +0 -62
- package/src/services/moonpay/index.ts +0 -2
- package/src/services/moonpay/types.ts +0 -15
- package/src/utils/checkout.ts +0 -17
- package/src/utils/error.ts +0 -15
- package/src/utils/index.ts +0 -3
- package/src/utils/request.ts +0 -198
- package/test/services/assets.test.ts +0 -41
- package/test/services/checkout.test.ts +0 -53
- package/test/services/mesh.test.ts +0 -10
- package/test/services/moonpay.test.ts +0 -24
- package/test/setup.ts +0 -9
- package/tsconfig.json +0 -33
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.roundToNearestBottomTenth = exports.generateRandomCheckoutSalt = void 0;
|
|
3
|
+
exports.roundToNearestBottomTenth = exports.generateRandomCheckoutSalt = exports.randomBytes = void 0;
|
|
4
4
|
const viem_1 = require("viem");
|
|
5
|
-
|
|
5
|
+
function randomBytes(length) {
|
|
6
6
|
const bytes = new Uint8Array(length);
|
|
7
7
|
for (let i = 0; i < length; i++) {
|
|
8
8
|
bytes[i] = Math.floor(Math.random() * 256);
|
|
9
9
|
}
|
|
10
10
|
return (0, viem_1.toHex)(bytes);
|
|
11
|
-
}
|
|
11
|
+
}
|
|
12
|
+
exports.randomBytes = randomBytes;
|
|
12
13
|
function generateRandomCheckoutSalt() {
|
|
13
14
|
return BigInt(randomBytes(32));
|
|
14
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../../src/utils/checkout.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAE5B,
|
|
1
|
+
{"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../../src/utils/checkout.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAE5B,SAAgB,WAAW,CAAC,MAAc;IACxC,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;AAND,kCAMC;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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@funkit/api-base",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"description": "Base API for Funkit",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -26,12 +26,18 @@
|
|
|
26
26
|
"url": "git+https://github.com/fun-xyz/funkit.git",
|
|
27
27
|
"directory": "packages/api-base"
|
|
28
28
|
},
|
|
29
|
+
"files": [
|
|
30
|
+
"dist/src",
|
|
31
|
+
"dist/index.d.ts",
|
|
32
|
+
"dist/index.js",
|
|
33
|
+
"dist/index.js.map",
|
|
34
|
+
"CHANGELOG.md"
|
|
35
|
+
],
|
|
29
36
|
"scripts": {
|
|
30
37
|
"build": "rm -rf dist && tsc",
|
|
31
38
|
"build:watch": "rm -rf dist && tsc -w",
|
|
32
39
|
"lint": "eslint --ext .ts,.tsx './**/*.{ts,tsx}'",
|
|
33
40
|
"lint:fix": "eslint --ext .ts,.tsx './**/*.{ts,tsx}' --fix",
|
|
34
|
-
"dev-test": "ts-node ./dev-test.ts",
|
|
35
41
|
"test": "vitest"
|
|
36
42
|
}
|
|
37
43
|
}
|
package/.eslintignore
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const __1 = require("../../");
|
|
4
|
-
describe('assets service', () => {
|
|
5
|
-
test('getAssetPriceInfo returns valid result', async () => {
|
|
6
|
-
const assetPriceInfo = await (0, __1.getAssetPriceInfo)({
|
|
7
|
-
chainId: '1',
|
|
8
|
-
assetTokenAddress: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
|
|
9
|
-
apiKey: global.TEST_API_KEY,
|
|
10
|
-
});
|
|
11
|
-
expect(assetPriceInfo.amount).toBe(1);
|
|
12
|
-
expect(assetPriceInfo.unitPrice).toBeGreaterThan(0);
|
|
13
|
-
expect(assetPriceInfo.total).toBeGreaterThan(0);
|
|
14
|
-
});
|
|
15
|
-
test('getAllWalletTokens returns valid result', async () => {
|
|
16
|
-
const walletBalance = await (0, __1.getAllWalletTokens)({
|
|
17
|
-
walletAddress: global.TEST_WALLET_ADDRESS,
|
|
18
|
-
onlyVerifiedTokens: true,
|
|
19
|
-
apiKey: global.TEST_API_KEY,
|
|
20
|
-
});
|
|
21
|
-
expect(walletBalance['1']).toBeTruthy();
|
|
22
|
-
expect(walletBalance['137']).toBeTruthy();
|
|
23
|
-
expect(walletBalance['8453']).toBeTruthy();
|
|
24
|
-
expect(walletBalance['324']).toBeTruthy();
|
|
25
|
-
expect(walletBalance['42161']).toBeTruthy();
|
|
26
|
-
});
|
|
27
|
-
test('getAllWalletTokensByChainId returns valid result', async () => {
|
|
28
|
-
const ethereumBalance = await (0, __1.getAllWalletTokensByChainId)({
|
|
29
|
-
chainId: '1',
|
|
30
|
-
walletAddress: global.TEST_WALLET_ADDRESS,
|
|
31
|
-
onlyVerifiedTokens: true,
|
|
32
|
-
apiKey: global.TEST_API_KEY,
|
|
33
|
-
});
|
|
34
|
-
expect(ethereumBalance).toBeTruthy();
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
//# sourceMappingURL=assets.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assets.test.js","sourceRoot":"","sources":["../../../test/services/assets.test.ts"],"names":[],"mappings":";;AAAA,8BAIe;AAEf,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,cAAc,GAAG,MAAM,IAAA,qBAAiB,EAAC;YAC7C,OAAO,EAAE,GAAG;YACZ,iBAAiB,EAAE,4CAA4C;YAC/D,MAAM,EAAE,MAAM,CAAC,YAAY;SAC5B,CAAC,CAAA;QACF,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACrC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;QACnD,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,aAAa,GAAG,MAAM,IAAA,sBAAkB,EAAC;YAC7C,aAAa,EAAE,MAAM,CAAC,mBAAmB;YACzC,kBAAkB,EAAE,IAAI;YACxB,MAAM,EAAE,MAAM,CAAC,YAAY;SAC5B,CAAC,CAAA;QACF,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;QACvC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;QACzC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;QAC1C,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;QACzC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,eAAe,GAAG,MAAM,IAAA,+BAA2B,EAAC;YACxD,OAAO,EAAE,GAAG;YACZ,aAAa,EAAE,MAAM,CAAC,mBAAmB;YACzC,kBAAkB,EAAE,IAAI;YACxB,MAAM,EAAE,MAAM,CAAC,YAAY;SAC5B,CAAC,CAAA;QACF,MAAM,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,CAAA;IACtC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const __1 = require("../../");
|
|
4
|
-
const QUOTE_TEST_TIMEOUT = 30000; // 30 seconds
|
|
5
|
-
describe('checkout service', () => {
|
|
6
|
-
let quoteId;
|
|
7
|
-
test('getCheckoutQuote and initializeCheckout returns valid result', async () => {
|
|
8
|
-
const quoteParams = {
|
|
9
|
-
fromChainId: '8453',
|
|
10
|
-
fromTokenAddress: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
|
|
11
|
-
fromTokenDecimals: 18,
|
|
12
|
-
toChainId: '137',
|
|
13
|
-
toTokenAddress: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
|
|
14
|
-
toTokenDecimals: 18,
|
|
15
|
-
toTokenAmount: 5,
|
|
16
|
-
expirationTimestampMs: 300000, // 5 minutes
|
|
17
|
-
sponsorInitialTransferGasLimit: '0',
|
|
18
|
-
recipientAddr: global.TEST_WALLET_ADDRESS,
|
|
19
|
-
needsRefuel: false,
|
|
20
|
-
apiKey: global.TEST_API_KEY,
|
|
21
|
-
};
|
|
22
|
-
const quote = await (0, __1.getCheckoutQuote)(quoteParams);
|
|
23
|
-
quoteId = quote.quoteId;
|
|
24
|
-
expect(quote.quoteId).toBeTruthy();
|
|
25
|
-
const checkoutInitParams = {
|
|
26
|
-
quoteId,
|
|
27
|
-
sourceOfFund: `balance|eoa|${global.TEST_WALLET_ADDRESS}`,
|
|
28
|
-
apiKey: global.TEST_API_KEY,
|
|
29
|
-
clientMetadata: {},
|
|
30
|
-
};
|
|
31
|
-
const depositAddr = await (0, __1.initializeCheckout)(checkoutInitParams);
|
|
32
|
-
expect(depositAddr).toBeTruthy();
|
|
33
|
-
}, QUOTE_TEST_TIMEOUT);
|
|
34
|
-
test('getCheckoutsByRecipientAddress returns valid result', async () => {
|
|
35
|
-
const checkouts = await (0, __1.getCheckoutsByRecipientAddress)({
|
|
36
|
-
recipientAddress: global.TEST_WALLET_ADDRESS,
|
|
37
|
-
apiKey: global.TEST_API_KEY,
|
|
38
|
-
});
|
|
39
|
-
expect(checkouts.length).toBeGreaterThan(0);
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
//# sourceMappingURL=checkout.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkout.test.js","sourceRoot":"","sources":["../../../test/services/checkout.test.ts"],"names":[],"mappings":";;AAAA,8BAIe;AAEf,MAAM,kBAAkB,GAAG,KAAK,CAAA,CAAC,aAAa;AAE9C,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,OAAe,CAAA;IACnB,IAAI,CACF,8DAA8D,EAC9D,KAAK,IAAI,EAAE;QACT,MAAM,WAAW,GAAG;YAClB,WAAW,EAAE,MAAM;YACnB,gBAAgB,EACd,4CAA6D;YAC/D,iBAAiB,EAAE,EAAE;YACrB,SAAS,EAAE,KAAK;YAChB,cAAc,EACZ,4CAA6D;YAC/D,eAAe,EAAE,EAAE;YACnB,aAAa,EAAE,CAAC;YAChB,qBAAqB,EAAE,MAAO,EAAE,YAAY;YAC5C,8BAA8B,EAAE,GAAG;YACnC,aAAa,EAAE,MAAM,CAAC,mBAAmB;YACzC,WAAW,EAAE,KAAK;YAClB,MAAM,EAAE,MAAM,CAAC,YAAY;SAC5B,CAAA;QACD,MAAM,KAAK,GAAG,MAAM,IAAA,oBAAgB,EAAC,WAAW,CAAC,CAAA;QACjD,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;QACvB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAA;QAElC,MAAM,kBAAkB,GAAG;YACzB,OAAO;YACP,YAAY,EAAE,eAAe,MAAM,CAAC,mBAAmB,EAAE;YACzD,MAAM,EAAE,MAAM,CAAC,YAAY;YAC3B,cAAc,EAAE,EAAE;SACnB,CAAA;QACD,MAAM,WAAW,GAAG,MAAM,IAAA,sBAAkB,EAAC,kBAAkB,CAAC,CAAA;QAChE,MAAM,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,CAAA;IAClC,CAAC,EACD,kBAAkB,CACnB,CAAA;IAED,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,SAAS,GAAG,MAAM,IAAA,kCAA8B,EAAC;YACrD,gBAAgB,EAAE,MAAM,CAAC,mBAAmB;YAC5C,MAAM,EAAE,MAAM,CAAC,YAAY;SAC5B,CAAC,CAAA;QACF,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const __1 = require("../../");
|
|
4
|
-
describe('mesh service', () => {
|
|
5
|
-
test('meshGetTransferIntegrations returns valid result', async () => {
|
|
6
|
-
const integrationsResponse = await (0, __1.meshGetTransferIntegrations)({
|
|
7
|
-
apiKey: global.TEST_API_KEY,
|
|
8
|
-
});
|
|
9
|
-
expect(integrationsResponse.integrations.length).toBeGreaterThan(0);
|
|
10
|
-
});
|
|
11
|
-
});
|
|
12
|
-
//# sourceMappingURL=mesh.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mesh.test.js","sourceRoot":"","sources":["../../../test/services/mesh.test.ts"],"names":[],"mappings":";;AAAA,8BAAoD;AAEpD,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAI,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,oBAAoB,GAAG,MAAM,IAAA,+BAA2B,EAAC;YAC7D,MAAM,EAAE,MAAM,CAAC,YAAY;SAC5B,CAAC,CAAA;QACF,MAAM,CAAC,oBAAoB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;IACrE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const __1 = require("../../");
|
|
4
|
-
describe('moonpay service', () => {
|
|
5
|
-
test('getMoonpayUrlSignature returns valid result', async () => {
|
|
6
|
-
const urlSignature = await (0, __1.getMoonpayUrlSignature)({
|
|
7
|
-
apiKey: global.TEST_API_KEY,
|
|
8
|
-
isSandbox: true,
|
|
9
|
-
url: 'https://buy.moonpay.com/?apiKey=pk_test_dWfAhBbvVexIId9S5hPd78mKM7ivIsqu¤cyCode=usdc&walletAddress=0x931122fD30c218e208A3546A3faa2f40F6c06A3e&colorCode=%2331a3f8&theme=light&baseCurrencyCode=usd"eCurrencyAmount=106.23&lockAmount=true&externalCustomerId=0x6ec0c2f25d323e7779925Cc20c3740101f990d9F%7C0x6ec0c2f25d323e7779925Cc20c3740101f990d9F%7CgsWiq9zk0W5Rh4vzpqURI6nyauFL0tSm9m0EydTI&mpSdk=%7B%22version%22%3A%221.8.0%22%2C%22environment%22%3A%22production%22%2C%22flow%22%3A%22buy%22%2C%22variant%22%3A%22embedded%22%2C%22platform%22%3A%22web%22%7D',
|
|
10
|
-
});
|
|
11
|
-
expect(urlSignature).toBeTruthy();
|
|
12
|
-
});
|
|
13
|
-
test('getMoonpayBuyQuoteForCreditCard returns valid result', async () => {
|
|
14
|
-
const buyQuote = await (0, __1.getMoonpayBuyQuoteForCreditCard)({
|
|
15
|
-
apiKey: global.TEST_API_KEY,
|
|
16
|
-
baseCurrencyCode: 'usd',
|
|
17
|
-
currencyCode: 'usdc',
|
|
18
|
-
quoteCurrencyAmount: '106.23',
|
|
19
|
-
areFeesIncluded: true,
|
|
20
|
-
});
|
|
21
|
-
expect(buyQuote.accountId).toBeTruthy();
|
|
22
|
-
expect(buyQuote.baseCurrencyCode).toBe('usd');
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
//# sourceMappingURL=moonpay.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"moonpay.test.js","sourceRoot":"","sources":["../../../test/services/moonpay.test.ts"],"names":[],"mappings":";;AAAA,8BAAgF;AAEhF,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,YAAY,GAAG,MAAM,IAAA,0BAAsB,EAAC;YAChD,MAAM,EAAE,MAAM,CAAC,YAAY;YAC3B,SAAS,EAAE,IAAI;YACf,GAAG,EAAE,ijBAAijB;SACvjB,CAAC,CAAA;QACF,MAAM,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,CAAA;IACnC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,QAAQ,GAAG,MAAM,IAAA,mCAA+B,EAAC;YACrD,MAAM,EAAE,MAAM,CAAC,YAAY;YAC3B,gBAAgB,EAAE,KAAK;YACvB,YAAY,EAAE,MAAM;YACpB,mBAAmB,EAAE,QAAQ;YAC7B,eAAe,EAAE,IAAI;SACtB,CAAC,CAAA;QACF,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAA;QACvC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/dist/test/setup.d.ts
DELETED
|
File without changes
|
package/dist/test/setup.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
beforeAll(() => {
|
|
3
|
-
global.TEST_API_KEY = 'hnHevQR0y394nBprGrvNx4HgoZHUwMet5mXTOBhf';
|
|
4
|
-
global.TEST_WALLET_ADDRESS = '0xD646AF38161B2d9Fd65F5116C7Ecdf23562644b0';
|
|
5
|
-
});
|
|
6
|
-
afterAll(() => {
|
|
7
|
-
delete global.TEST_API_KEY;
|
|
8
|
-
delete global.TEST_WALLET_ADDRESS;
|
|
9
|
-
});
|
|
10
|
-
//# sourceMappingURL=setup.js.map
|
package/dist/test/setup.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../test/setup.ts"],"names":[],"mappings":";AAAA,SAAS,CAAC,GAAG,EAAE;IACb,MAAM,CAAC,YAAY,GAAG,0CAA0C,CAAA;IAChE,MAAM,CAAC,mBAAmB,GAAG,4CAA4C,CAAA;AAC3E,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,GAAG,EAAE;IACZ,OAAO,MAAM,CAAC,YAAY,CAAA;IAC1B,OAAO,MAAM,CAAC,mBAAmB,CAAA;AACnC,CAAC,CAAC,CAAA"}
|
package/index.ts
DELETED
package/src/consts/api.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export const API_BASE_URL =
|
|
2
|
-
process.env.NODE_ENV === 'staging'
|
|
3
|
-
? 'https://api.fun.xyz/staging/v1'
|
|
4
|
-
: process.env.NODE_ENV === 'testing'
|
|
5
|
-
? 'https://api.fun.xyz/testing/v1'
|
|
6
|
-
: process.env.NODE_ENV === 'local'
|
|
7
|
-
? 'http://127.0.0.1:3000'
|
|
8
|
-
: // Production
|
|
9
|
-
'https://api.fun.xyz/v1'
|
package/src/consts/index.ts
DELETED
package/src/consts/request.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { RetryOptions } from './retry'
|
|
2
|
-
|
|
3
|
-
export interface BaseRequest {
|
|
4
|
-
uri: string
|
|
5
|
-
method: 'PUT' | 'DELETE' | 'GET' | 'POST'
|
|
6
|
-
apiKey: string
|
|
7
|
-
retryOptions?: RetryOptions
|
|
8
|
-
body?: object
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export type GetRequest = Omit<BaseRequest, 'body' | 'method'>
|
|
12
|
-
export type PostRequest = Omit<BaseRequest, 'method'>
|
|
13
|
-
export type DeleteRequest = Omit<BaseRequest, 'body' | 'method'>
|
|
14
|
-
export type PutRequest = Omit<BaseRequest, 'method'>
|
|
15
|
-
|
|
16
|
-
export type BaseResponse = any // TODO:
|
package/src/consts/retry.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { PartialAttemptOptions } from '@lifeomic/attempt'
|
|
2
|
-
|
|
3
|
-
import { errorAbortHandler } from '../utils/error'
|
|
4
|
-
import { BaseResponse } from './request'
|
|
5
|
-
|
|
6
|
-
export type RetryOptions = PartialAttemptOptions<BaseResponse>
|
|
7
|
-
|
|
8
|
-
export const DEFAULT_RETRY_OPTIONS = {
|
|
9
|
-
delay: 100,
|
|
10
|
-
initialDelay: 0,
|
|
11
|
-
maxDelay: 3000,
|
|
12
|
-
factor: 2,
|
|
13
|
-
maxAttempts: 5,
|
|
14
|
-
timeout: 0,
|
|
15
|
-
jitter: true,
|
|
16
|
-
minDelay: 0,
|
|
17
|
-
handleError: errorAbortHandler,
|
|
18
|
-
handleTimeout: null,
|
|
19
|
-
beforeAttempt: null,
|
|
20
|
-
calculateDelay: null,
|
|
21
|
-
} as RetryOptions
|
package/src/errors/BaseError.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
const discord = 'https://discord.gg/mvQunrx6NG'
|
|
2
|
-
export class BaseError extends Error {
|
|
3
|
-
timestamp: string
|
|
4
|
-
|
|
5
|
-
constructor(
|
|
6
|
-
public baseType: string,
|
|
7
|
-
public type: string,
|
|
8
|
-
public code: string,
|
|
9
|
-
msg: string,
|
|
10
|
-
|
|
11
|
-
public paramsUsed: any,
|
|
12
|
-
fixSuggestion: string,
|
|
13
|
-
docLink: string,
|
|
14
|
-
isInternal = false,
|
|
15
|
-
) {
|
|
16
|
-
super(`${msg}\n\n${fixSuggestion}\nDocs: ${docLink}\nDiscord: ${discord}`)
|
|
17
|
-
if (isInternal) {
|
|
18
|
-
this.loadEnd()
|
|
19
|
-
}
|
|
20
|
-
this.message += '\n\nTrace:'
|
|
21
|
-
this.timestamp = new Date().toUTCString()
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
loadEnd() {
|
|
25
|
-
this.message +=
|
|
26
|
-
'\n\nThis is an internal sdk error. Please contact the fun team at our Discord for the fastest response.'
|
|
27
|
-
}
|
|
28
|
-
}
|
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
import { BaseError } from './BaseError'
|
|
2
|
-
import FWErrors from './errors.json'
|
|
3
|
-
import { ErrorBaseType, ErrorCode, ErrorType } from './types'
|
|
4
|
-
export class ClientError extends BaseError {
|
|
5
|
-
constructor(
|
|
6
|
-
type: string,
|
|
7
|
-
code: string,
|
|
8
|
-
msg: string,
|
|
9
|
-
paramsUsed: any,
|
|
10
|
-
fixSuggestion: string,
|
|
11
|
-
docLink: string,
|
|
12
|
-
) {
|
|
13
|
-
super(
|
|
14
|
-
ErrorBaseType.ClientError,
|
|
15
|
-
type,
|
|
16
|
-
code,
|
|
17
|
-
msg,
|
|
18
|
-
paramsUsed,
|
|
19
|
-
fixSuggestion,
|
|
20
|
-
docLink,
|
|
21
|
-
false,
|
|
22
|
-
)
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export class InvalidParameterError extends ClientError {
|
|
27
|
-
constructor(
|
|
28
|
-
code: string,
|
|
29
|
-
msg: string,
|
|
30
|
-
paramsUsed: any,
|
|
31
|
-
fixSuggestion: string,
|
|
32
|
-
docLink: string,
|
|
33
|
-
) {
|
|
34
|
-
super(
|
|
35
|
-
ErrorType.InvalidParameter,
|
|
36
|
-
code,
|
|
37
|
-
msg,
|
|
38
|
-
paramsUsed,
|
|
39
|
-
fixSuggestion,
|
|
40
|
-
docLink,
|
|
41
|
-
)
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export class ResourceNotFoundError extends ClientError {
|
|
46
|
-
constructor(
|
|
47
|
-
code: string,
|
|
48
|
-
msg: string,
|
|
49
|
-
paramsUsed: any,
|
|
50
|
-
fixSuggestion: string,
|
|
51
|
-
docLink: string,
|
|
52
|
-
) {
|
|
53
|
-
if (msg.includes('Chain name not found')) {
|
|
54
|
-
const { reqId } = JSON.parse(msg)
|
|
55
|
-
msg = ': Chain name not found or not supported.'
|
|
56
|
-
fixSuggestion = 'Change your EnvOptions to the correct chain identifier.'
|
|
57
|
-
super(
|
|
58
|
-
ErrorType.ResourceNotFound,
|
|
59
|
-
ErrorCode.ChainNotSupported,
|
|
60
|
-
msg,
|
|
61
|
-
{ reqId },
|
|
62
|
-
fixSuggestion,
|
|
63
|
-
docLink,
|
|
64
|
-
)
|
|
65
|
-
} else {
|
|
66
|
-
super(
|
|
67
|
-
ErrorType.ResourceNotFound,
|
|
68
|
-
code,
|
|
69
|
-
msg,
|
|
70
|
-
paramsUsed,
|
|
71
|
-
fixSuggestion,
|
|
72
|
-
docLink,
|
|
73
|
-
)
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
export class InvalidActionError extends ClientError {
|
|
79
|
-
constructor(
|
|
80
|
-
code: string,
|
|
81
|
-
msg: string,
|
|
82
|
-
paramsUsed: any,
|
|
83
|
-
fixSuggestion: string,
|
|
84
|
-
docLink: string,
|
|
85
|
-
) {
|
|
86
|
-
super(
|
|
87
|
-
ErrorType.InvalidAction,
|
|
88
|
-
code,
|
|
89
|
-
msg,
|
|
90
|
-
paramsUsed,
|
|
91
|
-
fixSuggestion,
|
|
92
|
-
docLink,
|
|
93
|
-
)
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
export class ThrottlingError extends ClientError {
|
|
98
|
-
constructor(
|
|
99
|
-
code: string,
|
|
100
|
-
msg: string,
|
|
101
|
-
paramsUsed: any,
|
|
102
|
-
fixSuggestion: string,
|
|
103
|
-
docLink: string,
|
|
104
|
-
) {
|
|
105
|
-
super(
|
|
106
|
-
ErrorType.ThrottlingError,
|
|
107
|
-
code,
|
|
108
|
-
msg,
|
|
109
|
-
paramsUsed,
|
|
110
|
-
fixSuggestion,
|
|
111
|
-
docLink,
|
|
112
|
-
)
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
export class AccessDeniedError extends ClientError {
|
|
117
|
-
constructor(
|
|
118
|
-
code: string,
|
|
119
|
-
msg: string,
|
|
120
|
-
paramsUsed: any,
|
|
121
|
-
fixSuggestion: string,
|
|
122
|
-
docLink: string,
|
|
123
|
-
) {
|
|
124
|
-
super(
|
|
125
|
-
ErrorType.AccessDeniedError,
|
|
126
|
-
code,
|
|
127
|
-
msg,
|
|
128
|
-
paramsUsed,
|
|
129
|
-
fixSuggestion,
|
|
130
|
-
docLink,
|
|
131
|
-
)
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
export class UserOpFailureError extends ClientError {
|
|
136
|
-
constructor(
|
|
137
|
-
code: string,
|
|
138
|
-
msg: string,
|
|
139
|
-
paramsUsed: any,
|
|
140
|
-
fixSuggestion: string,
|
|
141
|
-
docLink: string,
|
|
142
|
-
) {
|
|
143
|
-
const FWCode = findFWContractError(msg)
|
|
144
|
-
if (FWCode) {
|
|
145
|
-
const { reqId } = JSON.parse(msg)
|
|
146
|
-
msg = FWErrors[FWCode].info
|
|
147
|
-
fixSuggestion = FWErrors[FWCode].suggestion
|
|
148
|
-
super(
|
|
149
|
-
ErrorType.UserOpFailureError,
|
|
150
|
-
ErrorCode.FunWalletErrorCode,
|
|
151
|
-
msg,
|
|
152
|
-
{ reqId },
|
|
153
|
-
fixSuggestion,
|
|
154
|
-
docLink,
|
|
155
|
-
)
|
|
156
|
-
} else {
|
|
157
|
-
super(
|
|
158
|
-
ErrorType.UserOpFailureError,
|
|
159
|
-
code,
|
|
160
|
-
msg,
|
|
161
|
-
paramsUsed,
|
|
162
|
-
fixSuggestion,
|
|
163
|
-
docLink,
|
|
164
|
-
)
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
const findFWContractError = (msg: string) => {
|
|
170
|
-
let match = msg.match(/FW\d{3}/)
|
|
171
|
-
if (!match) {
|
|
172
|
-
match = msg.match(/AA\d./)
|
|
173
|
-
}
|
|
174
|
-
return match?.[0]
|
|
175
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { BaseError } from './BaseError'
|
|
2
|
-
import { ErrorBaseType, ErrorType } from './types'
|
|
3
|
-
|
|
4
|
-
export class ServerError extends BaseError {
|
|
5
|
-
constructor(
|
|
6
|
-
type: string,
|
|
7
|
-
code: string,
|
|
8
|
-
msg: string,
|
|
9
|
-
paramsUsed: any,
|
|
10
|
-
fixSuggestion: string,
|
|
11
|
-
docLink: string,
|
|
12
|
-
) {
|
|
13
|
-
super(
|
|
14
|
-
ErrorBaseType.ServerError,
|
|
15
|
-
type,
|
|
16
|
-
code,
|
|
17
|
-
msg,
|
|
18
|
-
paramsUsed,
|
|
19
|
-
fixSuggestion,
|
|
20
|
-
docLink,
|
|
21
|
-
true,
|
|
22
|
-
)
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export class InternalFailureError extends ServerError {
|
|
27
|
-
constructor(
|
|
28
|
-
code: string,
|
|
29
|
-
msg: string,
|
|
30
|
-
paramsUsed: any,
|
|
31
|
-
fixSuggestion: string,
|
|
32
|
-
docLink: string,
|
|
33
|
-
) {
|
|
34
|
-
super(
|
|
35
|
-
ErrorType.InternalServerFailure,
|
|
36
|
-
code,
|
|
37
|
-
msg,
|
|
38
|
-
paramsUsed,
|
|
39
|
-
fixSuggestion,
|
|
40
|
-
docLink,
|
|
41
|
-
)
|
|
42
|
-
}
|
|
43
|
-
}
|