@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,17 @@
|
|
|
1
|
+
import { type, enums, optional } from "@metamask/superstruct";
|
|
2
|
+
import { BridgeAssetSchema, ChainIdSchema } from "./bridge-asset.mjs";
|
|
3
|
+
export var ActionTypes;
|
|
4
|
+
(function (ActionTypes) {
|
|
5
|
+
ActionTypes["BRIDGE"] = "bridge";
|
|
6
|
+
ActionTypes["SWAP"] = "swap";
|
|
7
|
+
ActionTypes["REFUEL"] = "refuel";
|
|
8
|
+
})(ActionTypes || (ActionTypes = {}));
|
|
9
|
+
export const StepSchema = type({
|
|
10
|
+
action: enums(Object.values(ActionTypes)),
|
|
11
|
+
srcChainId: ChainIdSchema,
|
|
12
|
+
destChainId: optional(ChainIdSchema),
|
|
13
|
+
srcAsset: optional(BridgeAssetSchema),
|
|
14
|
+
destAsset: optional(BridgeAssetSchema),
|
|
15
|
+
});
|
|
16
|
+
export const RefuelDataSchema = StepSchema;
|
|
17
|
+
//# sourceMappingURL=step.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step.mjs","sourceRoot":"","sources":["../../src/validators/step.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,8BAA8B;AAE9D,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,2BAAuB;AAElE,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,4BAAa,CAAA;IACb,gCAAiB,CAAA;AACnB,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACzC,UAAU,EAAE,aAAa;IACzB,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC;IACpC,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAAC;IACrC,SAAS,EAAE,QAAQ,CAAC,iBAAiB,CAAC;CACvC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAC","sourcesContent":["import { type, enums, optional } from '@metamask/superstruct';\n\nimport { BridgeAssetSchema, ChainIdSchema } from './bridge-asset';\n\nexport enum ActionTypes {\n BRIDGE = 'bridge',\n SWAP = 'swap',\n REFUEL = 'refuel',\n}\n\nexport const StepSchema = type({\n action: enums(Object.values(ActionTypes)),\n srcChainId: ChainIdSchema,\n destChainId: optional(ChainIdSchema),\n srcAsset: optional(BridgeAssetSchema),\n destAsset: optional(BridgeAssetSchema),\n});\n\nexport const RefuelDataSchema = StepSchema;\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateTokenFeature = exports.TokenFeatureSchema = exports.TokenFeatureType = void 0;
|
|
4
|
+
const superstruct_1 = require("@metamask/superstruct");
|
|
5
|
+
var TokenFeatureType;
|
|
6
|
+
(function (TokenFeatureType) {
|
|
7
|
+
TokenFeatureType["MALICIOUS"] = "Malicious";
|
|
8
|
+
TokenFeatureType["WARNING"] = "Warning";
|
|
9
|
+
TokenFeatureType["INFO"] = "Info";
|
|
10
|
+
TokenFeatureType["BENIGN"] = "Benign";
|
|
11
|
+
})(TokenFeatureType || (exports.TokenFeatureType = TokenFeatureType = {}));
|
|
12
|
+
exports.TokenFeatureSchema = (0, superstruct_1.type)({
|
|
13
|
+
feature_id: (0, superstruct_1.string)(),
|
|
14
|
+
type: (0, superstruct_1.enums)(Object.values(TokenFeatureType)),
|
|
15
|
+
description: (0, superstruct_1.string)(),
|
|
16
|
+
});
|
|
17
|
+
const validateTokenFeature = (data) => {
|
|
18
|
+
(0, superstruct_1.assert)(data, exports.TokenFeatureSchema);
|
|
19
|
+
return true;
|
|
20
|
+
};
|
|
21
|
+
exports.validateTokenFeature = validateTokenFeature;
|
|
22
|
+
//# sourceMappingURL=token-feature.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-feature.cjs","sourceRoot":"","sources":["../../src/validators/token-feature.ts"],"names":[],"mappings":";;;AAAA,uDAAoE;AAGpE,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;IACnB,iCAAa,CAAA;IACb,qCAAiB,CAAA;AACnB,CAAC,EALW,gBAAgB,gCAAhB,gBAAgB,QAK3B;AAEY,QAAA,kBAAkB,GAAG,IAAA,kBAAI,EAAC;IACrC,UAAU,EAAE,IAAA,oBAAM,GAAE;IACpB,IAAI,EAAE,IAAA,mBAAK,EAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC5C,WAAW,EAAE,IAAA,oBAAM,GAAE;CACtB,CAAC,CAAC;AAEI,MAAM,oBAAoB,GAAG,CAClC,IAAa,EAC6B,EAAE;IAC5C,IAAA,oBAAM,EAAC,IAAI,EAAE,0BAAkB,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AALW,QAAA,oBAAoB,wBAK/B","sourcesContent":["import { type, string, enums, assert } from '@metamask/superstruct';\nimport type { Infer } from '@metamask/superstruct';\n\nexport enum TokenFeatureType {\n MALICIOUS = 'Malicious',\n WARNING = 'Warning',\n INFO = 'Info',\n BENIGN = 'Benign',\n}\n\nexport const TokenFeatureSchema = type({\n feature_id: string(),\n type: enums(Object.values(TokenFeatureType)),\n description: string(),\n});\n\nexport const validateTokenFeature = (\n data: unknown,\n): data is Infer<typeof TokenFeatureSchema> => {\n assert(data, TokenFeatureSchema);\n return true;\n};\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare enum TokenFeatureType {
|
|
2
|
+
MALICIOUS = "Malicious",
|
|
3
|
+
WARNING = "Warning",
|
|
4
|
+
INFO = "Info",
|
|
5
|
+
BENIGN = "Benign"
|
|
6
|
+
}
|
|
7
|
+
export declare const TokenFeatureSchema: import("@metamask/superstruct").Struct<{
|
|
8
|
+
type: TokenFeatureType;
|
|
9
|
+
feature_id: string;
|
|
10
|
+
description: string;
|
|
11
|
+
}, {
|
|
12
|
+
feature_id: import("@metamask/superstruct").Struct<string, null>;
|
|
13
|
+
type: import("@metamask/superstruct").Struct<TokenFeatureType, {
|
|
14
|
+
Malicious: TokenFeatureType.MALICIOUS;
|
|
15
|
+
Warning: TokenFeatureType.WARNING;
|
|
16
|
+
Info: TokenFeatureType.INFO;
|
|
17
|
+
Benign: TokenFeatureType.BENIGN;
|
|
18
|
+
}>;
|
|
19
|
+
description: import("@metamask/superstruct").Struct<string, null>;
|
|
20
|
+
}>;
|
|
21
|
+
export declare const validateTokenFeature: (data: unknown) => data is {
|
|
22
|
+
type: TokenFeatureType;
|
|
23
|
+
feature_id: string;
|
|
24
|
+
description: string;
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=token-feature.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-feature.d.cts","sourceRoot":"","sources":["../../src/validators/token-feature.ts"],"names":[],"mappings":"AAGA,oBAAY,gBAAgB;IAC1B,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;CAClB;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;EAI7B,CAAC;AAEH,eAAO,MAAM,oBAAoB,SACzB,OAAO;;;;CAId,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare enum TokenFeatureType {
|
|
2
|
+
MALICIOUS = "Malicious",
|
|
3
|
+
WARNING = "Warning",
|
|
4
|
+
INFO = "Info",
|
|
5
|
+
BENIGN = "Benign"
|
|
6
|
+
}
|
|
7
|
+
export declare const TokenFeatureSchema: import("@metamask/superstruct").Struct<{
|
|
8
|
+
type: TokenFeatureType;
|
|
9
|
+
feature_id: string;
|
|
10
|
+
description: string;
|
|
11
|
+
}, {
|
|
12
|
+
feature_id: import("@metamask/superstruct").Struct<string, null>;
|
|
13
|
+
type: import("@metamask/superstruct").Struct<TokenFeatureType, {
|
|
14
|
+
Malicious: TokenFeatureType.MALICIOUS;
|
|
15
|
+
Warning: TokenFeatureType.WARNING;
|
|
16
|
+
Info: TokenFeatureType.INFO;
|
|
17
|
+
Benign: TokenFeatureType.BENIGN;
|
|
18
|
+
}>;
|
|
19
|
+
description: import("@metamask/superstruct").Struct<string, null>;
|
|
20
|
+
}>;
|
|
21
|
+
export declare const validateTokenFeature: (data: unknown) => data is {
|
|
22
|
+
type: TokenFeatureType;
|
|
23
|
+
feature_id: string;
|
|
24
|
+
description: string;
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=token-feature.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-feature.d.mts","sourceRoot":"","sources":["../../src/validators/token-feature.ts"],"names":[],"mappings":"AAGA,oBAAY,gBAAgB;IAC1B,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;CAClB;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;EAI7B,CAAC;AAEH,eAAO,MAAM,oBAAoB,SACzB,OAAO;;;;CAId,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type, string, enums, assert } from "@metamask/superstruct";
|
|
2
|
+
export var TokenFeatureType;
|
|
3
|
+
(function (TokenFeatureType) {
|
|
4
|
+
TokenFeatureType["MALICIOUS"] = "Malicious";
|
|
5
|
+
TokenFeatureType["WARNING"] = "Warning";
|
|
6
|
+
TokenFeatureType["INFO"] = "Info";
|
|
7
|
+
TokenFeatureType["BENIGN"] = "Benign";
|
|
8
|
+
})(TokenFeatureType || (TokenFeatureType = {}));
|
|
9
|
+
export const TokenFeatureSchema = type({
|
|
10
|
+
feature_id: string(),
|
|
11
|
+
type: enums(Object.values(TokenFeatureType)),
|
|
12
|
+
description: string(),
|
|
13
|
+
});
|
|
14
|
+
export const validateTokenFeature = (data) => {
|
|
15
|
+
assert(data, TokenFeatureSchema);
|
|
16
|
+
return true;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=token-feature.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-feature.mjs","sourceRoot":"","sources":["../../src/validators/token-feature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,8BAA8B;AAGpE,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;IACnB,iCAAa,CAAA;IACb,qCAAiB,CAAA;AACnB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;IACrC,UAAU,EAAE,MAAM,EAAE;IACpB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC5C,WAAW,EAAE,MAAM,EAAE;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,IAAa,EAC6B,EAAE;IAC5C,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC;AACd,CAAC,CAAC","sourcesContent":["import { type, string, enums, assert } from '@metamask/superstruct';\nimport type { Infer } from '@metamask/superstruct';\n\nexport enum TokenFeatureType {\n MALICIOUS = 'Malicious',\n WARNING = 'Warning',\n INFO = 'Info',\n BENIGN = 'Benign',\n}\n\nexport const TokenFeatureSchema = type({\n feature_id: string(),\n type: enums(Object.values(TokenFeatureType)),\n description: string(),\n});\n\nexport const validateTokenFeature = (\n data: unknown,\n): data is Infer<typeof TokenFeatureSchema> => {\n assert(data, TokenFeatureSchema);\n return true;\n};\n"]}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isStellarTrade = exports.hasOwnProp = exports.isTronTrade = exports.isBitcoinTrade = exports.isEvmTxData = exports.StellarTradeDataSchema = exports.TronTradeDataSchema = exports.BitcoinTradeDataSchema = exports.TxDataSchema = exports.HexString = void 0;
|
|
4
|
+
/* eslint-disable no-restricted-syntax */
|
|
5
|
+
const superstruct_1 = require("@metamask/superstruct");
|
|
6
|
+
exports.HexString = (0, superstruct_1.define)('HexString', (value) => typeof value === 'string' && /^0x[a-zA-Z0-9]*$/u.test(value));
|
|
7
|
+
exports.TxDataSchema = (0, superstruct_1.type)({
|
|
8
|
+
chainId: (0, superstruct_1.number)(),
|
|
9
|
+
to: exports.HexString,
|
|
10
|
+
from: exports.HexString,
|
|
11
|
+
value: exports.HexString,
|
|
12
|
+
data: exports.HexString,
|
|
13
|
+
gasLimit: (0, superstruct_1.nullable)((0, superstruct_1.number)()),
|
|
14
|
+
effectiveGas: (0, superstruct_1.optional)((0, superstruct_1.number)()),
|
|
15
|
+
});
|
|
16
|
+
exports.BitcoinTradeDataSchema = (0, superstruct_1.type)({
|
|
17
|
+
unsignedPsbtBase64: (0, superstruct_1.string)(),
|
|
18
|
+
inputsToSign: (0, superstruct_1.nullable)((0, superstruct_1.array)((0, superstruct_1.type)({}))),
|
|
19
|
+
});
|
|
20
|
+
exports.TronTradeDataSchema = (0, superstruct_1.type)({
|
|
21
|
+
raw_data_hex: (0, superstruct_1.string)(),
|
|
22
|
+
visible: (0, superstruct_1.optional)((0, superstruct_1.boolean)()),
|
|
23
|
+
raw_data: (0, superstruct_1.optional)((0, superstruct_1.nullable)((0, superstruct_1.type)({
|
|
24
|
+
contract: (0, superstruct_1.optional)((0, superstruct_1.array)((0, superstruct_1.type)({
|
|
25
|
+
type: (0, superstruct_1.optional)((0, superstruct_1.string)()),
|
|
26
|
+
}))),
|
|
27
|
+
fee_limit: (0, superstruct_1.optional)((0, superstruct_1.number)()),
|
|
28
|
+
}))),
|
|
29
|
+
}); // Union type representing all possible trade formats (EVM, Solana, Bitcoin, Tron)
|
|
30
|
+
/**
|
|
31
|
+
* Stellar bridge quote: unsigned transaction envelope as XDR (base64).
|
|
32
|
+
*/
|
|
33
|
+
exports.StellarTradeDataSchema = (0, superstruct_1.union)([
|
|
34
|
+
(0, superstruct_1.type)({ xdrBase64: (0, superstruct_1.string)() }),
|
|
35
|
+
(0, superstruct_1.type)({ xdr: (0, superstruct_1.string)() }),
|
|
36
|
+
]);
|
|
37
|
+
/**
|
|
38
|
+
* Type guard to check if a trade is an EVM TxData object
|
|
39
|
+
*
|
|
40
|
+
* @param trade - The trade object to check
|
|
41
|
+
* @returns True if the trade is a TxData object with data property
|
|
42
|
+
*/
|
|
43
|
+
const isEvmTxData = (trade) => {
|
|
44
|
+
return (typeof trade === 'object' &&
|
|
45
|
+
trade !== null &&
|
|
46
|
+
'data' in trade &&
|
|
47
|
+
'chainId' in trade &&
|
|
48
|
+
'to' in trade);
|
|
49
|
+
};
|
|
50
|
+
exports.isEvmTxData = isEvmTxData;
|
|
51
|
+
/**
|
|
52
|
+
* Type guard to check if a trade is a Bitcoin trade with unsignedPsbtBase64
|
|
53
|
+
*
|
|
54
|
+
* @param trade - The trade object to check
|
|
55
|
+
* @returns True if the trade is a Bitcoin trade with unsignedPsbtBase64 property
|
|
56
|
+
*/
|
|
57
|
+
const isBitcoinTrade = (trade) => {
|
|
58
|
+
return (typeof trade === 'object' && trade !== null && 'unsignedPsbtBase64' in trade);
|
|
59
|
+
};
|
|
60
|
+
exports.isBitcoinTrade = isBitcoinTrade;
|
|
61
|
+
/**
|
|
62
|
+
* Type guard to check if a trade is a Tron trade with raw_data_hex
|
|
63
|
+
*
|
|
64
|
+
* @param trade - The trade object to check
|
|
65
|
+
* @returns True if the trade is a Tron trade with raw_data_hex property
|
|
66
|
+
*/
|
|
67
|
+
const isTronTrade = (trade) => {
|
|
68
|
+
return typeof trade === 'object' && trade !== null && 'raw_data_hex' in trade;
|
|
69
|
+
};
|
|
70
|
+
exports.isTronTrade = isTronTrade;
|
|
71
|
+
const hasOwnProp = (obj, key) => Object.prototype.hasOwnProperty.call(obj, key);
|
|
72
|
+
exports.hasOwnProp = hasOwnProp;
|
|
73
|
+
/**
|
|
74
|
+
* Type guard to check if a trade is a Stellar trade with XDR (base64) payload
|
|
75
|
+
*
|
|
76
|
+
* @param trade - The trade object to check
|
|
77
|
+
* @returns True if the trade is a Stellar trade with xdrBase64 or xdr property
|
|
78
|
+
*/
|
|
79
|
+
const isStellarTrade = (trade) => {
|
|
80
|
+
if (typeof trade !== 'object' || trade === null) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
if ((0, exports.hasOwnProp)(trade, 'xdrBase64') &&
|
|
84
|
+
typeof trade.xdrBase64 === 'string') {
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
if ((0, exports.hasOwnProp)(trade, 'xdr') &&
|
|
88
|
+
typeof trade.xdr === 'string') {
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
return false;
|
|
92
|
+
};
|
|
93
|
+
exports.isStellarTrade = isStellarTrade;
|
|
94
|
+
//# sourceMappingURL=trade.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trade.cjs","sourceRoot":"","sources":["../../src/validators/trade.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-restricted-syntax */\nimport {\n type,\n number,\n nullable,\n optional,\n string,\n array,\n boolean,\n define,\n union,\n} from '@metamask/superstruct';\nimport type { Infer } from '@metamask/superstruct';\n\nexport const HexString = define<`0x${string}`>(\n 'HexString',\n (value: unknown): value is `0x${string}` =>\n typeof value === 'string' && /^0x[a-zA-Z0-9]*$/u.test(value),\n);\n\nexport const TxDataSchema = type({\n chainId: number(),\n to: HexString,\n from: HexString,\n value: HexString,\n data: HexString,\n gasLimit: nullable(number()),\n effectiveGas: optional(number()),\n});\n\nexport const BitcoinTradeDataSchema = type({\n unsignedPsbtBase64: string(),\n inputsToSign: nullable(array(type({}))),\n});\n\nexport const TronTradeDataSchema = type({\n raw_data_hex: string(),\n visible: optional(boolean()),\n raw_data: optional(\n nullable(\n type({\n contract: optional(\n array(\n type({\n type: optional(string()),\n }),\n ),\n ),\n fee_limit: optional(number()),\n }),\n ),\n ),\n}); // Union type representing all possible trade formats (EVM, Solana, Bitcoin, Tron)\n\n/**\n * Stellar bridge quote: unsigned transaction envelope as XDR (base64).\n */\nexport const StellarTradeDataSchema = union([\n type({ xdrBase64: string() }),\n type({ xdr: string() }),\n]);\n\nexport type Trade =\n | TxData\n | string\n | BitcoinTradeData\n | TronTradeData\n | StellarTradeData;\n/**\n * Type guard to check if a trade is an EVM TxData object\n *\n * @param trade - The trade object to check\n * @returns True if the trade is a TxData object with data property\n */\n\nexport const isEvmTxData = (trade: Trade): trade is TxData => {\n return (\n typeof trade === 'object' &&\n trade !== null &&\n 'data' in trade &&\n 'chainId' in trade &&\n 'to' in trade\n );\n};\n/**\n * Type guard to check if a trade is a Bitcoin trade with unsignedPsbtBase64\n *\n * @param trade - The trade object to check\n * @returns True if the trade is a Bitcoin trade with unsignedPsbtBase64 property\n */\n\nexport const isBitcoinTrade = (trade: Trade): trade is BitcoinTradeData => {\n return (\n typeof trade === 'object' && trade !== null && 'unsignedPsbtBase64' in trade\n );\n};\n/**\n * Type guard to check if a trade is a Tron trade with raw_data_hex\n *\n * @param trade - The trade object to check\n * @returns True if the trade is a Tron trade with raw_data_hex property\n */\n\nexport const isTronTrade = (trade: Trade): trade is TronTradeData => {\n return typeof trade === 'object' && trade !== null && 'raw_data_hex' in trade;\n};\n\nexport const hasOwnProp = (obj: object, key: PropertyKey): boolean =>\n Object.prototype.hasOwnProperty.call(obj, key);\n\n/**\n * Type guard to check if a trade is a Stellar trade with XDR (base64) payload\n *\n * @param trade - The trade object to check\n * @returns True if the trade is a Stellar trade with xdrBase64 or xdr property\n */\nexport const isStellarTrade = (trade: Trade): trade is StellarTradeData => {\n if (typeof trade !== 'object' || trade === null) {\n return false;\n }\n if (\n hasOwnProp(trade, 'xdrBase64') &&\n typeof (trade as { xdrBase64: unknown }).xdrBase64 === 'string'\n ) {\n return true;\n }\n if (\n hasOwnProp(trade, 'xdr') &&\n typeof (trade as { xdr: unknown }).xdr === 'string'\n ) {\n return true;\n }\n return false;\n};\n\nexport type BitcoinTradeData = Infer<typeof BitcoinTradeDataSchema>;\n\nexport type TronTradeData = Infer<typeof TronTradeDataSchema>;\nexport type TxData = Infer<typeof TxDataSchema>;\nexport type StellarTradeData = Infer<typeof StellarTradeDataSchema>;\n"]}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import type { Infer } from "@metamask/superstruct";
|
|
2
|
+
export declare const HexString: import("@metamask/superstruct").Struct<`0x${string}`, null>;
|
|
3
|
+
export declare const TxDataSchema: import("@metamask/superstruct").Struct<{
|
|
4
|
+
chainId: number;
|
|
5
|
+
to: `0x${string}`;
|
|
6
|
+
from: `0x${string}`;
|
|
7
|
+
value: `0x${string}`;
|
|
8
|
+
data: `0x${string}`;
|
|
9
|
+
gasLimit: number | null;
|
|
10
|
+
effectiveGas?: number | undefined;
|
|
11
|
+
}, {
|
|
12
|
+
chainId: import("@metamask/superstruct").Struct<number, null>;
|
|
13
|
+
to: import("@metamask/superstruct").Struct<`0x${string}`, null>;
|
|
14
|
+
from: import("@metamask/superstruct").Struct<`0x${string}`, null>;
|
|
15
|
+
value: import("@metamask/superstruct").Struct<`0x${string}`, null>;
|
|
16
|
+
data: import("@metamask/superstruct").Struct<`0x${string}`, null>;
|
|
17
|
+
gasLimit: import("@metamask/superstruct").Struct<number | null, null>;
|
|
18
|
+
effectiveGas: import("@metamask/superstruct").Struct<number | undefined, null>;
|
|
19
|
+
}>;
|
|
20
|
+
export declare const BitcoinTradeDataSchema: import("@metamask/superstruct").Struct<{
|
|
21
|
+
unsignedPsbtBase64: string;
|
|
22
|
+
inputsToSign: {}[] | null;
|
|
23
|
+
}, {
|
|
24
|
+
unsignedPsbtBase64: import("@metamask/superstruct").Struct<string, null>;
|
|
25
|
+
inputsToSign: import("@metamask/superstruct").Struct<{}[] | null, import("@metamask/superstruct").Struct<{}, {}>>;
|
|
26
|
+
}>;
|
|
27
|
+
export declare const TronTradeDataSchema: import("@metamask/superstruct").Struct<{
|
|
28
|
+
raw_data_hex: string;
|
|
29
|
+
visible?: boolean | undefined;
|
|
30
|
+
raw_data?: {
|
|
31
|
+
contract?: {
|
|
32
|
+
type?: string | undefined;
|
|
33
|
+
}[] | undefined;
|
|
34
|
+
fee_limit?: number | undefined;
|
|
35
|
+
} | null | undefined;
|
|
36
|
+
}, {
|
|
37
|
+
raw_data_hex: import("@metamask/superstruct").Struct<string, null>;
|
|
38
|
+
visible: import("@metamask/superstruct").Struct<boolean | undefined, null>;
|
|
39
|
+
raw_data: import("@metamask/superstruct").Struct<{
|
|
40
|
+
contract?: {
|
|
41
|
+
type?: string | undefined;
|
|
42
|
+
}[] | undefined;
|
|
43
|
+
fee_limit?: number | undefined;
|
|
44
|
+
} | null | undefined, {
|
|
45
|
+
contract: import("@metamask/superstruct").Struct<{
|
|
46
|
+
type?: string | undefined;
|
|
47
|
+
}[] | undefined, import("@metamask/superstruct").Struct<{
|
|
48
|
+
type?: string | undefined;
|
|
49
|
+
}, {
|
|
50
|
+
type: import("@metamask/superstruct").Struct<string | undefined, null>;
|
|
51
|
+
}>>;
|
|
52
|
+
fee_limit: import("@metamask/superstruct").Struct<number | undefined, null>;
|
|
53
|
+
}>;
|
|
54
|
+
}>;
|
|
55
|
+
/**
|
|
56
|
+
* Stellar bridge quote: unsigned transaction envelope as XDR (base64).
|
|
57
|
+
*/
|
|
58
|
+
export declare const StellarTradeDataSchema: import("@metamask/superstruct").Struct<{
|
|
59
|
+
xdrBase64: string;
|
|
60
|
+
} | {
|
|
61
|
+
xdr: string;
|
|
62
|
+
}, null>;
|
|
63
|
+
export type Trade = TxData | string | BitcoinTradeData | TronTradeData | StellarTradeData;
|
|
64
|
+
/**
|
|
65
|
+
* Type guard to check if a trade is an EVM TxData object
|
|
66
|
+
*
|
|
67
|
+
* @param trade - The trade object to check
|
|
68
|
+
* @returns True if the trade is a TxData object with data property
|
|
69
|
+
*/
|
|
70
|
+
export declare const isEvmTxData: (trade: Trade) => trade is {
|
|
71
|
+
chainId: number;
|
|
72
|
+
to: `0x${string}`;
|
|
73
|
+
from: `0x${string}`;
|
|
74
|
+
value: `0x${string}`;
|
|
75
|
+
data: `0x${string}`;
|
|
76
|
+
gasLimit: number | null;
|
|
77
|
+
effectiveGas?: number | undefined;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Type guard to check if a trade is a Bitcoin trade with unsignedPsbtBase64
|
|
81
|
+
*
|
|
82
|
+
* @param trade - The trade object to check
|
|
83
|
+
* @returns True if the trade is a Bitcoin trade with unsignedPsbtBase64 property
|
|
84
|
+
*/
|
|
85
|
+
export declare const isBitcoinTrade: (trade: Trade) => trade is {
|
|
86
|
+
unsignedPsbtBase64: string;
|
|
87
|
+
inputsToSign: {}[] | null;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Type guard to check if a trade is a Tron trade with raw_data_hex
|
|
91
|
+
*
|
|
92
|
+
* @param trade - The trade object to check
|
|
93
|
+
* @returns True if the trade is a Tron trade with raw_data_hex property
|
|
94
|
+
*/
|
|
95
|
+
export declare const isTronTrade: (trade: Trade) => trade is {
|
|
96
|
+
raw_data_hex: string;
|
|
97
|
+
visible?: boolean | undefined;
|
|
98
|
+
raw_data?: {
|
|
99
|
+
contract?: {
|
|
100
|
+
type?: string | undefined;
|
|
101
|
+
}[] | undefined;
|
|
102
|
+
fee_limit?: number | undefined;
|
|
103
|
+
} | null | undefined;
|
|
104
|
+
};
|
|
105
|
+
export declare const hasOwnProp: (obj: object, key: PropertyKey) => boolean;
|
|
106
|
+
/**
|
|
107
|
+
* Type guard to check if a trade is a Stellar trade with XDR (base64) payload
|
|
108
|
+
*
|
|
109
|
+
* @param trade - The trade object to check
|
|
110
|
+
* @returns True if the trade is a Stellar trade with xdrBase64 or xdr property
|
|
111
|
+
*/
|
|
112
|
+
export declare const isStellarTrade: (trade: Trade) => trade is {
|
|
113
|
+
xdrBase64: string;
|
|
114
|
+
} | {
|
|
115
|
+
xdr: string;
|
|
116
|
+
};
|
|
117
|
+
export type BitcoinTradeData = Infer<typeof BitcoinTradeDataSchema>;
|
|
118
|
+
export type TronTradeData = Infer<typeof TronTradeDataSchema>;
|
|
119
|
+
export type TxData = Infer<typeof TxDataSchema>;
|
|
120
|
+
export type StellarTradeData = Infer<typeof StellarTradeDataSchema>;
|
|
121
|
+
//# sourceMappingURL=trade.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trade.d.cts","sourceRoot":"","sources":["../../src/validators/trade.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,KAAK,EAAE,8BAA8B;AAEnD,eAAO,MAAM,SAAS,6DAIrB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;EAQvB,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;EAGjC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiB9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;QAGjC,CAAC;AAEH,MAAM,MAAM,KAAK,GACb,MAAM,GACN,MAAM,GACN,gBAAgB,GAChB,aAAa,GACb,gBAAgB,CAAC;AACrB;;;;;GAKG;AAEH,eAAO,MAAM,WAAW,UAAW,KAAK;;;;;;;;CAQvC,CAAC;AACF;;;;;GAKG;AAEH,eAAO,MAAM,cAAc,UAAW,KAAK;;;CAI1C,CAAC;AACF;;;;;GAKG;AAEH,eAAO,MAAM,WAAW,UAAW,KAAK;;;;;;;;;CAEvC,CAAC;AAEF,eAAO,MAAM,UAAU,QAAS,MAAM,OAAO,WAAW,KAAG,OACX,CAAC;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,UAAW,KAAK;;;;CAiB1C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEpE,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAC9D,MAAM,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAChD,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import type { Infer } from "@metamask/superstruct";
|
|
2
|
+
export declare const HexString: import("@metamask/superstruct").Struct<`0x${string}`, null>;
|
|
3
|
+
export declare const TxDataSchema: import("@metamask/superstruct").Struct<{
|
|
4
|
+
chainId: number;
|
|
5
|
+
to: `0x${string}`;
|
|
6
|
+
from: `0x${string}`;
|
|
7
|
+
value: `0x${string}`;
|
|
8
|
+
data: `0x${string}`;
|
|
9
|
+
gasLimit: number | null;
|
|
10
|
+
effectiveGas?: number | undefined;
|
|
11
|
+
}, {
|
|
12
|
+
chainId: import("@metamask/superstruct").Struct<number, null>;
|
|
13
|
+
to: import("@metamask/superstruct").Struct<`0x${string}`, null>;
|
|
14
|
+
from: import("@metamask/superstruct").Struct<`0x${string}`, null>;
|
|
15
|
+
value: import("@metamask/superstruct").Struct<`0x${string}`, null>;
|
|
16
|
+
data: import("@metamask/superstruct").Struct<`0x${string}`, null>;
|
|
17
|
+
gasLimit: import("@metamask/superstruct").Struct<number | null, null>;
|
|
18
|
+
effectiveGas: import("@metamask/superstruct").Struct<number | undefined, null>;
|
|
19
|
+
}>;
|
|
20
|
+
export declare const BitcoinTradeDataSchema: import("@metamask/superstruct").Struct<{
|
|
21
|
+
unsignedPsbtBase64: string;
|
|
22
|
+
inputsToSign: {}[] | null;
|
|
23
|
+
}, {
|
|
24
|
+
unsignedPsbtBase64: import("@metamask/superstruct").Struct<string, null>;
|
|
25
|
+
inputsToSign: import("@metamask/superstruct").Struct<{}[] | null, import("@metamask/superstruct").Struct<{}, {}>>;
|
|
26
|
+
}>;
|
|
27
|
+
export declare const TronTradeDataSchema: import("@metamask/superstruct").Struct<{
|
|
28
|
+
raw_data_hex: string;
|
|
29
|
+
visible?: boolean | undefined;
|
|
30
|
+
raw_data?: {
|
|
31
|
+
contract?: {
|
|
32
|
+
type?: string | undefined;
|
|
33
|
+
}[] | undefined;
|
|
34
|
+
fee_limit?: number | undefined;
|
|
35
|
+
} | null | undefined;
|
|
36
|
+
}, {
|
|
37
|
+
raw_data_hex: import("@metamask/superstruct").Struct<string, null>;
|
|
38
|
+
visible: import("@metamask/superstruct").Struct<boolean | undefined, null>;
|
|
39
|
+
raw_data: import("@metamask/superstruct").Struct<{
|
|
40
|
+
contract?: {
|
|
41
|
+
type?: string | undefined;
|
|
42
|
+
}[] | undefined;
|
|
43
|
+
fee_limit?: number | undefined;
|
|
44
|
+
} | null | undefined, {
|
|
45
|
+
contract: import("@metamask/superstruct").Struct<{
|
|
46
|
+
type?: string | undefined;
|
|
47
|
+
}[] | undefined, import("@metamask/superstruct").Struct<{
|
|
48
|
+
type?: string | undefined;
|
|
49
|
+
}, {
|
|
50
|
+
type: import("@metamask/superstruct").Struct<string | undefined, null>;
|
|
51
|
+
}>>;
|
|
52
|
+
fee_limit: import("@metamask/superstruct").Struct<number | undefined, null>;
|
|
53
|
+
}>;
|
|
54
|
+
}>;
|
|
55
|
+
/**
|
|
56
|
+
* Stellar bridge quote: unsigned transaction envelope as XDR (base64).
|
|
57
|
+
*/
|
|
58
|
+
export declare const StellarTradeDataSchema: import("@metamask/superstruct").Struct<{
|
|
59
|
+
xdrBase64: string;
|
|
60
|
+
} | {
|
|
61
|
+
xdr: string;
|
|
62
|
+
}, null>;
|
|
63
|
+
export type Trade = TxData | string | BitcoinTradeData | TronTradeData | StellarTradeData;
|
|
64
|
+
/**
|
|
65
|
+
* Type guard to check if a trade is an EVM TxData object
|
|
66
|
+
*
|
|
67
|
+
* @param trade - The trade object to check
|
|
68
|
+
* @returns True if the trade is a TxData object with data property
|
|
69
|
+
*/
|
|
70
|
+
export declare const isEvmTxData: (trade: Trade) => trade is {
|
|
71
|
+
chainId: number;
|
|
72
|
+
to: `0x${string}`;
|
|
73
|
+
from: `0x${string}`;
|
|
74
|
+
value: `0x${string}`;
|
|
75
|
+
data: `0x${string}`;
|
|
76
|
+
gasLimit: number | null;
|
|
77
|
+
effectiveGas?: number | undefined;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Type guard to check if a trade is a Bitcoin trade with unsignedPsbtBase64
|
|
81
|
+
*
|
|
82
|
+
* @param trade - The trade object to check
|
|
83
|
+
* @returns True if the trade is a Bitcoin trade with unsignedPsbtBase64 property
|
|
84
|
+
*/
|
|
85
|
+
export declare const isBitcoinTrade: (trade: Trade) => trade is {
|
|
86
|
+
unsignedPsbtBase64: string;
|
|
87
|
+
inputsToSign: {}[] | null;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Type guard to check if a trade is a Tron trade with raw_data_hex
|
|
91
|
+
*
|
|
92
|
+
* @param trade - The trade object to check
|
|
93
|
+
* @returns True if the trade is a Tron trade with raw_data_hex property
|
|
94
|
+
*/
|
|
95
|
+
export declare const isTronTrade: (trade: Trade) => trade is {
|
|
96
|
+
raw_data_hex: string;
|
|
97
|
+
visible?: boolean | undefined;
|
|
98
|
+
raw_data?: {
|
|
99
|
+
contract?: {
|
|
100
|
+
type?: string | undefined;
|
|
101
|
+
}[] | undefined;
|
|
102
|
+
fee_limit?: number | undefined;
|
|
103
|
+
} | null | undefined;
|
|
104
|
+
};
|
|
105
|
+
export declare const hasOwnProp: (obj: object, key: PropertyKey) => boolean;
|
|
106
|
+
/**
|
|
107
|
+
* Type guard to check if a trade is a Stellar trade with XDR (base64) payload
|
|
108
|
+
*
|
|
109
|
+
* @param trade - The trade object to check
|
|
110
|
+
* @returns True if the trade is a Stellar trade with xdrBase64 or xdr property
|
|
111
|
+
*/
|
|
112
|
+
export declare const isStellarTrade: (trade: Trade) => trade is {
|
|
113
|
+
xdrBase64: string;
|
|
114
|
+
} | {
|
|
115
|
+
xdr: string;
|
|
116
|
+
};
|
|
117
|
+
export type BitcoinTradeData = Infer<typeof BitcoinTradeDataSchema>;
|
|
118
|
+
export type TronTradeData = Infer<typeof TronTradeDataSchema>;
|
|
119
|
+
export type TxData = Infer<typeof TxDataSchema>;
|
|
120
|
+
export type StellarTradeData = Infer<typeof StellarTradeDataSchema>;
|
|
121
|
+
//# sourceMappingURL=trade.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trade.d.mts","sourceRoot":"","sources":["../../src/validators/trade.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,KAAK,EAAE,8BAA8B;AAEnD,eAAO,MAAM,SAAS,6DAIrB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;EAQvB,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;EAGjC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiB9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;QAGjC,CAAC;AAEH,MAAM,MAAM,KAAK,GACb,MAAM,GACN,MAAM,GACN,gBAAgB,GAChB,aAAa,GACb,gBAAgB,CAAC;AACrB;;;;;GAKG;AAEH,eAAO,MAAM,WAAW,UAAW,KAAK;;;;;;;;CAQvC,CAAC;AACF;;;;;GAKG;AAEH,eAAO,MAAM,cAAc,UAAW,KAAK;;;CAI1C,CAAC;AACF;;;;;GAKG;AAEH,eAAO,MAAM,WAAW,UAAW,KAAK;;;;;;;;;CAEvC,CAAC;AAEF,eAAO,MAAM,UAAU,QAAS,MAAM,OAAO,WAAW,KAAG,OACX,CAAC;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,UAAW,KAAK;;;;CAiB1C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEpE,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAC9D,MAAM,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAChD,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/* eslint-disable no-restricted-syntax */
|
|
2
|
+
import { type, number, nullable, optional, string, array, boolean, define, union } from "@metamask/superstruct";
|
|
3
|
+
export const HexString = define('HexString', (value) => typeof value === 'string' && /^0x[a-zA-Z0-9]*$/u.test(value));
|
|
4
|
+
export const TxDataSchema = type({
|
|
5
|
+
chainId: number(),
|
|
6
|
+
to: HexString,
|
|
7
|
+
from: HexString,
|
|
8
|
+
value: HexString,
|
|
9
|
+
data: HexString,
|
|
10
|
+
gasLimit: nullable(number()),
|
|
11
|
+
effectiveGas: optional(number()),
|
|
12
|
+
});
|
|
13
|
+
export const BitcoinTradeDataSchema = type({
|
|
14
|
+
unsignedPsbtBase64: string(),
|
|
15
|
+
inputsToSign: nullable(array(type({}))),
|
|
16
|
+
});
|
|
17
|
+
export const TronTradeDataSchema = type({
|
|
18
|
+
raw_data_hex: string(),
|
|
19
|
+
visible: optional(boolean()),
|
|
20
|
+
raw_data: optional(nullable(type({
|
|
21
|
+
contract: optional(array(type({
|
|
22
|
+
type: optional(string()),
|
|
23
|
+
}))),
|
|
24
|
+
fee_limit: optional(number()),
|
|
25
|
+
}))),
|
|
26
|
+
}); // Union type representing all possible trade formats (EVM, Solana, Bitcoin, Tron)
|
|
27
|
+
/**
|
|
28
|
+
* Stellar bridge quote: unsigned transaction envelope as XDR (base64).
|
|
29
|
+
*/
|
|
30
|
+
export const StellarTradeDataSchema = union([
|
|
31
|
+
type({ xdrBase64: string() }),
|
|
32
|
+
type({ xdr: string() }),
|
|
33
|
+
]);
|
|
34
|
+
/**
|
|
35
|
+
* Type guard to check if a trade is an EVM TxData object
|
|
36
|
+
*
|
|
37
|
+
* @param trade - The trade object to check
|
|
38
|
+
* @returns True if the trade is a TxData object with data property
|
|
39
|
+
*/
|
|
40
|
+
export const isEvmTxData = (trade) => {
|
|
41
|
+
return (typeof trade === 'object' &&
|
|
42
|
+
trade !== null &&
|
|
43
|
+
'data' in trade &&
|
|
44
|
+
'chainId' in trade &&
|
|
45
|
+
'to' in trade);
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Type guard to check if a trade is a Bitcoin trade with unsignedPsbtBase64
|
|
49
|
+
*
|
|
50
|
+
* @param trade - The trade object to check
|
|
51
|
+
* @returns True if the trade is a Bitcoin trade with unsignedPsbtBase64 property
|
|
52
|
+
*/
|
|
53
|
+
export const isBitcoinTrade = (trade) => {
|
|
54
|
+
return (typeof trade === 'object' && trade !== null && 'unsignedPsbtBase64' in trade);
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Type guard to check if a trade is a Tron trade with raw_data_hex
|
|
58
|
+
*
|
|
59
|
+
* @param trade - The trade object to check
|
|
60
|
+
* @returns True if the trade is a Tron trade with raw_data_hex property
|
|
61
|
+
*/
|
|
62
|
+
export const isTronTrade = (trade) => {
|
|
63
|
+
return typeof trade === 'object' && trade !== null && 'raw_data_hex' in trade;
|
|
64
|
+
};
|
|
65
|
+
export const hasOwnProp = (obj, key) => Object.prototype.hasOwnProperty.call(obj, key);
|
|
66
|
+
/**
|
|
67
|
+
* Type guard to check if a trade is a Stellar trade with XDR (base64) payload
|
|
68
|
+
*
|
|
69
|
+
* @param trade - The trade object to check
|
|
70
|
+
* @returns True if the trade is a Stellar trade with xdrBase64 or xdr property
|
|
71
|
+
*/
|
|
72
|
+
export const isStellarTrade = (trade) => {
|
|
73
|
+
if (typeof trade !== 'object' || trade === null) {
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
if (hasOwnProp(trade, 'xdrBase64') &&
|
|
77
|
+
typeof trade.xdrBase64 === 'string') {
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
if (hasOwnProp(trade, 'xdr') &&
|
|
81
|
+
typeof trade.xdr === 'string') {
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
return false;
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=trade.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trade.mjs","sourceRoot":"","sources":["../../src/validators/trade.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EACL,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,EACL,OAAO,EACP,MAAM,EACN,KAAK,EACN,8BAA8B;AAG/B,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAC7B,WAAW,EACX,CAAC,KAAc,EAA0B,EAAE,CACzC,OAAO,KAAK,KAAK,QAAQ,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAC/D,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,EAAE;IACjB,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC5B,YAAY,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;IACzC,kBAAkB,EAAE,MAAM,EAAE;IAC5B,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;CACxC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;IACtC,YAAY,EAAE,MAAM,EAAE;IACtB,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAChB,QAAQ,CACN,IAAI,CAAC;QACH,QAAQ,EAAE,QAAQ,CAChB,KAAK,CACH,IAAI,CAAC;YACH,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;SACzB,CAAC,CACH,CACF;QACD,SAAS,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;KAC9B,CAAC,CACH,CACF;CACF,CAAC,CAAC,CAAC,kFAAkF;AAEtF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC;IAC1C,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC;CACxB,CAAC,CAAC;AAQH;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAY,EAAmB,EAAE;IAC3D,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,SAAS,IAAI,KAAK;QAClB,IAAI,IAAI,KAAK,CACd,CAAC;AACJ,CAAC,CAAC;AACF;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAY,EAA6B,EAAE;IACxE,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,oBAAoB,IAAI,KAAK,CAC7E,CAAC;AACJ,CAAC,CAAC;AACF;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAY,EAA0B,EAAE;IAClE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,cAAc,IAAI,KAAK,CAAC;AAChF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,GAAgB,EAAW,EAAE,CACnE,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAY,EAA6B,EAAE;IACxE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IACE,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC;QAC9B,OAAQ,KAAgC,CAAC,SAAS,KAAK,QAAQ,EAC/D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IACE,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC;QACxB,OAAQ,KAA0B,CAAC,GAAG,KAAK,QAAQ,EACnD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["/* eslint-disable no-restricted-syntax */\nimport {\n type,\n number,\n nullable,\n optional,\n string,\n array,\n boolean,\n define,\n union,\n} from '@metamask/superstruct';\nimport type { Infer } from '@metamask/superstruct';\n\nexport const HexString = define<`0x${string}`>(\n 'HexString',\n (value: unknown): value is `0x${string}` =>\n typeof value === 'string' && /^0x[a-zA-Z0-9]*$/u.test(value),\n);\n\nexport const TxDataSchema = type({\n chainId: number(),\n to: HexString,\n from: HexString,\n value: HexString,\n data: HexString,\n gasLimit: nullable(number()),\n effectiveGas: optional(number()),\n});\n\nexport const BitcoinTradeDataSchema = type({\n unsignedPsbtBase64: string(),\n inputsToSign: nullable(array(type({}))),\n});\n\nexport const TronTradeDataSchema = type({\n raw_data_hex: string(),\n visible: optional(boolean()),\n raw_data: optional(\n nullable(\n type({\n contract: optional(\n array(\n type({\n type: optional(string()),\n }),\n ),\n ),\n fee_limit: optional(number()),\n }),\n ),\n ),\n}); // Union type representing all possible trade formats (EVM, Solana, Bitcoin, Tron)\n\n/**\n * Stellar bridge quote: unsigned transaction envelope as XDR (base64).\n */\nexport const StellarTradeDataSchema = union([\n type({ xdrBase64: string() }),\n type({ xdr: string() }),\n]);\n\nexport type Trade =\n | TxData\n | string\n | BitcoinTradeData\n | TronTradeData\n | StellarTradeData;\n/**\n * Type guard to check if a trade is an EVM TxData object\n *\n * @param trade - The trade object to check\n * @returns True if the trade is a TxData object with data property\n */\n\nexport const isEvmTxData = (trade: Trade): trade is TxData => {\n return (\n typeof trade === 'object' &&\n trade !== null &&\n 'data' in trade &&\n 'chainId' in trade &&\n 'to' in trade\n );\n};\n/**\n * Type guard to check if a trade is a Bitcoin trade with unsignedPsbtBase64\n *\n * @param trade - The trade object to check\n * @returns True if the trade is a Bitcoin trade with unsignedPsbtBase64 property\n */\n\nexport const isBitcoinTrade = (trade: Trade): trade is BitcoinTradeData => {\n return (\n typeof trade === 'object' && trade !== null && 'unsignedPsbtBase64' in trade\n );\n};\n/**\n * Type guard to check if a trade is a Tron trade with raw_data_hex\n *\n * @param trade - The trade object to check\n * @returns True if the trade is a Tron trade with raw_data_hex property\n */\n\nexport const isTronTrade = (trade: Trade): trade is TronTradeData => {\n return typeof trade === 'object' && trade !== null && 'raw_data_hex' in trade;\n};\n\nexport const hasOwnProp = (obj: object, key: PropertyKey): boolean =>\n Object.prototype.hasOwnProperty.call(obj, key);\n\n/**\n * Type guard to check if a trade is a Stellar trade with XDR (base64) payload\n *\n * @param trade - The trade object to check\n * @returns True if the trade is a Stellar trade with xdrBase64 or xdr property\n */\nexport const isStellarTrade = (trade: Trade): trade is StellarTradeData => {\n if (typeof trade !== 'object' || trade === null) {\n return false;\n }\n if (\n hasOwnProp(trade, 'xdrBase64') &&\n typeof (trade as { xdrBase64: unknown }).xdrBase64 === 'string'\n ) {\n return true;\n }\n if (\n hasOwnProp(trade, 'xdr') &&\n typeof (trade as { xdr: unknown }).xdr === 'string'\n ) {\n return true;\n }\n return false;\n};\n\nexport type BitcoinTradeData = Infer<typeof BitcoinTradeDataSchema>;\n\nexport type TronTradeData = Infer<typeof TronTradeDataSchema>;\nexport type TxData = Infer<typeof TxDataSchema>;\nexport type StellarTradeData = Infer<typeof StellarTradeDataSchema>;\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metamask-previews/bridge-controller",
|
|
3
|
-
"version": "77.3.2-preview-
|
|
3
|
+
"version": "77.3.2-preview-34f2bcbf7",
|
|
4
4
|
"description": "Manages bridge-related quote fetching functionality for MetaMask",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ethereum",
|
|
@@ -58,12 +58,12 @@
|
|
|
58
58
|
"@ethersproject/contracts": "^5.7.0",
|
|
59
59
|
"@ethersproject/providers": "^5.7.0",
|
|
60
60
|
"@metamask/accounts-controller": "^39.0.4",
|
|
61
|
-
"@metamask/assets-controller": "^10.0
|
|
61
|
+
"@metamask/assets-controller": "^10.1.0",
|
|
62
62
|
"@metamask/assets-controllers": "^109.3.0",
|
|
63
63
|
"@metamask/base-controller": "^9.1.0",
|
|
64
64
|
"@metamask/controller-utils": "^12.3.0",
|
|
65
65
|
"@metamask/gas-fee-controller": "^26.2.4",
|
|
66
|
-
"@metamask/keyring-api": "^23.
|
|
66
|
+
"@metamask/keyring-api": "^23.5.0",
|
|
67
67
|
"@metamask/messenger": "^2.0.0",
|
|
68
68
|
"@metamask/metamask-eth-abis": "^3.1.1",
|
|
69
69
|
"@metamask/multichain-network-controller": "^3.2.1",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"@metamask/profile-sync-controller": "^28.2.0",
|
|
73
73
|
"@metamask/remote-feature-flag-controller": "^4.2.2",
|
|
74
74
|
"@metamask/snaps-controllers": "^19.0.0",
|
|
75
|
-
"@metamask/transaction-controller": "^68.
|
|
75
|
+
"@metamask/transaction-controller": "^68.3.0",
|
|
76
76
|
"@metamask/utils": "^11.11.0",
|
|
77
77
|
"bignumber.js": "^9.1.2",
|
|
78
78
|
"reselect": "^5.1.1",
|