@metamask/bridge-controller 9.0.0 → 11.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/CHANGELOG.md +29 -1
- package/dist/bridge-controller.cjs +96 -25
- package/dist/bridge-controller.cjs.map +1 -1
- package/dist/bridge-controller.d.cts +5 -5
- package/dist/bridge-controller.d.cts.map +1 -1
- package/dist/bridge-controller.d.mts +5 -5
- package/dist/bridge-controller.d.mts.map +1 -1
- package/dist/bridge-controller.mjs +97 -26
- package/dist/bridge-controller.mjs.map +1 -1
- package/dist/constants/bridge.cjs +2 -1
- package/dist/constants/bridge.cjs.map +1 -1
- package/dist/constants/bridge.d.cts +2 -1
- package/dist/constants/bridge.d.cts.map +1 -1
- package/dist/constants/bridge.d.mts +2 -1
- package/dist/constants/bridge.d.mts.map +1 -1
- package/dist/constants/bridge.mjs +2 -1
- package/dist/constants/bridge.mjs.map +1 -1
- package/dist/constants/chains.cjs +1 -12
- package/dist/constants/chains.cjs.map +1 -1
- package/dist/constants/chains.d.cts +0 -2
- package/dist/constants/chains.d.cts.map +1 -1
- package/dist/constants/chains.d.mts +0 -2
- package/dist/constants/chains.d.mts.map +1 -1
- package/dist/constants/chains.mjs +0 -11
- package/dist/constants/chains.mjs.map +1 -1
- package/dist/constants/tokens.cjs +61 -38
- package/dist/constants/tokens.cjs.map +1 -1
- package/dist/constants/tokens.d.cts +100 -48
- package/dist/constants/tokens.d.cts.map +1 -1
- package/dist/constants/tokens.d.mts +100 -48
- package/dist/constants/tokens.d.mts.map +1 -1
- package/dist/constants/tokens.mjs +37 -14
- package/dist/constants/tokens.mjs.map +1 -1
- package/dist/index.cjs +21 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +16 -4
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +16 -4
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +11 -2
- package/dist/index.mjs.map +1 -1
- package/dist/types.cjs +4 -3
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +108 -54
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +108 -54
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs +4 -3
- package/dist/types.mjs.map +1 -1
- package/dist/utils/balance.cjs +2 -2
- package/dist/utils/balance.cjs.map +1 -1
- package/dist/utils/balance.d.cts.map +1 -1
- package/dist/utils/balance.d.mts.map +1 -1
- package/dist/utils/balance.mjs +2 -2
- package/dist/utils/balance.mjs.map +1 -1
- package/dist/utils/bridge.cjs +65 -5
- package/dist/utils/bridge.cjs.map +1 -1
- package/dist/utils/bridge.d.cts +27 -4
- package/dist/utils/bridge.d.cts.map +1 -1
- package/dist/utils/bridge.d.mts +27 -4
- package/dist/utils/bridge.d.mts.map +1 -1
- package/dist/utils/bridge.mjs +62 -5
- package/dist/utils/bridge.mjs.map +1 -1
- package/dist/utils/caip-formatters.cjs +102 -0
- package/dist/utils/caip-formatters.cjs.map +1 -0
- package/dist/utils/caip-formatters.d.cts +31 -0
- package/dist/utils/caip-formatters.d.cts.map +1 -0
- package/dist/utils/caip-formatters.d.mts +31 -0
- package/dist/utils/caip-formatters.d.mts.map +1 -0
- package/dist/utils/caip-formatters.mjs +95 -0
- package/dist/utils/caip-formatters.mjs.map +1 -0
- package/dist/utils/fetch.cjs +34 -26
- package/dist/utils/fetch.cjs.map +1 -1
- package/dist/utils/fetch.d.cts +6 -5
- package/dist/utils/fetch.d.cts.map +1 -1
- package/dist/utils/fetch.d.mts +6 -5
- package/dist/utils/fetch.d.mts.map +1 -1
- package/dist/utils/fetch.mjs +32 -24
- package/dist/utils/fetch.mjs.map +1 -1
- package/dist/utils/quote.cjs +12 -2
- package/dist/utils/quote.cjs.map +1 -1
- package/dist/utils/quote.d.cts +2 -2
- package/dist/utils/quote.d.cts.map +1 -1
- package/dist/utils/quote.d.mts +2 -2
- package/dist/utils/quote.d.mts.map +1 -1
- package/dist/utils/quote.mjs +12 -2
- package/dist/utils/quote.mjs.map +1 -1
- package/dist/utils/validators.cjs +15 -16
- package/dist/utils/validators.cjs.map +1 -1
- package/dist/utils/validators.d.cts +2 -3
- package/dist/utils/validators.d.cts.map +1 -1
- package/dist/utils/validators.d.mts +2 -3
- package/dist/utils/validators.d.mts.map +1 -1
- package/dist/utils/validators.mjs +16 -17
- package/dist/utils/validators.mjs.map +1 -1
- package/package.json +9 -4
package/dist/utils/quote.mjs
CHANGED
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
export const isValidQuoteRequest = (partialRequest, requireAmount = true) => {
|
|
2
|
-
const stringFields = [
|
|
2
|
+
const stringFields = [
|
|
3
|
+
'srcTokenAddress',
|
|
4
|
+
'destTokenAddress',
|
|
5
|
+
'srcChainId',
|
|
6
|
+
'destChainId',
|
|
7
|
+
'walletAddress',
|
|
8
|
+
];
|
|
3
9
|
if (requireAmount) {
|
|
4
10
|
stringFields.push('srcTokenAmount');
|
|
5
11
|
}
|
|
6
|
-
const numberFields = [
|
|
12
|
+
const numberFields = [];
|
|
13
|
+
// if slippage is defined, require it to be a number
|
|
14
|
+
if (partialRequest.slippage !== undefined) {
|
|
15
|
+
numberFields.push('slippage');
|
|
16
|
+
}
|
|
7
17
|
return (stringFields.every((field) => field in partialRequest &&
|
|
8
18
|
typeof partialRequest[field] ===
|
|
9
19
|
'string' &&
|
package/dist/utils/quote.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quote.mjs","sourceRoot":"","sources":["../../src/utils/quote.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,
|
|
1
|
+
{"version":3,"file":"quote.mjs","sourceRoot":"","sources":["../../src/utils/quote.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,cAA4C,EAC5C,aAAa,GAAG,IAAI,EACmB,EAAE;IACzC,MAAM,YAAY,GAAG;QACnB,iBAAiB;QACjB,kBAAkB;QAClB,YAAY;QACZ,aAAa;QACb,eAAe;KAChB,CAAC;IACF,IAAI,aAAa,EAAE;QACjB,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KACrC;IACD,MAAM,YAAY,GAAG,EAAE,CAAC;IACxB,oDAAoD;IACpD,IAAI,cAAc,CAAC,QAAQ,KAAK,SAAS,EAAE;QACzC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC/B;IAED,OAAO,CACL,YAAY,CAAC,KAAK,CAChB,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,IAAI,cAAc;QACvB,OAAO,cAAc,CAAC,KAAoC,CAAC;YACzD,QAAQ;QACV,cAAc,CAAC,KAAoC,CAAC,KAAK,SAAS;QAClE,cAAc,CAAC,KAAoC,CAAC,KAAK,EAAE;QAC3D,cAAc,CAAC,KAAoC,CAAC,KAAK,IAAI,CAChE;QACD,YAAY,CAAC,KAAK,CAChB,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,IAAI,cAAc;YACvB,OAAO,cAAc,CAAC,KAAoC,CAAC;gBACzD,QAAQ;YACV,cAAc,CAAC,KAAoC,CAAC,KAAK,SAAS;YAClE,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,KAAoC,CAAC,CAAC,CAAC;YACpE,cAAc,CAAC,KAAoC,CAAC,KAAK,IAAI,CAChE;QACD,CAAC,aAAa;YACZ,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACrE,CAAC,CAAC,IAAI,CAAC,CACV,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import type { GenericQuoteRequest } from '../types';\n\nexport const isValidQuoteRequest = (\n partialRequest: Partial<GenericQuoteRequest>,\n requireAmount = true,\n): partialRequest is GenericQuoteRequest => {\n const stringFields = [\n 'srcTokenAddress',\n 'destTokenAddress',\n 'srcChainId',\n 'destChainId',\n 'walletAddress',\n ];\n if (requireAmount) {\n stringFields.push('srcTokenAmount');\n }\n const numberFields = [];\n // if slippage is defined, require it to be a number\n if (partialRequest.slippage !== undefined) {\n numberFields.push('slippage');\n }\n\n return (\n stringFields.every(\n (field) =>\n field in partialRequest &&\n typeof partialRequest[field as keyof typeof partialRequest] ===\n 'string' &&\n partialRequest[field as keyof typeof partialRequest] !== undefined &&\n partialRequest[field as keyof typeof partialRequest] !== '' &&\n partialRequest[field as keyof typeof partialRequest] !== null,\n ) &&\n numberFields.every(\n (field) =>\n field in partialRequest &&\n typeof partialRequest[field as keyof typeof partialRequest] ===\n 'number' &&\n partialRequest[field as keyof typeof partialRequest] !== undefined &&\n !isNaN(Number(partialRequest[field as keyof typeof partialRequest])) &&\n partialRequest[field as keyof typeof partialRequest] !== null,\n ) &&\n (requireAmount\n ? Boolean((partialRequest.srcTokenAmount ?? '').match(/^[1-9]\\d*$/u))\n : true)\n );\n};\n"]}
|
|
@@ -10,15 +10,23 @@ const HexStringSchema = (0, superstruct_1.define)('HexString', (v) => (0, utils_
|
|
|
10
10
|
const truthyString = (s) => Boolean(s?.length);
|
|
11
11
|
exports.truthyString = truthyString;
|
|
12
12
|
const TruthyDigitStringSchema = (0, superstruct_1.define)('TruthyDigitString', (v) => (0, exports.truthyString)(v) && Boolean(v.match(/^\d+$/u)));
|
|
13
|
-
const
|
|
13
|
+
const ChainIdSchema = (0, superstruct_1.number)();
|
|
14
|
+
const BridgeAssetSchema = (0, superstruct_1.type)({
|
|
15
|
+
chainId: ChainIdSchema,
|
|
16
|
+
address: (0, superstruct_1.string)(),
|
|
17
|
+
assetId: (0, superstruct_1.string)(),
|
|
18
|
+
symbol: (0, superstruct_1.string)(),
|
|
19
|
+
name: (0, superstruct_1.string)(),
|
|
14
20
|
decimals: (0, superstruct_1.number)(),
|
|
15
|
-
|
|
16
|
-
|
|
21
|
+
icon: (0, superstruct_1.optional)((0, superstruct_1.string)()),
|
|
22
|
+
iconUrl: (0, superstruct_1.optional)((0, superstruct_1.string)()),
|
|
17
23
|
});
|
|
18
24
|
const validateFeatureFlagsResponse = (data) => {
|
|
19
25
|
const ChainConfigurationSchema = (0, superstruct_1.type)({
|
|
20
26
|
isActiveSrc: (0, superstruct_1.boolean)(),
|
|
21
27
|
isActiveDest: (0, superstruct_1.boolean)(),
|
|
28
|
+
refreshRate: (0, superstruct_1.optional)((0, superstruct_1.number)()),
|
|
29
|
+
topAssets: (0, superstruct_1.optional)((0, superstruct_1.array)((0, superstruct_1.string)())),
|
|
22
30
|
});
|
|
23
31
|
const ConfigSchema = (0, superstruct_1.type)({
|
|
24
32
|
refreshRate: (0, superstruct_1.number)(),
|
|
@@ -35,19 +43,10 @@ const validateFeatureFlagsResponse = (data) => {
|
|
|
35
43
|
};
|
|
36
44
|
exports.validateFeatureFlagsResponse = validateFeatureFlagsResponse;
|
|
37
45
|
const validateSwapsTokenObject = (data) => {
|
|
38
|
-
return (0, superstruct_1.is)(data,
|
|
46
|
+
return (0, superstruct_1.is)(data, BridgeAssetSchema);
|
|
39
47
|
};
|
|
40
48
|
exports.validateSwapsTokenObject = validateSwapsTokenObject;
|
|
41
49
|
const validateQuoteResponse = (data) => {
|
|
42
|
-
const ChainIdSchema = (0, superstruct_1.number)();
|
|
43
|
-
const BridgeAssetSchema = (0, superstruct_1.type)({
|
|
44
|
-
chainId: ChainIdSchema,
|
|
45
|
-
address: (0, superstruct_1.string)(),
|
|
46
|
-
symbol: (0, superstruct_1.string)(),
|
|
47
|
-
name: (0, superstruct_1.string)(),
|
|
48
|
-
decimals: (0, superstruct_1.number)(),
|
|
49
|
-
icon: (0, superstruct_1.optional)((0, superstruct_1.string)()),
|
|
50
|
-
});
|
|
51
50
|
const FeeDataSchema = (0, superstruct_1.type)({
|
|
52
51
|
amount: TruthyDigitStringSchema,
|
|
53
52
|
asset: BridgeAssetSchema,
|
|
@@ -71,10 +70,10 @@ const validateQuoteResponse = (data) => {
|
|
|
71
70
|
const QuoteSchema = (0, superstruct_1.type)({
|
|
72
71
|
requestId: (0, superstruct_1.string)(),
|
|
73
72
|
srcChainId: ChainIdSchema,
|
|
74
|
-
srcAsset:
|
|
73
|
+
srcAsset: BridgeAssetSchema,
|
|
75
74
|
srcTokenAmount: (0, superstruct_1.string)(),
|
|
76
75
|
destChainId: ChainIdSchema,
|
|
77
|
-
destAsset:
|
|
76
|
+
destAsset: BridgeAssetSchema,
|
|
78
77
|
destTokenAmount: (0, superstruct_1.string)(),
|
|
79
78
|
feeData: (0, superstruct_1.record)((0, superstruct_1.enums)(Object.values(types_1.FeeType)), FeeDataSchema),
|
|
80
79
|
bridgeId: (0, superstruct_1.string)(),
|
|
@@ -93,7 +92,7 @@ const validateQuoteResponse = (data) => {
|
|
|
93
92
|
const QuoteResponseSchema = (0, superstruct_1.type)({
|
|
94
93
|
quote: QuoteSchema,
|
|
95
94
|
approval: (0, superstruct_1.optional)(TxDataSchema),
|
|
96
|
-
trade: TxDataSchema,
|
|
95
|
+
trade: (0, superstruct_1.union)([TxDataSchema, (0, superstruct_1.string)()]),
|
|
97
96
|
estimatedProcessingTimeInSeconds: (0, superstruct_1.number)(),
|
|
98
97
|
});
|
|
99
98
|
return (0, superstruct_1.is)(data, QuoteResponseSchema);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.cjs","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":";;;AAAA,iEAA+D;AAC/D,
|
|
1
|
+
{"version":3,"file":"validators.cjs","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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","sourcesContent":["import { isValidHexAddress } from '@metamask/controller-utils';\nimport {\n string,\n boolean,\n number,\n type,\n is,\n record,\n array,\n nullable,\n optional,\n enums,\n define,\n union,\n} from '@metamask/superstruct';\nimport { isStrictHexString } from '@metamask/utils';\n\nimport type { BridgeAsset, FeatureFlagResponse, QuoteResponse } from '../types';\nimport { ActionTypes, BridgeFlag, FeeType } from '../types';\n\nconst HexAddressSchema = define('HexAddress', (v: unknown) =>\n isValidHexAddress(v as string, { allowNonPrefixed: false }),\n);\n\nconst HexStringSchema = define('HexString', (v: unknown) =>\n isStrictHexString(v as string),\n);\n\nexport const truthyString = (s: string) => Boolean(s?.length);\nconst TruthyDigitStringSchema = define(\n 'TruthyDigitString',\n (v: unknown) =>\n truthyString(v as string) && Boolean((v as string).match(/^\\d+$/u)),\n);\n\nconst ChainIdSchema = number();\n\nconst BridgeAssetSchema = type({\n chainId: ChainIdSchema,\n address: string(),\n assetId: string(),\n symbol: string(),\n name: string(),\n decimals: number(),\n icon: optional(string()),\n iconUrl: optional(string()),\n});\n\nexport const validateFeatureFlagsResponse = (\n data: unknown,\n): data is FeatureFlagResponse => {\n const ChainConfigurationSchema = type({\n isActiveSrc: boolean(),\n isActiveDest: boolean(),\n refreshRate: optional(number()),\n topAssets: optional(array(string())),\n });\n\n const ConfigSchema = type({\n refreshRate: number(),\n maxRefreshCount: number(),\n support: boolean(),\n chains: record(string(), ChainConfigurationSchema),\n });\n\n // Create schema for FeatureFlagResponse\n const FeatureFlagResponseSchema = type({\n [BridgeFlag.EXTENSION_CONFIG]: ConfigSchema,\n [BridgeFlag.MOBILE_CONFIG]: ConfigSchema,\n });\n\n return is(data, FeatureFlagResponseSchema);\n};\n\nexport const validateSwapsTokenObject = (\n data: unknown,\n): data is BridgeAsset => {\n return is(data, BridgeAssetSchema);\n};\n\nexport const validateQuoteResponse = (data: unknown): data is QuoteResponse => {\n const FeeDataSchema = type({\n amount: TruthyDigitStringSchema,\n asset: BridgeAssetSchema,\n });\n\n const ProtocolSchema = type({\n name: string(),\n displayName: optional(string()),\n icon: optional(string()),\n });\n\n const StepSchema = type({\n action: enums(Object.values(ActionTypes)),\n srcChainId: ChainIdSchema,\n destChainId: optional(ChainIdSchema),\n srcAsset: BridgeAssetSchema,\n destAsset: BridgeAssetSchema,\n srcAmount: string(),\n destAmount: string(),\n protocol: ProtocolSchema,\n });\n\n const RefuelDataSchema = StepSchema;\n\n const QuoteSchema = type({\n requestId: string(),\n srcChainId: ChainIdSchema,\n srcAsset: BridgeAssetSchema,\n srcTokenAmount: string(),\n destChainId: ChainIdSchema,\n destAsset: BridgeAssetSchema,\n destTokenAmount: string(),\n feeData: record(enums(Object.values(FeeType)), FeeDataSchema),\n bridgeId: string(),\n bridges: array(string()),\n steps: array(StepSchema),\n refuel: optional(RefuelDataSchema),\n });\n\n const TxDataSchema = type({\n chainId: number(),\n to: HexAddressSchema,\n from: HexAddressSchema,\n value: HexStringSchema,\n data: HexStringSchema,\n gasLimit: nullable(number()),\n });\n\n const QuoteResponseSchema = type({\n quote: QuoteSchema,\n approval: optional(TxDataSchema),\n trade: union([TxDataSchema, string()]),\n estimatedProcessingTimeInSeconds: number(),\n });\n\n return is(data, QuoteResponseSchema);\n};\n"]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { FeatureFlagResponse, QuoteResponse } from "../types.cjs";
|
|
1
|
+
import type { BridgeAsset, FeatureFlagResponse, QuoteResponse } from "../types.cjs";
|
|
3
2
|
export declare const truthyString: (s: string) => boolean;
|
|
4
3
|
export declare const validateFeatureFlagsResponse: (data: unknown) => data is FeatureFlagResponse;
|
|
5
|
-
export declare const validateSwapsTokenObject: (data: unknown) => data is
|
|
4
|
+
export declare const validateSwapsTokenObject: (data: unknown) => data is BridgeAsset;
|
|
6
5
|
export declare const validateQuoteResponse: (data: unknown) => data is QuoteResponse;
|
|
7
6
|
//# sourceMappingURL=validators.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.cts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validators.d.cts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,qBAAiB;AAWhF,eAAO,MAAM,YAAY,MAAO,MAAM,YAAuB,CAAC;AAoB9D,eAAO,MAAM,4BAA4B,SACjC,OAAO,gCAuBd,CAAC;AAEF,eAAO,MAAM,wBAAwB,SAC7B,OAAO,wBAGd,CAAC;AAEF,eAAO,MAAM,qBAAqB,SAAU,OAAO,0BAyDlD,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { FeatureFlagResponse, QuoteResponse } from "../types.mjs";
|
|
1
|
+
import type { BridgeAsset, FeatureFlagResponse, QuoteResponse } from "../types.mjs";
|
|
3
2
|
export declare const truthyString: (s: string) => boolean;
|
|
4
3
|
export declare const validateFeatureFlagsResponse: (data: unknown) => data is FeatureFlagResponse;
|
|
5
|
-
export declare const validateSwapsTokenObject: (data: unknown) => data is
|
|
4
|
+
export declare const validateSwapsTokenObject: (data: unknown) => data is BridgeAsset;
|
|
6
5
|
export declare const validateQuoteResponse: (data: unknown) => data is QuoteResponse;
|
|
7
6
|
//# sourceMappingURL=validators.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.mts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validators.d.mts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,qBAAiB;AAWhF,eAAO,MAAM,YAAY,MAAO,MAAM,YAAuB,CAAC;AAoB9D,eAAO,MAAM,4BAA4B,SACjC,OAAO,gCAuBd,CAAC;AAEF,eAAO,MAAM,wBAAwB,SAC7B,OAAO,wBAGd,CAAC;AAEF,eAAO,MAAM,qBAAqB,SAAU,OAAO,0BAyDlD,CAAC"}
|
|
@@ -1,20 +1,28 @@
|
|
|
1
1
|
import { isValidHexAddress } from "@metamask/controller-utils";
|
|
2
|
-
import { string, boolean, number, type, is, record, array, nullable, optional, enums, define,
|
|
2
|
+
import { string, boolean, number, type, is, record, array, nullable, optional, enums, define, union } from "@metamask/superstruct";
|
|
3
3
|
import { isStrictHexString } from "@metamask/utils";
|
|
4
4
|
import { ActionTypes, BridgeFlag, FeeType } from "../types.mjs";
|
|
5
5
|
const HexAddressSchema = define('HexAddress', (v) => isValidHexAddress(v, { allowNonPrefixed: false }));
|
|
6
6
|
const HexStringSchema = define('HexString', (v) => isStrictHexString(v));
|
|
7
7
|
export const truthyString = (s) => Boolean(s?.length);
|
|
8
8
|
const TruthyDigitStringSchema = define('TruthyDigitString', (v) => truthyString(v) && Boolean(v.match(/^\d+$/u)));
|
|
9
|
-
const
|
|
9
|
+
const ChainIdSchema = number();
|
|
10
|
+
const BridgeAssetSchema = type({
|
|
11
|
+
chainId: ChainIdSchema,
|
|
12
|
+
address: string(),
|
|
13
|
+
assetId: string(),
|
|
14
|
+
symbol: string(),
|
|
15
|
+
name: string(),
|
|
10
16
|
decimals: number(),
|
|
11
|
-
|
|
12
|
-
|
|
17
|
+
icon: optional(string()),
|
|
18
|
+
iconUrl: optional(string()),
|
|
13
19
|
});
|
|
14
20
|
export const validateFeatureFlagsResponse = (data) => {
|
|
15
21
|
const ChainConfigurationSchema = type({
|
|
16
22
|
isActiveSrc: boolean(),
|
|
17
23
|
isActiveDest: boolean(),
|
|
24
|
+
refreshRate: optional(number()),
|
|
25
|
+
topAssets: optional(array(string())),
|
|
18
26
|
});
|
|
19
27
|
const ConfigSchema = type({
|
|
20
28
|
refreshRate: number(),
|
|
@@ -30,18 +38,9 @@ export const validateFeatureFlagsResponse = (data) => {
|
|
|
30
38
|
return is(data, FeatureFlagResponseSchema);
|
|
31
39
|
};
|
|
32
40
|
export const validateSwapsTokenObject = (data) => {
|
|
33
|
-
return is(data,
|
|
41
|
+
return is(data, BridgeAssetSchema);
|
|
34
42
|
};
|
|
35
43
|
export const validateQuoteResponse = (data) => {
|
|
36
|
-
const ChainIdSchema = number();
|
|
37
|
-
const BridgeAssetSchema = type({
|
|
38
|
-
chainId: ChainIdSchema,
|
|
39
|
-
address: string(),
|
|
40
|
-
symbol: string(),
|
|
41
|
-
name: string(),
|
|
42
|
-
decimals: number(),
|
|
43
|
-
icon: optional(string()),
|
|
44
|
-
});
|
|
45
44
|
const FeeDataSchema = type({
|
|
46
45
|
amount: TruthyDigitStringSchema,
|
|
47
46
|
asset: BridgeAssetSchema,
|
|
@@ -65,10 +64,10 @@ export const validateQuoteResponse = (data) => {
|
|
|
65
64
|
const QuoteSchema = type({
|
|
66
65
|
requestId: string(),
|
|
67
66
|
srcChainId: ChainIdSchema,
|
|
68
|
-
srcAsset:
|
|
67
|
+
srcAsset: BridgeAssetSchema,
|
|
69
68
|
srcTokenAmount: string(),
|
|
70
69
|
destChainId: ChainIdSchema,
|
|
71
|
-
destAsset:
|
|
70
|
+
destAsset: BridgeAssetSchema,
|
|
72
71
|
destTokenAmount: string(),
|
|
73
72
|
feeData: record(enums(Object.values(FeeType)), FeeDataSchema),
|
|
74
73
|
bridgeId: string(),
|
|
@@ -87,7 +86,7 @@ export const validateQuoteResponse = (data) => {
|
|
|
87
86
|
const QuoteResponseSchema = type({
|
|
88
87
|
quote: QuoteSchema,
|
|
89
88
|
approval: optional(TxDataSchema),
|
|
90
|
-
trade: TxDataSchema,
|
|
89
|
+
trade: union([TxDataSchema, string()]),
|
|
91
90
|
estimatedProcessingTimeInSeconds: number(),
|
|
92
91
|
});
|
|
93
92
|
return is(data, QuoteResponseSchema);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.mjs","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mCAAmC;AAC/D,OAAO,EACL,MAAM,EACN,OAAO,EACP,MAAM,EACN,IAAI,EACJ,EAAE,EACF,MAAM,EACN,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,MAAM,EACN,
|
|
1
|
+
{"version":3,"file":"validators.mjs","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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","sourcesContent":["import { isValidHexAddress } from '@metamask/controller-utils';\nimport {\n string,\n boolean,\n number,\n type,\n is,\n record,\n array,\n nullable,\n optional,\n enums,\n define,\n union,\n} from '@metamask/superstruct';\nimport { isStrictHexString } from '@metamask/utils';\n\nimport type { BridgeAsset, FeatureFlagResponse, QuoteResponse } from '../types';\nimport { ActionTypes, BridgeFlag, FeeType } from '../types';\n\nconst HexAddressSchema = define('HexAddress', (v: unknown) =>\n isValidHexAddress(v as string, { allowNonPrefixed: false }),\n);\n\nconst HexStringSchema = define('HexString', (v: unknown) =>\n isStrictHexString(v as string),\n);\n\nexport const truthyString = (s: string) => Boolean(s?.length);\nconst TruthyDigitStringSchema = define(\n 'TruthyDigitString',\n (v: unknown) =>\n truthyString(v as string) && Boolean((v as string).match(/^\\d+$/u)),\n);\n\nconst ChainIdSchema = number();\n\nconst BridgeAssetSchema = type({\n chainId: ChainIdSchema,\n address: string(),\n assetId: string(),\n symbol: string(),\n name: string(),\n decimals: number(),\n icon: optional(string()),\n iconUrl: optional(string()),\n});\n\nexport const validateFeatureFlagsResponse = (\n data: unknown,\n): data is FeatureFlagResponse => {\n const ChainConfigurationSchema = type({\n isActiveSrc: boolean(),\n isActiveDest: boolean(),\n refreshRate: optional(number()),\n topAssets: optional(array(string())),\n });\n\n const ConfigSchema = type({\n refreshRate: number(),\n maxRefreshCount: number(),\n support: boolean(),\n chains: record(string(), ChainConfigurationSchema),\n });\n\n // Create schema for FeatureFlagResponse\n const FeatureFlagResponseSchema = type({\n [BridgeFlag.EXTENSION_CONFIG]: ConfigSchema,\n [BridgeFlag.MOBILE_CONFIG]: ConfigSchema,\n });\n\n return is(data, FeatureFlagResponseSchema);\n};\n\nexport const validateSwapsTokenObject = (\n data: unknown,\n): data is BridgeAsset => {\n return is(data, BridgeAssetSchema);\n};\n\nexport const validateQuoteResponse = (data: unknown): data is QuoteResponse => {\n const FeeDataSchema = type({\n amount: TruthyDigitStringSchema,\n asset: BridgeAssetSchema,\n });\n\n const ProtocolSchema = type({\n name: string(),\n displayName: optional(string()),\n icon: optional(string()),\n });\n\n const StepSchema = type({\n action: enums(Object.values(ActionTypes)),\n srcChainId: ChainIdSchema,\n destChainId: optional(ChainIdSchema),\n srcAsset: BridgeAssetSchema,\n destAsset: BridgeAssetSchema,\n srcAmount: string(),\n destAmount: string(),\n protocol: ProtocolSchema,\n });\n\n const RefuelDataSchema = StepSchema;\n\n const QuoteSchema = type({\n requestId: string(),\n srcChainId: ChainIdSchema,\n srcAsset: BridgeAssetSchema,\n srcTokenAmount: string(),\n destChainId: ChainIdSchema,\n destAsset: BridgeAssetSchema,\n destTokenAmount: string(),\n feeData: record(enums(Object.values(FeeType)), FeeDataSchema),\n bridgeId: string(),\n bridges: array(string()),\n steps: array(StepSchema),\n refuel: optional(RefuelDataSchema),\n });\n\n const TxDataSchema = type({\n chainId: number(),\n to: HexAddressSchema,\n from: HexAddressSchema,\n value: HexStringSchema,\n data: HexStringSchema,\n gasLimit: nullable(number()),\n });\n\n const QuoteResponseSchema = type({\n quote: QuoteSchema,\n approval: optional(TxDataSchema),\n trade: union([TxDataSchema, string()]),\n estimatedProcessingTimeInSeconds: number(),\n });\n\n return is(data, QuoteResponseSchema);\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metamask/bridge-controller",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "11.0.0",
|
|
4
4
|
"description": "Manages bridge-related quote fetching functionality for MetaMask",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"MetaMask",
|
|
@@ -54,17 +54,21 @@
|
|
|
54
54
|
"@ethersproject/providers": "^5.7.0",
|
|
55
55
|
"@metamask/base-controller": "^8.0.0",
|
|
56
56
|
"@metamask/controller-utils": "^11.6.0",
|
|
57
|
+
"@metamask/keyring-api": "^17.2.0",
|
|
57
58
|
"@metamask/metamask-eth-abis": "^3.1.1",
|
|
59
|
+
"@metamask/multichain-network-controller": "^0.3.0",
|
|
58
60
|
"@metamask/polling-controller": "^13.0.0",
|
|
61
|
+
"@metamask/snaps-utils": "^8.10.0",
|
|
59
62
|
"@metamask/utils": "^11.2.0"
|
|
60
63
|
},
|
|
61
64
|
"devDependencies": {
|
|
62
65
|
"@metamask/accounts-controller": "^27.0.0",
|
|
63
66
|
"@metamask/auto-changelog": "^3.4.4",
|
|
64
67
|
"@metamask/eth-json-rpc-provider": "^4.1.8",
|
|
65
|
-
"@metamask/network-controller": "^23.
|
|
68
|
+
"@metamask/network-controller": "^23.1.0",
|
|
69
|
+
"@metamask/snaps-controllers": "^9.19.0",
|
|
66
70
|
"@metamask/superstruct": "^3.1.0",
|
|
67
|
-
"@metamask/transaction-controller": "^
|
|
71
|
+
"@metamask/transaction-controller": "^52.0.0",
|
|
68
72
|
"@types/jest": "^27.4.1",
|
|
69
73
|
"deepmerge": "^4.2.2",
|
|
70
74
|
"jest": "^27.5.1",
|
|
@@ -79,7 +83,8 @@
|
|
|
79
83
|
"peerDependencies": {
|
|
80
84
|
"@metamask/accounts-controller": "^27.0.0",
|
|
81
85
|
"@metamask/network-controller": "^23.0.0",
|
|
82
|
-
"@metamask/
|
|
86
|
+
"@metamask/snaps-controllers": "^9.19.0",
|
|
87
|
+
"@metamask/transaction-controller": "^52.0.0"
|
|
83
88
|
},
|
|
84
89
|
"engines": {
|
|
85
90
|
"node": "^18.18 || >=20"
|