@metamask-previews/bridge-controller 77.3.2-preview-bbd2df29f → 77.3.2-preview-34f2bcbf7
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 +4 -0
- package/dist/bridge-controller.cjs.map +1 -1
- package/dist/bridge-controller.d.cts +3 -2
- package/dist/bridge-controller.d.cts.map +1 -1
- package/dist/bridge-controller.d.mts +3 -2
- package/dist/bridge-controller.d.mts.map +1 -1
- package/dist/bridge-controller.mjs +1 -1
- package/dist/bridge-controller.mjs.map +1 -1
- package/dist/index.cjs +36 -30
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +14 -5
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +14 -5
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +10 -4
- package/dist/index.mjs.map +1 -1
- package/dist/selectors.cjs.map +1 -1
- package/dist/selectors.d.cts +5971 -6520
- package/dist/selectors.d.cts.map +1 -1
- package/dist/selectors.d.mts +5971 -6520
- package/dist/selectors.d.mts.map +1 -1
- package/dist/selectors.mjs.map +1 -1
- package/dist/types.cjs +1 -12
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +21 -41
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +21 -41
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs +0 -11
- package/dist/types.mjs.map +1 -1
- package/dist/utils/bridge.cjs +1 -0
- package/dist/utils/bridge.cjs.map +1 -1
- package/dist/utils/bridge.d.cts +4 -3
- package/dist/utils/bridge.d.cts.map +1 -1
- package/dist/utils/bridge.d.mts +4 -3
- package/dist/utils/bridge.d.mts.map +1 -1
- package/dist/utils/bridge.mjs +1 -0
- package/dist/utils/bridge.mjs.map +1 -1
- package/dist/utils/feature-flags.cjs +2 -2
- package/dist/utils/feature-flags.cjs.map +1 -1
- package/dist/utils/feature-flags.d.cts +1 -1
- package/dist/utils/feature-flags.d.mts +1 -1
- package/dist/utils/feature-flags.mjs +1 -1
- package/dist/utils/feature-flags.mjs.map +1 -1
- package/dist/utils/fetch.cjs +16 -11
- package/dist/utils/fetch.cjs.map +1 -1
- package/dist/utils/fetch.d.cts +3 -1
- package/dist/utils/fetch.d.cts.map +1 -1
- package/dist/utils/fetch.d.mts +3 -1
- package/dist/utils/fetch.d.mts.map +1 -1
- package/dist/utils/fetch.mjs +9 -4
- package/dist/utils/fetch.mjs.map +1 -1
- package/dist/utils/metrics/properties.cjs +2 -2
- package/dist/utils/metrics/properties.cjs.map +1 -1
- package/dist/utils/metrics/properties.d.cts +4 -2
- package/dist/utils/metrics/properties.d.cts.map +1 -1
- package/dist/utils/metrics/properties.d.mts +4 -2
- package/dist/utils/metrics/properties.d.mts.map +1 -1
- package/dist/utils/metrics/properties.mjs +1 -1
- package/dist/utils/metrics/properties.mjs.map +1 -1
- package/dist/utils/metrics/types.cjs.map +1 -1
- package/dist/utils/metrics/types.d.cts +2 -1
- package/dist/utils/metrics/types.d.cts.map +1 -1
- package/dist/utils/metrics/types.d.mts +2 -1
- package/dist/utils/metrics/types.d.mts.map +1 -1
- package/dist/utils/metrics/types.mjs.map +1 -1
- package/dist/utils/quote-fees.cjs +2 -1
- package/dist/utils/quote-fees.cjs.map +1 -1
- package/dist/utils/quote-fees.d.cts +2 -1
- package/dist/utils/quote-fees.d.cts.map +1 -1
- package/dist/utils/quote-fees.d.mts +2 -1
- package/dist/utils/quote-fees.d.mts.map +1 -1
- package/dist/utils/quote-fees.mjs +2 -1
- package/dist/utils/quote-fees.mjs.map +1 -1
- package/dist/utils/quote.cjs +3 -3
- package/dist/utils/quote.cjs.map +1 -1
- package/dist/utils/quote.d.cts +5 -2
- package/dist/utils/quote.d.cts.map +1 -1
- package/dist/utils/quote.d.mts +5 -2
- package/dist/utils/quote.d.mts.map +1 -1
- package/dist/utils/quote.mjs +2 -2
- package/dist/utils/quote.mjs.map +1 -1
- package/dist/utils/struct-error.cjs +16 -0
- package/dist/utils/struct-error.cjs.map +1 -0
- package/dist/utils/struct-error.d.cts +11 -0
- package/dist/utils/struct-error.d.cts.map +1 -0
- package/dist/utils/struct-error.d.mts +11 -0
- package/dist/utils/struct-error.d.mts.map +1 -0
- package/dist/utils/struct-error.mjs +12 -0
- package/dist/utils/struct-error.mjs.map +1 -0
- package/dist/utils/trade-utils.cjs +7 -66
- package/dist/utils/trade-utils.cjs.map +1 -1
- package/dist/utils/trade-utils.d.cts +1 -54
- package/dist/utils/trade-utils.d.cts.map +1 -1
- package/dist/utils/trade-utils.d.mts +1 -54
- package/dist/utils/trade-utils.d.mts.map +1 -1
- package/dist/utils/trade-utils.mjs +1 -56
- package/dist/utils/trade-utils.mjs.map +1 -1
- package/dist/validators/batch-sell.cjs +39 -0
- package/dist/validators/batch-sell.cjs.map +1 -0
- package/dist/validators/batch-sell.d.cts +79 -0
- package/dist/validators/batch-sell.d.cts.map +1 -0
- package/dist/validators/batch-sell.d.mts +79 -0
- package/dist/validators/batch-sell.d.mts.map +1 -0
- package/dist/validators/batch-sell.mjs +35 -0
- package/dist/validators/batch-sell.mjs.map +1 -0
- package/dist/validators/bridge-asset.cjs +42 -0
- package/dist/validators/bridge-asset.cjs.map +1 -0
- package/dist/validators/bridge-asset.d.cts +52 -0
- package/dist/validators/bridge-asset.d.cts.map +1 -0
- package/dist/validators/bridge-asset.d.mts +52 -0
- package/dist/validators/bridge-asset.d.mts.map +1 -0
- package/dist/validators/bridge-asset.mjs +38 -0
- package/dist/validators/bridge-asset.mjs.map +1 -0
- package/dist/validators/feature-flags.cjs +110 -0
- package/dist/validators/feature-flags.cjs.map +1 -0
- package/dist/validators/feature-flags.d.cts +264 -0
- package/dist/validators/feature-flags.d.cts.map +1 -0
- package/dist/validators/feature-flags.d.mts +264 -0
- package/dist/validators/feature-flags.d.mts.map +1 -0
- package/dist/validators/feature-flags.mjs +106 -0
- package/dist/validators/feature-flags.mjs.map +1 -0
- package/dist/validators/intent.cjs +122 -0
- package/dist/validators/intent.cjs.map +1 -0
- package/dist/validators/intent.d.cts +231 -0
- package/dist/validators/intent.d.cts.map +1 -0
- package/dist/validators/intent.d.mts +231 -0
- package/dist/validators/intent.d.mts.map +1 -0
- package/dist/validators/intent.mjs +119 -0
- package/dist/validators/intent.mjs.map +1 -0
- package/dist/validators/number.cjs +8 -0
- package/dist/validators/number.cjs.map +1 -0
- package/dist/validators/number.d.cts +4 -0
- package/dist/validators/number.d.cts.map +1 -0
- package/dist/validators/number.d.mts +4 -0
- package/dist/validators/number.d.mts.map +1 -0
- package/dist/validators/number.mjs +5 -0
- package/dist/validators/number.mjs.map +1 -0
- package/dist/validators/quote-response-v1.cjs +31 -0
- package/dist/validators/quote-response-v1.cjs.map +1 -0
- package/dist/validators/quote-response-v1.d.cts +658 -0
- package/dist/validators/quote-response-v1.d.cts.map +1 -0
- package/dist/validators/quote-response-v1.d.mts +658 -0
- package/dist/validators/quote-response-v1.d.mts.map +1 -0
- package/dist/validators/quote-response-v1.mjs +27 -0
- package/dist/validators/quote-response-v1.mjs.map +1 -0
- package/dist/validators/quote-stream-complete.cjs +29 -0
- package/dist/validators/quote-stream-complete.cjs.map +1 -0
- package/dist/validators/quote-stream-complete.d.cts +39 -0
- package/dist/validators/quote-stream-complete.d.cts.map +1 -0
- package/dist/validators/quote-stream-complete.d.mts +39 -0
- package/dist/validators/quote-stream-complete.d.mts.map +1 -0
- package/dist/validators/quote-stream-complete.mjs +25 -0
- package/dist/validators/quote-stream-complete.mjs.map +1 -0
- package/dist/validators/quote.cjs +96 -0
- package/dist/validators/quote.cjs.map +1 -0
- package/dist/validators/quote.d.cts +230 -0
- package/dist/validators/quote.d.cts.map +1 -0
- package/dist/validators/quote.d.mts +230 -0
- package/dist/validators/quote.d.mts.map +1 -0
- package/dist/validators/quote.mjs +93 -0
- package/dist/validators/quote.mjs.map +1 -0
- package/dist/validators/step.cjs +20 -0
- package/dist/validators/step.cjs.map +1 -0
- package/dist/validators/step.d.cts +148 -0
- package/dist/validators/step.d.cts.map +1 -0
- package/dist/validators/step.d.mts +148 -0
- package/dist/validators/step.d.mts.map +1 -0
- package/dist/validators/step.mjs +17 -0
- package/dist/validators/step.mjs.map +1 -0
- package/dist/validators/token-feature.cjs +22 -0
- package/dist/validators/token-feature.cjs.map +1 -0
- package/dist/validators/token-feature.d.cts +26 -0
- package/dist/validators/token-feature.d.cts.map +1 -0
- package/dist/validators/token-feature.d.mts +26 -0
- package/dist/validators/token-feature.d.mts.map +1 -0
- package/dist/validators/token-feature.mjs +18 -0
- package/dist/validators/token-feature.mjs.map +1 -0
- package/dist/validators/trade.cjs +94 -0
- package/dist/validators/trade.cjs.map +1 -0
- package/dist/validators/trade.d.cts +121 -0
- package/dist/validators/trade.d.cts.map +1 -0
- package/dist/validators/trade.d.mts +121 -0
- package/dist/validators/trade.d.mts.map +1 -0
- package/dist/validators/trade.mjs +86 -0
- package/dist/validators/trade.mjs.map +1 -0
- package/package.json +4 -4
- package/dist/utils/validators.cjs +0 -471
- package/dist/utils/validators.cjs.map +0 -1
- package/dist/utils/validators.d.cts +0 -1765
- package/dist/utils/validators.d.cts.map +0 -1
- package/dist/utils/validators.d.mts +0 -1765
- package/dist/utils/validators.d.mts.map +0 -1
- package/dist/utils/validators.mjs +0 -461
- package/dist/utils/validators.mjs.map +0 -1
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export declare const ChainIdSchema: import("@metamask/superstruct").Struct<number, null>;
|
|
2
|
+
export declare const BridgeAssetSchema: import("@metamask/superstruct").Struct<{
|
|
3
|
+
symbol: string;
|
|
4
|
+
chainId: number;
|
|
5
|
+
address: string;
|
|
6
|
+
assetId: `${string}:${string}/${string}:${string}`;
|
|
7
|
+
name: string;
|
|
8
|
+
decimals: number;
|
|
9
|
+
icon?: string | null | undefined;
|
|
10
|
+
iconUrl?: string | null | undefined;
|
|
11
|
+
}, {
|
|
12
|
+
/**
|
|
13
|
+
* The chainId of the token
|
|
14
|
+
*/
|
|
15
|
+
chainId: import("@metamask/superstruct").Struct<number, null>;
|
|
16
|
+
/**
|
|
17
|
+
* An address that the metaswap-api recognizes as the default token
|
|
18
|
+
*/
|
|
19
|
+
address: import("@metamask/superstruct").Struct<string, null>;
|
|
20
|
+
/**
|
|
21
|
+
* The assetId of the token
|
|
22
|
+
*/
|
|
23
|
+
assetId: import("@metamask/superstruct").Struct<`${string}:${string}/${string}:${string}`, null>;
|
|
24
|
+
/**
|
|
25
|
+
* The symbol of token object
|
|
26
|
+
*/
|
|
27
|
+
symbol: import("@metamask/superstruct").Struct<string, null>;
|
|
28
|
+
/**
|
|
29
|
+
* The name for the network
|
|
30
|
+
*/
|
|
31
|
+
name: import("@metamask/superstruct").Struct<string, null>;
|
|
32
|
+
decimals: import("@metamask/superstruct").Struct<number, null>;
|
|
33
|
+
/**
|
|
34
|
+
* URL for token icon
|
|
35
|
+
*/
|
|
36
|
+
icon: import("@metamask/superstruct").Struct<string | null | undefined, null>;
|
|
37
|
+
/**
|
|
38
|
+
* URL for token icon
|
|
39
|
+
*/
|
|
40
|
+
iconUrl: import("@metamask/superstruct").Struct<string | null | undefined, null>;
|
|
41
|
+
}>;
|
|
42
|
+
export declare const validateBridgeAsset: (data: unknown) => data is {
|
|
43
|
+
symbol: string;
|
|
44
|
+
chainId: number;
|
|
45
|
+
address: string;
|
|
46
|
+
assetId: `${string}:${string}/${string}:${string}`;
|
|
47
|
+
name: string;
|
|
48
|
+
decimals: number;
|
|
49
|
+
icon?: string | null | undefined;
|
|
50
|
+
iconUrl?: string | null | undefined;
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=bridge-asset.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge-asset.d.cts","sourceRoot":"","sources":["../../src/validators/bridge-asset.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,aAAa,sDAAW,CAAC;AAEtC,eAAO,MAAM,iBAAiB;;;;;;;;;;IAC5B;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;;IAGH;;OAEG;;IAEH;;OAEG;;EAEH,CAAC;AAEH,eAAO,MAAM,mBAAmB,SACxB,OAAO;;;;;;;;;CAGd,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export declare const ChainIdSchema: import("@metamask/superstruct").Struct<number, null>;
|
|
2
|
+
export declare const BridgeAssetSchema: import("@metamask/superstruct").Struct<{
|
|
3
|
+
symbol: string;
|
|
4
|
+
chainId: number;
|
|
5
|
+
address: string;
|
|
6
|
+
assetId: `${string}:${string}/${string}:${string}`;
|
|
7
|
+
name: string;
|
|
8
|
+
decimals: number;
|
|
9
|
+
icon?: string | null | undefined;
|
|
10
|
+
iconUrl?: string | null | undefined;
|
|
11
|
+
}, {
|
|
12
|
+
/**
|
|
13
|
+
* The chainId of the token
|
|
14
|
+
*/
|
|
15
|
+
chainId: import("@metamask/superstruct").Struct<number, null>;
|
|
16
|
+
/**
|
|
17
|
+
* An address that the metaswap-api recognizes as the default token
|
|
18
|
+
*/
|
|
19
|
+
address: import("@metamask/superstruct").Struct<string, null>;
|
|
20
|
+
/**
|
|
21
|
+
* The assetId of the token
|
|
22
|
+
*/
|
|
23
|
+
assetId: import("@metamask/superstruct").Struct<`${string}:${string}/${string}:${string}`, null>;
|
|
24
|
+
/**
|
|
25
|
+
* The symbol of token object
|
|
26
|
+
*/
|
|
27
|
+
symbol: import("@metamask/superstruct").Struct<string, null>;
|
|
28
|
+
/**
|
|
29
|
+
* The name for the network
|
|
30
|
+
*/
|
|
31
|
+
name: import("@metamask/superstruct").Struct<string, null>;
|
|
32
|
+
decimals: import("@metamask/superstruct").Struct<number, null>;
|
|
33
|
+
/**
|
|
34
|
+
* URL for token icon
|
|
35
|
+
*/
|
|
36
|
+
icon: import("@metamask/superstruct").Struct<string | null | undefined, null>;
|
|
37
|
+
/**
|
|
38
|
+
* URL for token icon
|
|
39
|
+
*/
|
|
40
|
+
iconUrl: import("@metamask/superstruct").Struct<string | null | undefined, null>;
|
|
41
|
+
}>;
|
|
42
|
+
export declare const validateBridgeAsset: (data: unknown) => data is {
|
|
43
|
+
symbol: string;
|
|
44
|
+
chainId: number;
|
|
45
|
+
address: string;
|
|
46
|
+
assetId: `${string}:${string}/${string}:${string}`;
|
|
47
|
+
name: string;
|
|
48
|
+
decimals: number;
|
|
49
|
+
icon?: string | null | undefined;
|
|
50
|
+
iconUrl?: string | null | undefined;
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=bridge-asset.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge-asset.d.mts","sourceRoot":"","sources":["../../src/validators/bridge-asset.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,aAAa,sDAAW,CAAC;AAEtC,eAAO,MAAM,iBAAiB;;;;;;;;;;IAC5B;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;;IAGH;;OAEG;;IAEH;;OAEG;;EAEH,CAAC;AAEH,eAAO,MAAM,mBAAmB,SACxB,OAAO;;;;;;;;;CAGd,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { number, type, string, optional, nullable, is } from "@metamask/superstruct";
|
|
2
|
+
import { CaipAssetTypeStruct } from "@metamask/utils";
|
|
3
|
+
export const ChainIdSchema = number();
|
|
4
|
+
export const BridgeAssetSchema = type({
|
|
5
|
+
/**
|
|
6
|
+
* The chainId of the token
|
|
7
|
+
*/
|
|
8
|
+
chainId: ChainIdSchema,
|
|
9
|
+
/**
|
|
10
|
+
* An address that the metaswap-api recognizes as the default token
|
|
11
|
+
*/
|
|
12
|
+
address: string(),
|
|
13
|
+
/**
|
|
14
|
+
* The assetId of the token
|
|
15
|
+
*/
|
|
16
|
+
assetId: CaipAssetTypeStruct,
|
|
17
|
+
/**
|
|
18
|
+
* The symbol of token object
|
|
19
|
+
*/
|
|
20
|
+
symbol: string(),
|
|
21
|
+
/**
|
|
22
|
+
* The name for the network
|
|
23
|
+
*/
|
|
24
|
+
name: string(),
|
|
25
|
+
decimals: number(),
|
|
26
|
+
/**
|
|
27
|
+
* URL for token icon
|
|
28
|
+
*/
|
|
29
|
+
icon: optional(nullable(string())),
|
|
30
|
+
/**
|
|
31
|
+
* URL for token icon
|
|
32
|
+
*/
|
|
33
|
+
iconUrl: optional(nullable(string())),
|
|
34
|
+
});
|
|
35
|
+
export const validateBridgeAsset = (data) => {
|
|
36
|
+
return is(data, BridgeAssetSchema);
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=bridge-asset.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge-asset.mjs","sourceRoot":"","sources":["../../src/validators/bridge-asset.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,EAAE,EACH,8BAA8B;AAE/B,OAAO,EAAE,mBAAmB,EAAE,wBAAwB;AAEtD,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC;AAEtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC;IACpC;;OAEG;IACH,OAAO,EAAE,aAAa;IACtB;;OAEG;IACH,OAAO,EAAE,MAAM,EAAE;IACjB;;OAEG;IACH,OAAO,EAAE,mBAAmB;IAC5B;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE;IAChB;;OAEG;IACH,IAAI,EAAE,MAAM,EAAE;IACd,QAAQ,EAAE,MAAM,EAAE;IAClB;;OAEG;IACH,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAClC;;OAEG;IACH,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;CACtC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,IAAa,EAC4B,EAAE;IAC3C,OAAO,EAAE,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;AACrC,CAAC,CAAC","sourcesContent":["import {\n number,\n type,\n string,\n optional,\n nullable,\n is,\n} from '@metamask/superstruct';\nimport type { Infer } from '@metamask/superstruct';\nimport { CaipAssetTypeStruct } from '@metamask/utils';\n\nexport const ChainIdSchema = number();\n\nexport const BridgeAssetSchema = type({\n /**\n * The chainId of the token\n */\n chainId: ChainIdSchema,\n /**\n * An address that the metaswap-api recognizes as the default token\n */\n address: string(),\n /**\n * The assetId of the token\n */\n assetId: CaipAssetTypeStruct,\n /**\n * The symbol of token object\n */\n symbol: string(),\n /**\n * The name for the network\n */\n name: string(),\n decimals: number(),\n /**\n * URL for token icon\n */\n icon: optional(nullable(string())),\n /**\n * URL for token icon\n */\n iconUrl: optional(nullable(string())),\n});\n\nexport const validateBridgeAsset = (\n data: unknown,\n): data is Infer<typeof BridgeAssetSchema> => {\n return is(data, BridgeAssetSchema);\n};\n"]}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateFeatureFlagsResponse = exports.PlatformConfigSchema = exports.PriceImpactThresholdSchema = exports.ChainConfigurationSchema = exports.ChainRankingSchema = exports.ChainRankingItemSchema = exports.VersionStringSchema = exports.FeatureId = void 0;
|
|
4
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
5
|
+
const superstruct_1 = require("@metamask/superstruct");
|
|
6
|
+
const utils_1 = require("@metamask/utils");
|
|
7
|
+
var FeatureId;
|
|
8
|
+
(function (FeatureId) {
|
|
9
|
+
FeatureId["UNKNOWN"] = "unknown";
|
|
10
|
+
FeatureId["PERPS"] = "perps";
|
|
11
|
+
FeatureId["QUICK_BUY_FOLLOW_TRADING"] = "quick_buy_follow_trading";
|
|
12
|
+
FeatureId["QUICK_BUY_TOKEN_DETAILS"] = "quick_buy_token_details";
|
|
13
|
+
FeatureId["QUICK_BUY_EXPLORE"] = "quick_buy_explore";
|
|
14
|
+
FeatureId["DAPP_SWAP"] = "dapp_swap";
|
|
15
|
+
FeatureId["BATCH_SELL"] = "batch_sell";
|
|
16
|
+
FeatureId["UNIFIED_SWAP_BRIDGE"] = "unified_swap_bridge";
|
|
17
|
+
})(FeatureId || (exports.FeatureId = FeatureId = {}));
|
|
18
|
+
exports.VersionStringSchema = (0, superstruct_1.define)('VersionString', (value) => typeof value === 'string' &&
|
|
19
|
+
/^(\d+\.*){2}\d+$/u.test(value) &&
|
|
20
|
+
value.split('.').length === 3);
|
|
21
|
+
const DefaultPairSchema = (0, superstruct_1.type)({
|
|
22
|
+
/**
|
|
23
|
+
* The standard default pairs. Use this if the pair is only set once.
|
|
24
|
+
* The key is the CAIP asset type of the src token and the value is the CAIP asset type of the dest token.
|
|
25
|
+
*/
|
|
26
|
+
standard: (0, superstruct_1.record)((0, superstruct_1.string)(), (0, superstruct_1.string)()),
|
|
27
|
+
/**
|
|
28
|
+
* The other default pairs. Use this if the dest token depends on the src token and can be set multiple times.
|
|
29
|
+
* The key is the CAIP asset type of the src token and the value is the CAIP asset type of the dest token.
|
|
30
|
+
*/
|
|
31
|
+
other: (0, superstruct_1.record)((0, superstruct_1.string)(), (0, superstruct_1.string)()),
|
|
32
|
+
});
|
|
33
|
+
exports.ChainRankingItemSchema = (0, superstruct_1.type)({
|
|
34
|
+
/**
|
|
35
|
+
* The CAIP-2 chain identifier (e.g., "eip155:1" for Ethereum mainnet)
|
|
36
|
+
*/
|
|
37
|
+
chainId: utils_1.CaipChainIdStruct,
|
|
38
|
+
/**
|
|
39
|
+
* The display name of the chain (e.g., "Ethereum")
|
|
40
|
+
*/
|
|
41
|
+
name: (0, superstruct_1.string)(),
|
|
42
|
+
});
|
|
43
|
+
exports.ChainRankingSchema = (0, superstruct_1.optional)((0, superstruct_1.array)(exports.ChainRankingItemSchema));
|
|
44
|
+
exports.ChainConfigurationSchema = (0, superstruct_1.type)({
|
|
45
|
+
isActiveSrc: (0, superstruct_1.boolean)(),
|
|
46
|
+
isActiveDest: (0, superstruct_1.boolean)(),
|
|
47
|
+
refreshRate: (0, superstruct_1.optional)((0, superstruct_1.number)()),
|
|
48
|
+
topAssets: (0, superstruct_1.optional)((0, superstruct_1.array)((0, superstruct_1.string)())),
|
|
49
|
+
stablecoins: (0, superstruct_1.optional)((0, superstruct_1.array)((0, superstruct_1.string)())),
|
|
50
|
+
batchSellDestStablecoins: (0, superstruct_1.optional)((0, superstruct_1.array)(utils_1.CaipAssetTypeStruct)),
|
|
51
|
+
isUnifiedUIEnabled: (0, superstruct_1.optional)((0, superstruct_1.boolean)()),
|
|
52
|
+
isSingleSwapBridgeButtonEnabled: (0, superstruct_1.optional)((0, superstruct_1.boolean)()),
|
|
53
|
+
isGaslessSwapEnabled: (0, superstruct_1.optional)((0, superstruct_1.boolean)()),
|
|
54
|
+
noFeeAssets: (0, superstruct_1.optional)((0, superstruct_1.array)((0, superstruct_1.string)())),
|
|
55
|
+
defaultPairs: (0, superstruct_1.optional)(DefaultPairSchema),
|
|
56
|
+
});
|
|
57
|
+
exports.PriceImpactThresholdSchema = (0, superstruct_1.type)({
|
|
58
|
+
// We are moving into a unified approach where
|
|
59
|
+
// price impact thresholds will be segmented by
|
|
60
|
+
// importance rather than transaction type.
|
|
61
|
+
// The introduction of warning/danger will first be handled
|
|
62
|
+
// by mobile, followed by extension and then removal of gasless/normal
|
|
63
|
+
// from LD configs.
|
|
64
|
+
// To make the migration easier, we define all fields as optional for now.
|
|
65
|
+
// After the migration takes place, gasless/normal will be removed
|
|
66
|
+
// and warning/danger will be set as required fields.
|
|
67
|
+
gasless: (0, superstruct_1.number)(), // Percentage value in decimal format (eg 0.02 is 2%)
|
|
68
|
+
normal: (0, superstruct_1.number)(), // Percentage value in decimal format
|
|
69
|
+
warning: (0, superstruct_1.optional)((0, superstruct_1.number)()), // Percentage value in decimal format
|
|
70
|
+
error: (0, superstruct_1.optional)((0, superstruct_1.number)()), // Percentage value in decimal format
|
|
71
|
+
});
|
|
72
|
+
const GenericQuoteRequestSchema = (0, superstruct_1.type)({
|
|
73
|
+
aggIds: (0, superstruct_1.optional)((0, superstruct_1.array)((0, superstruct_1.string)())),
|
|
74
|
+
bridgeIds: (0, superstruct_1.optional)((0, superstruct_1.array)((0, superstruct_1.string)())),
|
|
75
|
+
fee: (0, superstruct_1.optional)((0, superstruct_1.number)()),
|
|
76
|
+
});
|
|
77
|
+
/**
|
|
78
|
+
* This is the schema for the feature flags response from the RemoteFeatureFlagController
|
|
79
|
+
*/
|
|
80
|
+
exports.PlatformConfigSchema = (0, superstruct_1.type)({
|
|
81
|
+
priceImpactThreshold: (0, superstruct_1.optional)(exports.PriceImpactThresholdSchema),
|
|
82
|
+
quoteRequestOverrides: (0, superstruct_1.optional)((0, superstruct_1.record)((0, superstruct_1.string)(), (0, superstruct_1.optional)(GenericQuoteRequestSchema))),
|
|
83
|
+
minimumVersion: (0, superstruct_1.string)(),
|
|
84
|
+
refreshRate: (0, superstruct_1.number)(),
|
|
85
|
+
maxRefreshCount: (0, superstruct_1.number)(),
|
|
86
|
+
support: (0, superstruct_1.boolean)(),
|
|
87
|
+
chains: (0, superstruct_1.record)((0, superstruct_1.string)(), exports.ChainConfigurationSchema),
|
|
88
|
+
/**
|
|
89
|
+
* The bip44 default pairs for the chains
|
|
90
|
+
* Key is the CAIP chainId namespace
|
|
91
|
+
*/
|
|
92
|
+
bip44DefaultPairs: (0, superstruct_1.optional)((0, superstruct_1.record)((0, superstruct_1.string)(), (0, superstruct_1.optional)(DefaultPairSchema))),
|
|
93
|
+
sse: (0, superstruct_1.optional)((0, superstruct_1.type)({
|
|
94
|
+
enabled: (0, superstruct_1.boolean)(),
|
|
95
|
+
/**
|
|
96
|
+
* The minimum version of the client required to enable SSE, for example 13.8.0
|
|
97
|
+
*/
|
|
98
|
+
minimumVersion: exports.VersionStringSchema,
|
|
99
|
+
})),
|
|
100
|
+
/**
|
|
101
|
+
* Array of chain objects ordered by preference/ranking
|
|
102
|
+
*/
|
|
103
|
+
chainRanking: exports.ChainRankingSchema,
|
|
104
|
+
maxPendingHistoryItemAgeMs: (0, superstruct_1.optional)((0, superstruct_1.number)()),
|
|
105
|
+
});
|
|
106
|
+
const validateFeatureFlagsResponse = (data) => {
|
|
107
|
+
return (0, superstruct_1.is)(data, exports.PlatformConfigSchema);
|
|
108
|
+
};
|
|
109
|
+
exports.validateFeatureFlagsResponse = validateFeatureFlagsResponse;
|
|
110
|
+
//# sourceMappingURL=feature-flags.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feature-flags.cjs","sourceRoot":"","sources":["../../src/validators/feature-flags.ts"],"names":[],"mappings":";;;AAAA,yDAAyD;AACzD,uDAU+B;AAE/B,2CAAyE;AAEzE,IAAY,SASX;AATD,WAAY,SAAS;IACnB,gCAAmB,CAAA;IACnB,4BAAe,CAAA;IACf,kEAAqD,CAAA;IACrD,gEAAmD,CAAA;IACnD,oDAAuC,CAAA;IACvC,oCAAuB,CAAA;IACvB,sCAAyB,CAAA;IACzB,wDAA2C,CAAA;AAC7C,CAAC,EATW,SAAS,yBAAT,SAAS,QASpB;AAEY,QAAA,mBAAmB,GAAG,IAAA,oBAAM,EACvC,eAAe,EACf,CAAC,KAAc,EAAE,EAAE,CACjB,OAAO,KAAK,KAAK,QAAQ;IACzB,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC;IAC/B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAChC,CAAC;AAEF,MAAM,iBAAiB,GAAG,IAAA,kBAAI,EAAC;IAC7B;;;OAGG;IACH,QAAQ,EAAE,IAAA,oBAAM,EAAC,IAAA,oBAAM,GAAE,EAAE,IAAA,oBAAM,GAAE,CAAC;IACpC;;;OAGG;IACH,KAAK,EAAE,IAAA,oBAAM,EAAC,IAAA,oBAAM,GAAE,EAAE,IAAA,oBAAM,GAAE,CAAC;CAClC,CAAC,CAAC;AAEU,QAAA,sBAAsB,GAAG,IAAA,kBAAI,EAAC;IACzC;;OAEG;IACH,OAAO,EAAE,yBAAiB;IAC1B;;OAEG;IACH,IAAI,EAAE,IAAA,oBAAM,GAAE;CACf,CAAC,CAAC;AAEU,QAAA,kBAAkB,GAAG,IAAA,sBAAQ,EAAC,IAAA,mBAAK,EAAC,8BAAsB,CAAC,CAAC,CAAC;AAE7D,QAAA,wBAAwB,GAAG,IAAA,kBAAI,EAAC;IAC3C,WAAW,EAAE,IAAA,qBAAO,GAAE;IACtB,YAAY,EAAE,IAAA,qBAAO,GAAE;IACvB,WAAW,EAAE,IAAA,sBAAQ,EAAC,IAAA,oBAAM,GAAE,CAAC;IAC/B,SAAS,EAAE,IAAA,sBAAQ,EAAC,IAAA,mBAAK,EAAC,IAAA,oBAAM,GAAE,CAAC,CAAC;IACpC,WAAW,EAAE,IAAA,sBAAQ,EAAC,IAAA,mBAAK,EAAC,IAAA,oBAAM,GAAE,CAAC,CAAC;IACtC,wBAAwB,EAAE,IAAA,sBAAQ,EAAC,IAAA,mBAAK,EAAC,2BAAmB,CAAC,CAAC;IAC9D,kBAAkB,EAAE,IAAA,sBAAQ,EAAC,IAAA,qBAAO,GAAE,CAAC;IACvC,+BAA+B,EAAE,IAAA,sBAAQ,EAAC,IAAA,qBAAO,GAAE,CAAC;IACpD,oBAAoB,EAAE,IAAA,sBAAQ,EAAC,IAAA,qBAAO,GAAE,CAAC;IACzC,WAAW,EAAE,IAAA,sBAAQ,EAAC,IAAA,mBAAK,EAAC,IAAA,oBAAM,GAAE,CAAC,CAAC;IACtC,YAAY,EAAE,IAAA,sBAAQ,EAAC,iBAAiB,CAAC;CAC1C,CAAC,CAAC;AAEU,QAAA,0BAA0B,GAAG,IAAA,kBAAI,EAAC;IAC7C,8CAA8C;IAC9C,+CAA+C;IAC/C,2CAA2C;IAC3C,2DAA2D;IAC3D,sEAAsE;IACtE,mBAAmB;IACnB,0EAA0E;IAC1E,kEAAkE;IAClE,qDAAqD;IACrD,OAAO,EAAE,IAAA,oBAAM,GAAE,EAAE,qDAAqD;IACxE,MAAM,EAAE,IAAA,oBAAM,GAAE,EAAE,qCAAqC;IACvD,OAAO,EAAE,IAAA,sBAAQ,EAAC,IAAA,oBAAM,GAAE,CAAC,EAAE,qCAAqC;IAClE,KAAK,EAAE,IAAA,sBAAQ,EAAC,IAAA,oBAAM,GAAE,CAAC,EAAE,qCAAqC;CACjE,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,IAAA,kBAAI,EAAC;IACrC,MAAM,EAAE,IAAA,sBAAQ,EAAC,IAAA,mBAAK,EAAC,IAAA,oBAAM,GAAE,CAAC,CAAC;IACjC,SAAS,EAAE,IAAA,sBAAQ,EAAC,IAAA,mBAAK,EAAC,IAAA,oBAAM,GAAE,CAAC,CAAC;IACpC,GAAG,EAAE,IAAA,sBAAQ,EAAC,IAAA,oBAAM,GAAE,CAAC;CACxB,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,oBAAoB,GAAG,IAAA,kBAAI,EAAC;IACvC,oBAAoB,EAAE,IAAA,sBAAQ,EAAC,kCAA0B,CAAC;IAC1D,qBAAqB,EAAE,IAAA,sBAAQ,EAC7B,IAAA,oBAAM,EAAC,IAAA,oBAAM,GAAE,EAAE,IAAA,sBAAQ,EAAC,yBAAyB,CAAC,CAAC,CACtD;IACD,cAAc,EAAE,IAAA,oBAAM,GAAE;IACxB,WAAW,EAAE,IAAA,oBAAM,GAAE;IACrB,eAAe,EAAE,IAAA,oBAAM,GAAE;IACzB,OAAO,EAAE,IAAA,qBAAO,GAAE;IAClB,MAAM,EAAE,IAAA,oBAAM,EAAC,IAAA,oBAAM,GAAE,EAAE,gCAAwB,CAAC;IAClD;;;OAGG;IACH,iBAAiB,EAAE,IAAA,sBAAQ,EAAC,IAAA,oBAAM,EAAC,IAAA,oBAAM,GAAE,EAAE,IAAA,sBAAQ,EAAC,iBAAiB,CAAC,CAAC,CAAC;IAC1E,GAAG,EAAE,IAAA,sBAAQ,EACX,IAAA,kBAAI,EAAC;QACH,OAAO,EAAE,IAAA,qBAAO,GAAE;QAClB;;WAEG;QACH,cAAc,EAAE,2BAAmB;KACpC,CAAC,CACH;IACD;;OAEG;IACH,YAAY,EAAE,0BAAkB;IAChC,0BAA0B,EAAE,IAAA,sBAAQ,EAAC,IAAA,oBAAM,GAAE,CAAC;CAC/C,CAAC,CAAC;AAEI,MAAM,4BAA4B,GAAG,CAC1C,IAAa,EAC+B,EAAE;IAC9C,OAAO,IAAA,gBAAE,EAAC,IAAI,EAAE,4BAAoB,CAAC,CAAC;AACxC,CAAC,CAAC;AAJW,QAAA,4BAA4B,gCAIvC","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport {\n type,\n record,\n string,\n optional,\n array,\n boolean,\n number,\n is,\n define,\n} from '@metamask/superstruct';\nimport type { Infer } from '@metamask/superstruct';\nimport { CaipChainIdStruct, CaipAssetTypeStruct } from '@metamask/utils';\n\nexport enum FeatureId {\n UNKNOWN = 'unknown',\n PERPS = 'perps',\n QUICK_BUY_FOLLOW_TRADING = 'quick_buy_follow_trading',\n QUICK_BUY_TOKEN_DETAILS = 'quick_buy_token_details',\n QUICK_BUY_EXPLORE = 'quick_buy_explore',\n DAPP_SWAP = 'dapp_swap',\n BATCH_SELL = 'batch_sell',\n UNIFIED_SWAP_BRIDGE = 'unified_swap_bridge',\n}\n\nexport const VersionStringSchema = define<string>(\n 'VersionString',\n (value: unknown) =>\n typeof value === 'string' &&\n /^(\\d+\\.*){2}\\d+$/u.test(value) &&\n value.split('.').length === 3,\n);\n\nconst DefaultPairSchema = type({\n /**\n * The standard default pairs. Use this if the pair is only set once.\n * The key is the CAIP asset type of the src token and the value is the CAIP asset type of the dest token.\n */\n standard: record(string(), string()),\n /**\n * The other default pairs. Use this if the dest token depends on the src token and can be set multiple times.\n * The key is the CAIP asset type of the src token and the value is the CAIP asset type of the dest token.\n */\n other: record(string(), string()),\n});\n\nexport const ChainRankingItemSchema = type({\n /**\n * The CAIP-2 chain identifier (e.g., \"eip155:1\" for Ethereum mainnet)\n */\n chainId: CaipChainIdStruct,\n /**\n * The display name of the chain (e.g., \"Ethereum\")\n */\n name: string(),\n});\n\nexport const ChainRankingSchema = optional(array(ChainRankingItemSchema));\n\nexport const ChainConfigurationSchema = type({\n isActiveSrc: boolean(),\n isActiveDest: boolean(),\n refreshRate: optional(number()),\n topAssets: optional(array(string())),\n stablecoins: optional(array(string())),\n batchSellDestStablecoins: optional(array(CaipAssetTypeStruct)),\n isUnifiedUIEnabled: optional(boolean()),\n isSingleSwapBridgeButtonEnabled: optional(boolean()),\n isGaslessSwapEnabled: optional(boolean()),\n noFeeAssets: optional(array(string())),\n defaultPairs: optional(DefaultPairSchema),\n});\n\nexport const PriceImpactThresholdSchema = type({\n // We are moving into a unified approach where\n // price impact thresholds will be segmented by\n // importance rather than transaction type.\n // The introduction of warning/danger will first be handled\n // by mobile, followed by extension and then removal of gasless/normal\n // from LD configs.\n // To make the migration easier, we define all fields as optional for now.\n // After the migration takes place, gasless/normal will be removed\n // and warning/danger will be set as required fields.\n gasless: number(), // Percentage value in decimal format (eg 0.02 is 2%)\n normal: number(), // Percentage value in decimal format\n warning: optional(number()), // Percentage value in decimal format\n error: optional(number()), // Percentage value in decimal format\n});\n\nconst GenericQuoteRequestSchema = type({\n aggIds: optional(array(string())),\n bridgeIds: optional(array(string())),\n fee: optional(number()),\n});\n\n/**\n * This is the schema for the feature flags response from the RemoteFeatureFlagController\n */\nexport const PlatformConfigSchema = type({\n priceImpactThreshold: optional(PriceImpactThresholdSchema),\n quoteRequestOverrides: optional(\n record(string(), optional(GenericQuoteRequestSchema)),\n ),\n minimumVersion: string(),\n refreshRate: number(),\n maxRefreshCount: number(),\n support: boolean(),\n chains: record(string(), ChainConfigurationSchema),\n /**\n * The bip44 default pairs for the chains\n * Key is the CAIP chainId namespace\n */\n bip44DefaultPairs: optional(record(string(), optional(DefaultPairSchema))),\n sse: optional(\n type({\n enabled: boolean(),\n /**\n * The minimum version of the client required to enable SSE, for example 13.8.0\n */\n minimumVersion: VersionStringSchema,\n }),\n ),\n /**\n * Array of chain objects ordered by preference/ranking\n */\n chainRanking: ChainRankingSchema,\n maxPendingHistoryItemAgeMs: optional(number()),\n});\n\nexport const validateFeatureFlagsResponse = (\n data: unknown,\n): data is Infer<typeof PlatformConfigSchema> => {\n return is(data, PlatformConfigSchema);\n};\n"]}
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
export declare enum FeatureId {
|
|
2
|
+
UNKNOWN = "unknown",
|
|
3
|
+
PERPS = "perps",
|
|
4
|
+
QUICK_BUY_FOLLOW_TRADING = "quick_buy_follow_trading",
|
|
5
|
+
QUICK_BUY_TOKEN_DETAILS = "quick_buy_token_details",
|
|
6
|
+
QUICK_BUY_EXPLORE = "quick_buy_explore",
|
|
7
|
+
DAPP_SWAP = "dapp_swap",
|
|
8
|
+
BATCH_SELL = "batch_sell",
|
|
9
|
+
UNIFIED_SWAP_BRIDGE = "unified_swap_bridge"
|
|
10
|
+
}
|
|
11
|
+
export declare const VersionStringSchema: import("@metamask/superstruct").Struct<string, null>;
|
|
12
|
+
export declare const ChainRankingItemSchema: import("@metamask/superstruct").Struct<{
|
|
13
|
+
chainId: `${string}:${string}`;
|
|
14
|
+
name: string;
|
|
15
|
+
}, {
|
|
16
|
+
/**
|
|
17
|
+
* The CAIP-2 chain identifier (e.g., "eip155:1" for Ethereum mainnet)
|
|
18
|
+
*/
|
|
19
|
+
chainId: import("@metamask/superstruct").Struct<`${string}:${string}`, null>;
|
|
20
|
+
/**
|
|
21
|
+
* The display name of the chain (e.g., "Ethereum")
|
|
22
|
+
*/
|
|
23
|
+
name: import("@metamask/superstruct").Struct<string, null>;
|
|
24
|
+
}>;
|
|
25
|
+
export declare const ChainRankingSchema: import("@metamask/superstruct").Struct<{
|
|
26
|
+
chainId: `${string}:${string}`;
|
|
27
|
+
name: string;
|
|
28
|
+
}[] | undefined, import("@metamask/superstruct").Struct<{
|
|
29
|
+
chainId: `${string}:${string}`;
|
|
30
|
+
name: string;
|
|
31
|
+
}, {
|
|
32
|
+
/**
|
|
33
|
+
* The CAIP-2 chain identifier (e.g., "eip155:1" for Ethereum mainnet)
|
|
34
|
+
*/
|
|
35
|
+
chainId: import("@metamask/superstruct").Struct<`${string}:${string}`, null>;
|
|
36
|
+
/**
|
|
37
|
+
* The display name of the chain (e.g., "Ethereum")
|
|
38
|
+
*/
|
|
39
|
+
name: import("@metamask/superstruct").Struct<string, null>;
|
|
40
|
+
}>>;
|
|
41
|
+
export declare const ChainConfigurationSchema: import("@metamask/superstruct").Struct<{
|
|
42
|
+
isActiveSrc: boolean;
|
|
43
|
+
isActiveDest: boolean;
|
|
44
|
+
refreshRate?: number | undefined;
|
|
45
|
+
topAssets?: string[] | undefined;
|
|
46
|
+
stablecoins?: string[] | undefined;
|
|
47
|
+
batchSellDestStablecoins?: `${string}:${string}/${string}:${string}`[] | undefined;
|
|
48
|
+
isUnifiedUIEnabled?: boolean | undefined;
|
|
49
|
+
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
50
|
+
isGaslessSwapEnabled?: boolean | undefined;
|
|
51
|
+
noFeeAssets?: string[] | undefined;
|
|
52
|
+
defaultPairs?: {
|
|
53
|
+
standard: Record<string, string>;
|
|
54
|
+
other: Record<string, string>;
|
|
55
|
+
} | undefined;
|
|
56
|
+
}, {
|
|
57
|
+
isActiveSrc: import("@metamask/superstruct").Struct<boolean, null>;
|
|
58
|
+
isActiveDest: import("@metamask/superstruct").Struct<boolean, null>;
|
|
59
|
+
refreshRate: import("@metamask/superstruct").Struct<number | undefined, null>;
|
|
60
|
+
topAssets: import("@metamask/superstruct").Struct<string[] | undefined, import("@metamask/superstruct").Struct<string, null>>;
|
|
61
|
+
stablecoins: import("@metamask/superstruct").Struct<string[] | undefined, import("@metamask/superstruct").Struct<string, null>>;
|
|
62
|
+
batchSellDestStablecoins: import("@metamask/superstruct").Struct<`${string}:${string}/${string}:${string}`[] | undefined, import("@metamask/superstruct").Struct<`${string}:${string}/${string}:${string}`, null>>;
|
|
63
|
+
isUnifiedUIEnabled: import("@metamask/superstruct").Struct<boolean | undefined, null>;
|
|
64
|
+
isSingleSwapBridgeButtonEnabled: import("@metamask/superstruct").Struct<boolean | undefined, null>;
|
|
65
|
+
isGaslessSwapEnabled: import("@metamask/superstruct").Struct<boolean | undefined, null>;
|
|
66
|
+
noFeeAssets: import("@metamask/superstruct").Struct<string[] | undefined, import("@metamask/superstruct").Struct<string, null>>;
|
|
67
|
+
defaultPairs: import("@metamask/superstruct").Struct<{
|
|
68
|
+
standard: Record<string, string>;
|
|
69
|
+
other: Record<string, string>;
|
|
70
|
+
} | undefined, {
|
|
71
|
+
/**
|
|
72
|
+
* The standard default pairs. Use this if the pair is only set once.
|
|
73
|
+
* The key is the CAIP asset type of the src token and the value is the CAIP asset type of the dest token.
|
|
74
|
+
*/
|
|
75
|
+
standard: import("@metamask/superstruct").Struct<Record<string, string>, null>;
|
|
76
|
+
/**
|
|
77
|
+
* The other default pairs. Use this if the dest token depends on the src token and can be set multiple times.
|
|
78
|
+
* The key is the CAIP asset type of the src token and the value is the CAIP asset type of the dest token.
|
|
79
|
+
*/
|
|
80
|
+
other: import("@metamask/superstruct").Struct<Record<string, string>, null>;
|
|
81
|
+
}>;
|
|
82
|
+
}>;
|
|
83
|
+
export declare const PriceImpactThresholdSchema: import("@metamask/superstruct").Struct<{
|
|
84
|
+
gasless: number;
|
|
85
|
+
normal: number;
|
|
86
|
+
warning?: number | undefined;
|
|
87
|
+
error?: number | undefined;
|
|
88
|
+
}, {
|
|
89
|
+
gasless: import("@metamask/superstruct").Struct<number, null>;
|
|
90
|
+
normal: import("@metamask/superstruct").Struct<number, null>;
|
|
91
|
+
warning: import("@metamask/superstruct").Struct<number | undefined, null>;
|
|
92
|
+
error: import("@metamask/superstruct").Struct<number | undefined, null>;
|
|
93
|
+
}>;
|
|
94
|
+
/**
|
|
95
|
+
* This is the schema for the feature flags response from the RemoteFeatureFlagController
|
|
96
|
+
*/
|
|
97
|
+
export declare const PlatformConfigSchema: import("@metamask/superstruct").Struct<{
|
|
98
|
+
refreshRate: number;
|
|
99
|
+
minimumVersion: string;
|
|
100
|
+
maxRefreshCount: number;
|
|
101
|
+
support: boolean;
|
|
102
|
+
chains: Record<string, {
|
|
103
|
+
isActiveSrc: boolean;
|
|
104
|
+
isActiveDest: boolean;
|
|
105
|
+
refreshRate?: number | undefined;
|
|
106
|
+
topAssets?: string[] | undefined;
|
|
107
|
+
stablecoins?: string[] | undefined;
|
|
108
|
+
batchSellDestStablecoins?: `${string}:${string}/${string}:${string}`[] | undefined;
|
|
109
|
+
isUnifiedUIEnabled?: boolean | undefined;
|
|
110
|
+
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
111
|
+
isGaslessSwapEnabled?: boolean | undefined;
|
|
112
|
+
noFeeAssets?: string[] | undefined;
|
|
113
|
+
defaultPairs?: {
|
|
114
|
+
standard: Record<string, string>;
|
|
115
|
+
other: Record<string, string>;
|
|
116
|
+
} | undefined;
|
|
117
|
+
}>;
|
|
118
|
+
priceImpactThreshold?: {
|
|
119
|
+
gasless: number;
|
|
120
|
+
normal: number;
|
|
121
|
+
warning?: number | undefined;
|
|
122
|
+
error?: number | undefined;
|
|
123
|
+
} | undefined;
|
|
124
|
+
quoteRequestOverrides?: Record<string, {
|
|
125
|
+
fee?: number | undefined;
|
|
126
|
+
aggIds?: string[] | undefined;
|
|
127
|
+
bridgeIds?: string[] | undefined;
|
|
128
|
+
} | undefined> | undefined;
|
|
129
|
+
bip44DefaultPairs?: Record<string, {
|
|
130
|
+
standard: Record<string, string>;
|
|
131
|
+
other: Record<string, string>;
|
|
132
|
+
} | undefined> | undefined;
|
|
133
|
+
sse?: {
|
|
134
|
+
minimumVersion: string;
|
|
135
|
+
enabled: boolean;
|
|
136
|
+
} | undefined;
|
|
137
|
+
chainRanking?: {
|
|
138
|
+
chainId: `${string}:${string}`;
|
|
139
|
+
name: string;
|
|
140
|
+
}[] | undefined;
|
|
141
|
+
maxPendingHistoryItemAgeMs?: number | undefined;
|
|
142
|
+
}, {
|
|
143
|
+
priceImpactThreshold: import("@metamask/superstruct").Struct<{
|
|
144
|
+
gasless: number;
|
|
145
|
+
normal: number;
|
|
146
|
+
warning?: number | undefined;
|
|
147
|
+
error?: number | undefined;
|
|
148
|
+
} | undefined, {
|
|
149
|
+
gasless: import("@metamask/superstruct").Struct<number, null>;
|
|
150
|
+
normal: import("@metamask/superstruct").Struct<number, null>;
|
|
151
|
+
warning: import("@metamask/superstruct").Struct<number | undefined, null>;
|
|
152
|
+
error: import("@metamask/superstruct").Struct<number | undefined, null>;
|
|
153
|
+
}>;
|
|
154
|
+
quoteRequestOverrides: import("@metamask/superstruct").Struct<Record<string, {
|
|
155
|
+
fee?: number | undefined;
|
|
156
|
+
aggIds?: string[] | undefined;
|
|
157
|
+
bridgeIds?: string[] | undefined;
|
|
158
|
+
} | undefined> | undefined, null>;
|
|
159
|
+
minimumVersion: import("@metamask/superstruct").Struct<string, null>;
|
|
160
|
+
refreshRate: import("@metamask/superstruct").Struct<number, null>;
|
|
161
|
+
maxRefreshCount: import("@metamask/superstruct").Struct<number, null>;
|
|
162
|
+
support: import("@metamask/superstruct").Struct<boolean, null>;
|
|
163
|
+
chains: import("@metamask/superstruct").Struct<Record<string, {
|
|
164
|
+
isActiveSrc: boolean;
|
|
165
|
+
isActiveDest: boolean;
|
|
166
|
+
refreshRate?: number | undefined;
|
|
167
|
+
topAssets?: string[] | undefined;
|
|
168
|
+
stablecoins?: string[] | undefined;
|
|
169
|
+
batchSellDestStablecoins?: `${string}:${string}/${string}:${string}`[] | undefined;
|
|
170
|
+
isUnifiedUIEnabled?: boolean | undefined;
|
|
171
|
+
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
172
|
+
isGaslessSwapEnabled?: boolean | undefined;
|
|
173
|
+
noFeeAssets?: string[] | undefined;
|
|
174
|
+
defaultPairs?: {
|
|
175
|
+
standard: Record<string, string>;
|
|
176
|
+
other: Record<string, string>;
|
|
177
|
+
} | undefined;
|
|
178
|
+
}>, null>;
|
|
179
|
+
/**
|
|
180
|
+
* The bip44 default pairs for the chains
|
|
181
|
+
* Key is the CAIP chainId namespace
|
|
182
|
+
*/
|
|
183
|
+
bip44DefaultPairs: import("@metamask/superstruct").Struct<Record<string, {
|
|
184
|
+
standard: Record<string, string>;
|
|
185
|
+
other: Record<string, string>;
|
|
186
|
+
} | undefined> | undefined, null>;
|
|
187
|
+
sse: import("@metamask/superstruct").Struct<{
|
|
188
|
+
minimumVersion: string;
|
|
189
|
+
enabled: boolean;
|
|
190
|
+
} | undefined, {
|
|
191
|
+
enabled: import("@metamask/superstruct").Struct<boolean, null>;
|
|
192
|
+
/**
|
|
193
|
+
* The minimum version of the client required to enable SSE, for example 13.8.0
|
|
194
|
+
*/
|
|
195
|
+
minimumVersion: import("@metamask/superstruct").Struct<string, null>;
|
|
196
|
+
}>;
|
|
197
|
+
/**
|
|
198
|
+
* Array of chain objects ordered by preference/ranking
|
|
199
|
+
*/
|
|
200
|
+
chainRanking: import("@metamask/superstruct").Struct<{
|
|
201
|
+
chainId: `${string}:${string}`;
|
|
202
|
+
name: string;
|
|
203
|
+
}[] | undefined, import("@metamask/superstruct").Struct<{
|
|
204
|
+
chainId: `${string}:${string}`;
|
|
205
|
+
name: string;
|
|
206
|
+
}, {
|
|
207
|
+
/**
|
|
208
|
+
* The CAIP-2 chain identifier (e.g., "eip155:1" for Ethereum mainnet)
|
|
209
|
+
*/
|
|
210
|
+
chainId: import("@metamask/superstruct").Struct<`${string}:${string}`, null>;
|
|
211
|
+
/**
|
|
212
|
+
* The display name of the chain (e.g., "Ethereum")
|
|
213
|
+
*/
|
|
214
|
+
name: import("@metamask/superstruct").Struct<string, null>;
|
|
215
|
+
}>>;
|
|
216
|
+
maxPendingHistoryItemAgeMs: import("@metamask/superstruct").Struct<number | undefined, null>;
|
|
217
|
+
}>;
|
|
218
|
+
export declare const validateFeatureFlagsResponse: (data: unknown) => data is {
|
|
219
|
+
refreshRate: number;
|
|
220
|
+
minimumVersion: string;
|
|
221
|
+
maxRefreshCount: number;
|
|
222
|
+
support: boolean;
|
|
223
|
+
chains: Record<string, {
|
|
224
|
+
isActiveSrc: boolean;
|
|
225
|
+
isActiveDest: boolean;
|
|
226
|
+
refreshRate?: number | undefined;
|
|
227
|
+
topAssets?: string[] | undefined;
|
|
228
|
+
stablecoins?: string[] | undefined;
|
|
229
|
+
batchSellDestStablecoins?: `${string}:${string}/${string}:${string}`[] | undefined;
|
|
230
|
+
isUnifiedUIEnabled?: boolean | undefined;
|
|
231
|
+
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
232
|
+
isGaslessSwapEnabled?: boolean | undefined;
|
|
233
|
+
noFeeAssets?: string[] | undefined;
|
|
234
|
+
defaultPairs?: {
|
|
235
|
+
standard: Record<string, string>;
|
|
236
|
+
other: Record<string, string>;
|
|
237
|
+
} | undefined;
|
|
238
|
+
}>;
|
|
239
|
+
priceImpactThreshold?: {
|
|
240
|
+
gasless: number;
|
|
241
|
+
normal: number;
|
|
242
|
+
warning?: number | undefined;
|
|
243
|
+
error?: number | undefined;
|
|
244
|
+
} | undefined;
|
|
245
|
+
quoteRequestOverrides?: Record<string, {
|
|
246
|
+
fee?: number | undefined;
|
|
247
|
+
aggIds?: string[] | undefined;
|
|
248
|
+
bridgeIds?: string[] | undefined;
|
|
249
|
+
} | undefined> | undefined;
|
|
250
|
+
bip44DefaultPairs?: Record<string, {
|
|
251
|
+
standard: Record<string, string>;
|
|
252
|
+
other: Record<string, string>;
|
|
253
|
+
} | undefined> | undefined;
|
|
254
|
+
sse?: {
|
|
255
|
+
minimumVersion: string;
|
|
256
|
+
enabled: boolean;
|
|
257
|
+
} | undefined;
|
|
258
|
+
chainRanking?: {
|
|
259
|
+
chainId: `${string}:${string}`;
|
|
260
|
+
name: string;
|
|
261
|
+
}[] | undefined;
|
|
262
|
+
maxPendingHistoryItemAgeMs?: number | undefined;
|
|
263
|
+
};
|
|
264
|
+
//# sourceMappingURL=feature-flags.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feature-flags.d.cts","sourceRoot":"","sources":["../../src/validators/feature-flags.ts"],"names":[],"mappings":"AAeA,oBAAY,SAAS;IACnB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,wBAAwB,6BAA6B;IACrD,uBAAuB,4BAA4B;IACnD,iBAAiB,sBAAsB;IACvC,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,mBAAmB,wBAAwB;CAC5C;AAED,eAAO,MAAM,mBAAmB,sDAM/B,CAAC;AAeF,eAAO,MAAM,sBAAsB;;;;IACjC;;OAEG;;IAEH;;OAEG;;EAEH,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;IAV7B;;OAEG;;IAEH;;OAEG;;GAIoE,CAAC;AAE1E,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAzBnC;;;WAGG;;QAEH;;;WAGG;;;EA6BH,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;EAcrC,CAAC;AAQH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAU/B;;;OAGG;;;;;;;;;;QAKC;;WAEG;;;IAIP;;OAEG;;;;;;;;QA7EH;;WAEG;;QAEH;;WAEG;;;;EA0EH,CAAC;AAEH,eAAO,MAAM,4BAA4B,SACjC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGd,CAAC"}
|