@metamask/bridge-controller 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/LICENSE +20 -0
- package/README.md +15 -0
- package/dist/bridge-controller.cjs +249 -0
- package/dist/bridge-controller.cjs.map +1 -0
- package/dist/bridge-controller.d.cts +56 -0
- package/dist/bridge-controller.d.cts.map +1 -0
- package/dist/bridge-controller.d.mts +56 -0
- package/dist/bridge-controller.d.mts.map +1 -0
- package/dist/bridge-controller.mjs +245 -0
- package/dist/bridge-controller.mjs.map +1 -0
- package/dist/constants/bridge.cjs +60 -0
- package/dist/constants/bridge.cjs.map +1 -0
- package/dist/constants/bridge.d.cts +23 -0
- package/dist/constants/bridge.d.cts.map +1 -0
- package/dist/constants/bridge.d.mts +23 -0
- package/dist/constants/bridge.d.mts.map +1 -0
- package/dist/constants/bridge.mjs +57 -0
- package/dist/constants/bridge.mjs.map +1 -0
- package/dist/constants/chains.cjs +168 -0
- package/dist/constants/chains.cjs.map +1 -0
- package/dist/constants/chains.d.cts +156 -0
- package/dist/constants/chains.d.cts.map +1 -0
- package/dist/constants/chains.d.mts +156 -0
- package/dist/constants/chains.d.mts.map +1 -0
- package/dist/constants/chains.mjs +165 -0
- package/dist/constants/chains.mjs.map +1 -0
- package/dist/constants/swaps.cjs +5 -0
- package/dist/constants/swaps.cjs.map +1 -0
- package/dist/constants/swaps.d.cts +2 -0
- package/dist/constants/swaps.d.cts.map +1 -0
- package/dist/constants/swaps.d.mts +2 -0
- package/dist/constants/swaps.d.mts.map +1 -0
- package/dist/constants/swaps.mjs +2 -0
- package/dist/constants/swaps.mjs.map +1 -0
- package/dist/constants/tokens.cjs +109 -0
- package/dist/constants/tokens.cjs.map +1 -0
- package/dist/constants/tokens.d.cts +73 -0
- package/dist/constants/tokens.d.cts.map +1 -0
- package/dist/constants/tokens.d.mts +73 -0
- package/dist/constants/tokens.d.mts.map +1 -0
- package/dist/constants/tokens.mjs +106 -0
- package/dist/constants/tokens.mjs.map +1 -0
- package/dist/index.cjs +26 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +9 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +9 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +6 -0
- package/dist/index.mjs.map +1 -0
- package/dist/types.cjs +77 -0
- package/dist/types.cjs.map +1 -0
- package/dist/types.d.cts +232 -0
- package/dist/types.d.cts.map +1 -0
- package/dist/types.d.mts +232 -0
- package/dist/types.d.mts.map +1 -0
- package/dist/types.mjs +74 -0
- package/dist/types.mjs.map +1 -0
- package/dist/utils/balance.cjs +31 -0
- package/dist/utils/balance.cjs.map +1 -0
- package/dist/utils/balance.d.cts +6 -0
- package/dist/utils/balance.d.cts.map +1 -0
- package/dist/utils/balance.d.mts +6 -0
- package/dist/utils/balance.d.mts.map +1 -0
- package/dist/utils/balance.mjs +25 -0
- package/dist/utils/balance.mjs.map +1 -0
- package/dist/utils/bridge.cjs +81 -0
- package/dist/utils/bridge.cjs.map +1 -0
- package/dist/utils/bridge.d.cts +31 -0
- package/dist/utils/bridge.d.cts.map +1 -0
- package/dist/utils/bridge.d.mts +31 -0
- package/dist/utils/bridge.d.mts.map +1 -0
- package/dist/utils/bridge.mjs +71 -0
- package/dist/utils/bridge.mjs.map +1 -0
- package/dist/utils/fetch.cjs +122 -0
- package/dist/utils/fetch.cjs.map +1 -0
- package/dist/utils/fetch.d.cts +33 -0
- package/dist/utils/fetch.d.cts.map +1 -0
- package/dist/utils/fetch.d.mts +33 -0
- package/dist/utils/fetch.d.mts.map +1 -0
- package/dist/utils/fetch.mjs +115 -0
- package/dist/utils/fetch.mjs.map +1 -0
- package/dist/utils/quote.cjs +27 -0
- package/dist/utils/quote.cjs.map +1 -0
- package/dist/utils/quote.d.cts +3 -0
- package/dist/utils/quote.d.cts.map +1 -0
- package/dist/utils/quote.d.mts +3 -0
- package/dist/utils/quote.d.mts.map +1 -0
- package/dist/utils/quote.mjs +23 -0
- package/dist/utils/quote.mjs.map +1 -0
- package/dist/utils/validators.cjs +112 -0
- package/dist/utils/validators.cjs.map +1 -0
- package/dist/utils/validators.d.cts +30 -0
- package/dist/utils/validators.d.cts.map +1 -0
- package/dist/utils/validators.d.mts +30 -0
- package/dist/utils/validators.d.mts.map +1 -0
- package/dist/utils/validators.mjs +104 -0
- package/dist/utils/validators.mjs.map +1 -0
- package/package.json +86 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.mjs","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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","sourcesContent":["import { isValidHexAddress as isValidHexAddress_ } from '@metamask/controller-utils';\nimport { isStrictHexString } from '@metamask/utils';\n\nimport type { SwapsTokenObject } from '../constants/tokens';\nimport type {\n FeatureFlagResponse,\n FeeData,\n Quote,\n QuoteResponse,\n TxData,\n} from '../types';\nimport { BridgeFlag } from '../types';\n\nexport const truthyString = (string: string) => Boolean(string?.length);\nexport const truthyDigitString = (string: string) =>\n truthyString(string) && Boolean(string.match(/^\\d+$/u));\n\nexport const isValidNumber = (v: unknown): v is number => typeof v === 'number';\nconst isValidObject = (v: unknown): v is object =>\n typeof v === 'object' && v !== null;\nconst isValidString = (v: unknown): v is string =>\n typeof v === 'string' && v.length > 0;\nconst isValidHexAddress = (v: unknown) =>\n isValidString(v) && isValidHexAddress_(v, { allowNonPrefixed: false });\n\ntype Validator<ExpectedResponse> = {\n property: keyof ExpectedResponse;\n type: string;\n validator?: (value: unknown) => boolean;\n};\n\nexport const validateData = <ExpectedResponse>(\n validators: Validator<ExpectedResponse>[],\n object: unknown,\n urlUsed: string,\n logError = true,\n): object is ExpectedResponse => {\n return validators.every(({ property, type, validator }) => {\n const types = type.split('|');\n const propertyString = String(property);\n\n const valid =\n isValidObject(object) &&\n types.some(\n (_type) =>\n typeof object[propertyString as keyof typeof object] === _type,\n ) &&\n (!validator || validator(object[propertyString as keyof typeof object]));\n\n if (!valid && logError) {\n const value = isValidObject(object)\n ? object[propertyString as keyof typeof object]\n : undefined;\n const typeString = isValidObject(object)\n ? typeof object[propertyString as keyof typeof object]\n : 'undefined';\n\n console.error(\n `response to GET ${urlUsed} invalid for property ${String(property)}; value was:`,\n value,\n '| type was: ',\n typeString,\n );\n }\n return valid;\n });\n};\n\nexport const validateResponse = <ExpectedResponse>(\n validators: Validator<ExpectedResponse>[],\n data: unknown,\n urlUsed: string,\n logError = true,\n): data is ExpectedResponse => {\n return validateData(validators, data, urlUsed, logError);\n};\n\nexport const FEATURE_FLAG_VALIDATORS = [\n {\n property: BridgeFlag.EXTENSION_CONFIG,\n type: 'object',\n validator: (\n v: unknown,\n ): v is Pick<FeatureFlagResponse, BridgeFlag.EXTENSION_CONFIG> =>\n isValidObject(v) &&\n 'refreshRate' in v &&\n isValidNumber(v.refreshRate) &&\n 'maxRefreshCount' in v &&\n isValidNumber(v.maxRefreshCount) &&\n 'chains' in v &&\n isValidObject(v.chains) &&\n Object.values(v.chains).every((chain) => isValidObject(chain)) &&\n Object.values(v.chains).every(\n (chain) =>\n 'isActiveSrc' in chain &&\n 'isActiveDest' in chain &&\n typeof chain.isActiveSrc === 'boolean' &&\n typeof chain.isActiveDest === 'boolean',\n ),\n },\n];\n\nexport const TOKEN_AGGREGATOR_VALIDATORS = [\n {\n property: 'aggregators',\n type: 'object',\n validator: (v: unknown): v is number[] =>\n isValidObject(v) && Object.values(v).every(isValidString),\n },\n];\n\nexport const TOKEN_VALIDATORS: Validator<SwapsTokenObject>[] = [\n { property: 'decimals', type: 'number' },\n { property: 'address', type: 'string', validator: isValidHexAddress },\n {\n property: 'symbol',\n type: 'string',\n validator: (v: unknown) => isValidString(v) && v.length <= 12,\n },\n];\n\nexport const QUOTE_RESPONSE_VALIDATORS: Validator<QuoteResponse>[] = [\n { property: 'quote', type: 'object', validator: isValidObject },\n { property: 'estimatedProcessingTimeInSeconds', type: 'number' },\n {\n property: 'approval',\n type: 'object|undefined',\n validator: (v: unknown) => v === undefined || isValidObject(v),\n },\n { property: 'trade', type: 'object', validator: isValidObject },\n];\n\nexport const QUOTE_VALIDATORS: Validator<Quote>[] = [\n { property: 'requestId', type: 'string' },\n { property: 'srcTokenAmount', type: 'string' },\n { property: 'destTokenAmount', type: 'string' },\n { property: 'bridgeId', type: 'string' },\n { property: 'bridges', type: 'object', validator: isValidObject },\n { property: 'srcChainId', type: 'number' },\n { property: 'destChainId', type: 'number' },\n { property: 'srcAsset', type: 'object', validator: isValidObject },\n { property: 'destAsset', type: 'object', validator: isValidObject },\n { property: 'feeData', type: 'object', validator: isValidObject },\n];\n\nexport const FEE_DATA_VALIDATORS: Validator<FeeData>[] = [\n {\n property: 'amount',\n type: 'string',\n validator: (v: unknown) => truthyDigitString(String(v)),\n },\n { property: 'asset', type: 'object', validator: isValidObject },\n];\n\nexport const TX_DATA_VALIDATORS: Validator<TxData>[] = [\n { property: 'chainId', type: 'number' },\n { property: 'value', type: 'string', validator: isStrictHexString },\n { property: 'gasLimit', type: 'number' },\n { property: 'to', type: 'string', validator: isValidHexAddress },\n { property: 'from', type: 'string', validator: isValidHexAddress },\n { property: 'data', type: 'string', validator: isStrictHexString },\n];\n"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@metamask/bridge-controller",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Manages bridge-related quote fetching functionality for MetaMask",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"MetaMask",
|
|
7
|
+
"Ethereum"
|
|
8
|
+
],
|
|
9
|
+
"homepage": "https://github.com/MetaMask/core/tree/main/packages/bridge-controller#readme",
|
|
10
|
+
"bugs": {
|
|
11
|
+
"url": "https://github.com/MetaMask/core/issues"
|
|
12
|
+
},
|
|
13
|
+
"repository": {
|
|
14
|
+
"type": "git",
|
|
15
|
+
"url": "https://github.com/MetaMask/core.git"
|
|
16
|
+
},
|
|
17
|
+
"license": "MIT",
|
|
18
|
+
"sideEffects": false,
|
|
19
|
+
"exports": {
|
|
20
|
+
".": {
|
|
21
|
+
"import": {
|
|
22
|
+
"types": "./dist/index.d.mts",
|
|
23
|
+
"default": "./dist/index.mjs"
|
|
24
|
+
},
|
|
25
|
+
"require": {
|
|
26
|
+
"types": "./dist/index.d.cts",
|
|
27
|
+
"default": "./dist/index.cjs"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"./package.json": "./package.json"
|
|
31
|
+
},
|
|
32
|
+
"main": "./dist/index.cjs",
|
|
33
|
+
"types": "./dist/index.d.cts",
|
|
34
|
+
"files": [
|
|
35
|
+
"dist/"
|
|
36
|
+
],
|
|
37
|
+
"scripts": {
|
|
38
|
+
"build": "ts-bridge --project tsconfig.build.json --verbose --clean --no-references",
|
|
39
|
+
"build:docs": "typedoc",
|
|
40
|
+
"changelog:update": "../../scripts/update-changelog.sh @metamask/bridge-controller",
|
|
41
|
+
"changelog:validate": "../../scripts/validate-changelog.sh @metamask/bridge-controller",
|
|
42
|
+
"publish:preview": "yarn npm publish --tag preview",
|
|
43
|
+
"since-latest-release": "../../scripts/since-latest-release.sh",
|
|
44
|
+
"test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter",
|
|
45
|
+
"test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache",
|
|
46
|
+
"test:verbose": "NODE_OPTIONS=--experimental-vm-modules jest --verbose",
|
|
47
|
+
"test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch"
|
|
48
|
+
},
|
|
49
|
+
"dependencies": {
|
|
50
|
+
"@metamask/base-controller": "^8.0.0",
|
|
51
|
+
"@metamask/controller-utils": "^11.5.0",
|
|
52
|
+
"@metamask/metamask-eth-abis": "^3.1.1",
|
|
53
|
+
"@metamask/polling-controller": "^12.0.3",
|
|
54
|
+
"@metamask/utils": "^11.2.0",
|
|
55
|
+
"ethers": "^6.12.0"
|
|
56
|
+
},
|
|
57
|
+
"devDependencies": {
|
|
58
|
+
"@metamask/accounts-controller": "^24.0.0",
|
|
59
|
+
"@metamask/auto-changelog": "^3.4.4",
|
|
60
|
+
"@metamask/eth-json-rpc-provider": "^4.1.8",
|
|
61
|
+
"@metamask/network-controller": "^22.2.1",
|
|
62
|
+
"@metamask/transaction-controller": "^46.0.0",
|
|
63
|
+
"@types/jest": "^27.4.1",
|
|
64
|
+
"deepmerge": "^4.2.2",
|
|
65
|
+
"jest": "^27.5.1",
|
|
66
|
+
"jest-environment-jsdom": "^27.5.1",
|
|
67
|
+
"lodash": "^4.17.21",
|
|
68
|
+
"nock": "^13.3.1",
|
|
69
|
+
"ts-jest": "^27.1.4",
|
|
70
|
+
"typedoc": "^0.24.8",
|
|
71
|
+
"typedoc-plugin-missing-exports": "^2.0.0",
|
|
72
|
+
"typescript": "~5.2.2"
|
|
73
|
+
},
|
|
74
|
+
"peerDependencies": {
|
|
75
|
+
"@metamask/accounts-controller": "^24.0.0",
|
|
76
|
+
"@metamask/network-controller": "^22.0.0",
|
|
77
|
+
"@metamask/transaction-controller": "^46.0.0"
|
|
78
|
+
},
|
|
79
|
+
"engines": {
|
|
80
|
+
"node": "^18.18 || >=20"
|
|
81
|
+
},
|
|
82
|
+
"publishConfig": {
|
|
83
|
+
"access": "public",
|
|
84
|
+
"registry": "https://registry.npmjs.org/"
|
|
85
|
+
}
|
|
86
|
+
}
|