@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
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getBridgeApiBaseUrl = exports.isEthUsdt = exports.getEthUsdtResetData = exports.SWAPS_API_V2_BASE_URL = exports.METABRIDGE_CHAIN_TO_ADDRESS_MAP = exports.DEFAULT_BRIDGE_CONTROLLER_STATE = exports.DEFAULT_MAX_REFRESH_COUNT = exports.REFRESH_INTERVAL_MS = exports.BRIDGE_MM_FEE_RATE = exports.BRIDGE_DEFAULT_SLIPPAGE = exports.BRIDGE_PREFERRED_GAS_ESTIMATE = exports.BRIDGE_QUOTE_MAX_RETURN_DIFFERENCE_PERCENTAGE = exports.BRIDGE_QUOTE_MAX_ETA_SECONDS = exports.BridgeClientId = exports.ALLOWED_BRIDGE_CHAIN_IDS = exports.FeeType = exports.BridgeController = void 0;
|
|
4
|
+
var bridge_controller_1 = require("./bridge-controller.cjs");
|
|
5
|
+
Object.defineProperty(exports, "BridgeController", { enumerable: true, get: function () { return bridge_controller_1.BridgeController; } });
|
|
6
|
+
var types_1 = require("./types.cjs");
|
|
7
|
+
Object.defineProperty(exports, "FeeType", { enumerable: true, get: function () { return types_1.FeeType; } });
|
|
8
|
+
var bridge_1 = require("./constants/bridge.cjs");
|
|
9
|
+
Object.defineProperty(exports, "ALLOWED_BRIDGE_CHAIN_IDS", { enumerable: true, get: function () { return bridge_1.ALLOWED_BRIDGE_CHAIN_IDS; } });
|
|
10
|
+
Object.defineProperty(exports, "BridgeClientId", { enumerable: true, get: function () { return bridge_1.BridgeClientId; } });
|
|
11
|
+
Object.defineProperty(exports, "BRIDGE_QUOTE_MAX_ETA_SECONDS", { enumerable: true, get: function () { return bridge_1.BRIDGE_QUOTE_MAX_ETA_SECONDS; } });
|
|
12
|
+
Object.defineProperty(exports, "BRIDGE_QUOTE_MAX_RETURN_DIFFERENCE_PERCENTAGE", { enumerable: true, get: function () { return bridge_1.BRIDGE_QUOTE_MAX_RETURN_DIFFERENCE_PERCENTAGE; } });
|
|
13
|
+
Object.defineProperty(exports, "BRIDGE_PREFERRED_GAS_ESTIMATE", { enumerable: true, get: function () { return bridge_1.BRIDGE_PREFERRED_GAS_ESTIMATE; } });
|
|
14
|
+
Object.defineProperty(exports, "BRIDGE_DEFAULT_SLIPPAGE", { enumerable: true, get: function () { return bridge_1.BRIDGE_DEFAULT_SLIPPAGE; } });
|
|
15
|
+
Object.defineProperty(exports, "BRIDGE_MM_FEE_RATE", { enumerable: true, get: function () { return bridge_1.BRIDGE_MM_FEE_RATE; } });
|
|
16
|
+
Object.defineProperty(exports, "REFRESH_INTERVAL_MS", { enumerable: true, get: function () { return bridge_1.REFRESH_INTERVAL_MS; } });
|
|
17
|
+
Object.defineProperty(exports, "DEFAULT_MAX_REFRESH_COUNT", { enumerable: true, get: function () { return bridge_1.DEFAULT_MAX_REFRESH_COUNT; } });
|
|
18
|
+
Object.defineProperty(exports, "DEFAULT_BRIDGE_CONTROLLER_STATE", { enumerable: true, get: function () { return bridge_1.DEFAULT_BRIDGE_CONTROLLER_STATE; } });
|
|
19
|
+
Object.defineProperty(exports, "METABRIDGE_CHAIN_TO_ADDRESS_MAP", { enumerable: true, get: function () { return bridge_1.METABRIDGE_CHAIN_TO_ADDRESS_MAP; } });
|
|
20
|
+
var swaps_1 = require("./constants/swaps.cjs");
|
|
21
|
+
Object.defineProperty(exports, "SWAPS_API_V2_BASE_URL", { enumerable: true, get: function () { return swaps_1.SWAPS_API_V2_BASE_URL; } });
|
|
22
|
+
var bridge_2 = require("./utils/bridge.cjs");
|
|
23
|
+
Object.defineProperty(exports, "getEthUsdtResetData", { enumerable: true, get: function () { return bridge_2.getEthUsdtResetData; } });
|
|
24
|
+
Object.defineProperty(exports, "isEthUsdt", { enumerable: true, get: function () { return bridge_2.isEthUsdt; } });
|
|
25
|
+
Object.defineProperty(exports, "getBridgeApiBaseUrl", { enumerable: true, get: function () { return bridge_2.getBridgeApiBaseUrl; } });
|
|
26
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6DAAuD;AAA9C,qHAAA,gBAAgB,OAAA;AAmCzB,qCAAkC;AAAzB,gGAAA,OAAO,OAAA;AAEhB,iDAY4B;AAX1B,kHAAA,wBAAwB,OAAA;AACxB,wGAAA,cAAc,OAAA;AACd,sHAAA,4BAA4B,OAAA;AAC5B,uIAAA,6CAA6C,OAAA;AAC7C,uHAAA,6BAA6B,OAAA;AAC7B,iHAAA,uBAAuB,OAAA;AACvB,4GAAA,kBAAkB,OAAA;AAClB,6GAAA,mBAAmB,OAAA;AACnB,mHAAA,yBAAyB,OAAA;AACzB,yHAAA,+BAA+B,OAAA;AAC/B,yHAAA,+BAA+B,OAAA;AAOjC,+CAA0D;AAAjD,8GAAA,qBAAqB,OAAA;AAE9B,6CAIwB;AAHtB,6GAAA,mBAAmB,OAAA;AACnB,mGAAA,SAAS,OAAA;AACT,6GAAA,mBAAmB,OAAA","sourcesContent":["export { BridgeController } from './bridge-controller';\n\nexport type {\n AssetType,\n ChainConfiguration,\n L1GasFees,\n QuoteMetadata,\n SortOrder,\n BridgeToken,\n BridgeFlag,\n GasMultiplierByChainId,\n FeatureFlagResponse,\n BridgeAsset,\n QuoteRequest,\n Protocol,\n ActionTypes,\n Step,\n RefuelData,\n Quote,\n QuoteResponse,\n ChainId,\n FeeData,\n TxData,\n BridgeFeatureFlagsKey,\n BridgeFeatureFlags,\n RequestStatus,\n BridgeUserAction,\n BridgeBackgroundAction,\n BridgeControllerState,\n BridgeControllerAction,\n BridgeControllerActions,\n BridgeControllerEvents,\n BridgeControllerMessenger,\n} from './types';\n\nexport { FeeType } from './types';\n\nexport {\n ALLOWED_BRIDGE_CHAIN_IDS,\n BridgeClientId,\n BRIDGE_QUOTE_MAX_ETA_SECONDS,\n BRIDGE_QUOTE_MAX_RETURN_DIFFERENCE_PERCENTAGE,\n BRIDGE_PREFERRED_GAS_ESTIMATE,\n BRIDGE_DEFAULT_SLIPPAGE,\n BRIDGE_MM_FEE_RATE,\n REFRESH_INTERVAL_MS,\n DEFAULT_MAX_REFRESH_COUNT,\n DEFAULT_BRIDGE_CONTROLLER_STATE,\n METABRIDGE_CHAIN_TO_ADDRESS_MAP,\n} from './constants/bridge';\n\nexport type { AllowedBridgeChainIds } from './constants/bridge';\n\nexport type { SwapsTokenObject } from './constants/tokens';\n\nexport { SWAPS_API_V2_BASE_URL } from './constants/swaps';\n\nexport {\n getEthUsdtResetData,\n isEthUsdt,\n getBridgeApiBaseUrl,\n} from './utils/bridge';\n"]}
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { BridgeController } from "./bridge-controller.cjs";
|
|
2
|
+
export type { AssetType, ChainConfiguration, L1GasFees, QuoteMetadata, SortOrder, BridgeToken, BridgeFlag, GasMultiplierByChainId, FeatureFlagResponse, BridgeAsset, QuoteRequest, Protocol, ActionTypes, Step, RefuelData, Quote, QuoteResponse, ChainId, FeeData, TxData, BridgeFeatureFlagsKey, BridgeFeatureFlags, RequestStatus, BridgeUserAction, BridgeBackgroundAction, BridgeControllerState, BridgeControllerAction, BridgeControllerActions, BridgeControllerEvents, BridgeControllerMessenger, } from "./types.cjs";
|
|
3
|
+
export { FeeType } from "./types.cjs";
|
|
4
|
+
export { ALLOWED_BRIDGE_CHAIN_IDS, BridgeClientId, BRIDGE_QUOTE_MAX_ETA_SECONDS, BRIDGE_QUOTE_MAX_RETURN_DIFFERENCE_PERCENTAGE, BRIDGE_PREFERRED_GAS_ESTIMATE, BRIDGE_DEFAULT_SLIPPAGE, BRIDGE_MM_FEE_RATE, REFRESH_INTERVAL_MS, DEFAULT_MAX_REFRESH_COUNT, DEFAULT_BRIDGE_CONTROLLER_STATE, METABRIDGE_CHAIN_TO_ADDRESS_MAP, } from "./constants/bridge.cjs";
|
|
5
|
+
export type { AllowedBridgeChainIds } from "./constants/bridge.cjs";
|
|
6
|
+
export type { SwapsTokenObject } from "./constants/tokens.cjs";
|
|
7
|
+
export { SWAPS_API_V2_BASE_URL } from "./constants/swaps.cjs";
|
|
8
|
+
export { getEthUsdtResetData, isEthUsdt, getBridgeApiBaseUrl, } from "./utils/bridge.cjs";
|
|
9
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gCAA4B;AAEvD,YAAY,EACV,SAAS,EACT,kBAAkB,EAClB,SAAS,EACT,aAAa,EACb,SAAS,EACT,WAAW,EACX,UAAU,EACV,sBAAsB,EACtB,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,IAAI,EACJ,UAAU,EACV,KAAK,EACL,aAAa,EACb,OAAO,EACP,OAAO,EACP,MAAM,EACN,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,GAC1B,oBAAgB;AAEjB,OAAO,EAAE,OAAO,EAAE,oBAAgB;AAElC,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,4BAA4B,EAC5B,6CAA6C,EAC7C,6BAA6B,EAC7B,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,+BAA+B,EAC/B,+BAA+B,GAChC,+BAA2B;AAE5B,YAAY,EAAE,qBAAqB,EAAE,+BAA2B;AAEhE,YAAY,EAAE,gBAAgB,EAAE,+BAA2B;AAE3D,OAAO,EAAE,qBAAqB,EAAE,8BAA0B;AAE1D,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,mBAAmB,GACpB,2BAAuB"}
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { BridgeController } from "./bridge-controller.mjs";
|
|
2
|
+
export type { AssetType, ChainConfiguration, L1GasFees, QuoteMetadata, SortOrder, BridgeToken, BridgeFlag, GasMultiplierByChainId, FeatureFlagResponse, BridgeAsset, QuoteRequest, Protocol, ActionTypes, Step, RefuelData, Quote, QuoteResponse, ChainId, FeeData, TxData, BridgeFeatureFlagsKey, BridgeFeatureFlags, RequestStatus, BridgeUserAction, BridgeBackgroundAction, BridgeControllerState, BridgeControllerAction, BridgeControllerActions, BridgeControllerEvents, BridgeControllerMessenger, } from "./types.mjs";
|
|
3
|
+
export { FeeType } from "./types.mjs";
|
|
4
|
+
export { ALLOWED_BRIDGE_CHAIN_IDS, BridgeClientId, BRIDGE_QUOTE_MAX_ETA_SECONDS, BRIDGE_QUOTE_MAX_RETURN_DIFFERENCE_PERCENTAGE, BRIDGE_PREFERRED_GAS_ESTIMATE, BRIDGE_DEFAULT_SLIPPAGE, BRIDGE_MM_FEE_RATE, REFRESH_INTERVAL_MS, DEFAULT_MAX_REFRESH_COUNT, DEFAULT_BRIDGE_CONTROLLER_STATE, METABRIDGE_CHAIN_TO_ADDRESS_MAP, } from "./constants/bridge.mjs";
|
|
5
|
+
export type { AllowedBridgeChainIds } from "./constants/bridge.mjs";
|
|
6
|
+
export type { SwapsTokenObject } from "./constants/tokens.mjs";
|
|
7
|
+
export { SWAPS_API_V2_BASE_URL } from "./constants/swaps.mjs";
|
|
8
|
+
export { getEthUsdtResetData, isEthUsdt, getBridgeApiBaseUrl, } from "./utils/bridge.mjs";
|
|
9
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gCAA4B;AAEvD,YAAY,EACV,SAAS,EACT,kBAAkB,EAClB,SAAS,EACT,aAAa,EACb,SAAS,EACT,WAAW,EACX,UAAU,EACV,sBAAsB,EACtB,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,IAAI,EACJ,UAAU,EACV,KAAK,EACL,aAAa,EACb,OAAO,EACP,OAAO,EACP,MAAM,EACN,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,GAC1B,oBAAgB;AAEjB,OAAO,EAAE,OAAO,EAAE,oBAAgB;AAElC,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,4BAA4B,EAC5B,6CAA6C,EAC7C,6BAA6B,EAC7B,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,+BAA+B,EAC/B,+BAA+B,GAChC,+BAA2B;AAE5B,YAAY,EAAE,qBAAqB,EAAE,+BAA2B;AAEhE,YAAY,EAAE,gBAAgB,EAAE,+BAA2B;AAE3D,OAAO,EAAE,qBAAqB,EAAE,8BAA0B;AAE1D,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,mBAAmB,GACpB,2BAAuB"}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { BridgeController } from "./bridge-controller.mjs";
|
|
2
|
+
export { FeeType } from "./types.mjs";
|
|
3
|
+
export { ALLOWED_BRIDGE_CHAIN_IDS, BridgeClientId, BRIDGE_QUOTE_MAX_ETA_SECONDS, BRIDGE_QUOTE_MAX_RETURN_DIFFERENCE_PERCENTAGE, BRIDGE_PREFERRED_GAS_ESTIMATE, BRIDGE_DEFAULT_SLIPPAGE, BRIDGE_MM_FEE_RATE, REFRESH_INTERVAL_MS, DEFAULT_MAX_REFRESH_COUNT, DEFAULT_BRIDGE_CONTROLLER_STATE, METABRIDGE_CHAIN_TO_ADDRESS_MAP } from "./constants/bridge.mjs";
|
|
4
|
+
export { SWAPS_API_V2_BASE_URL } from "./constants/swaps.mjs";
|
|
5
|
+
export { getEthUsdtResetData, isEthUsdt, getBridgeApiBaseUrl } from "./utils/bridge.mjs";
|
|
6
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gCAA4B;AAmCvD,OAAO,EAAE,OAAO,EAAE,oBAAgB;AAElC,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,4BAA4B,EAC5B,6CAA6C,EAC7C,6BAA6B,EAC7B,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,+BAA+B,EAC/B,+BAA+B,EAChC,+BAA2B;AAM5B,OAAO,EAAE,qBAAqB,EAAE,8BAA0B;AAE1D,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,mBAAmB,EACpB,2BAAuB","sourcesContent":["export { BridgeController } from './bridge-controller';\n\nexport type {\n AssetType,\n ChainConfiguration,\n L1GasFees,\n QuoteMetadata,\n SortOrder,\n BridgeToken,\n BridgeFlag,\n GasMultiplierByChainId,\n FeatureFlagResponse,\n BridgeAsset,\n QuoteRequest,\n Protocol,\n ActionTypes,\n Step,\n RefuelData,\n Quote,\n QuoteResponse,\n ChainId,\n FeeData,\n TxData,\n BridgeFeatureFlagsKey,\n BridgeFeatureFlags,\n RequestStatus,\n BridgeUserAction,\n BridgeBackgroundAction,\n BridgeControllerState,\n BridgeControllerAction,\n BridgeControllerActions,\n BridgeControllerEvents,\n BridgeControllerMessenger,\n} from './types';\n\nexport { FeeType } from './types';\n\nexport {\n ALLOWED_BRIDGE_CHAIN_IDS,\n BridgeClientId,\n BRIDGE_QUOTE_MAX_ETA_SECONDS,\n BRIDGE_QUOTE_MAX_RETURN_DIFFERENCE_PERCENTAGE,\n BRIDGE_PREFERRED_GAS_ESTIMATE,\n BRIDGE_DEFAULT_SLIPPAGE,\n BRIDGE_MM_FEE_RATE,\n REFRESH_INTERVAL_MS,\n DEFAULT_MAX_REFRESH_COUNT,\n DEFAULT_BRIDGE_CONTROLLER_STATE,\n METABRIDGE_CHAIN_TO_ADDRESS_MAP,\n} from './constants/bridge';\n\nexport type { AllowedBridgeChainIds } from './constants/bridge';\n\nexport type { SwapsTokenObject } from './constants/tokens';\n\nexport { SWAPS_API_V2_BASE_URL } from './constants/swaps';\n\nexport {\n getEthUsdtResetData,\n isEthUsdt,\n getBridgeApiBaseUrl,\n} from './utils/bridge';\n"]}
|
package/dist/types.cjs
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BridgeBackgroundAction = exports.BridgeUserAction = exports.RequestStatus = exports.BridgeFeatureFlagsKey = exports.FeeType = exports.ChainId = exports.ActionTypes = exports.BridgeFlag = exports.SortOrder = exports.AssetType = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* The types of assets that a user can send
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
var AssetType;
|
|
9
|
+
(function (AssetType) {
|
|
10
|
+
/** The native asset for the current network, such as ETH */
|
|
11
|
+
AssetType["native"] = "NATIVE";
|
|
12
|
+
/** An ERC20 token */
|
|
13
|
+
AssetType["token"] = "TOKEN";
|
|
14
|
+
/** An ERC721 or ERC1155 token. */
|
|
15
|
+
AssetType["NFT"] = "NFT";
|
|
16
|
+
/**
|
|
17
|
+
* A transaction interacting with a contract that isn't a token method
|
|
18
|
+
* interaction will be marked as dealing with an unknown asset type.
|
|
19
|
+
*/
|
|
20
|
+
AssetType["unknown"] = "UNKNOWN";
|
|
21
|
+
})(AssetType || (exports.AssetType = AssetType = {}));
|
|
22
|
+
// Sort order set by the user
|
|
23
|
+
var SortOrder;
|
|
24
|
+
(function (SortOrder) {
|
|
25
|
+
SortOrder["COST_ASC"] = "cost_ascending";
|
|
26
|
+
SortOrder["ETA_ASC"] = "time_descending";
|
|
27
|
+
})(SortOrder || (exports.SortOrder = SortOrder = {}));
|
|
28
|
+
// Types copied from Metabridge API
|
|
29
|
+
var BridgeFlag;
|
|
30
|
+
(function (BridgeFlag) {
|
|
31
|
+
BridgeFlag["EXTENSION_CONFIG"] = "extension-config";
|
|
32
|
+
})(BridgeFlag || (exports.BridgeFlag = BridgeFlag = {}));
|
|
33
|
+
var ActionTypes;
|
|
34
|
+
(function (ActionTypes) {
|
|
35
|
+
ActionTypes["BRIDGE"] = "bridge";
|
|
36
|
+
ActionTypes["SWAP"] = "swap";
|
|
37
|
+
ActionTypes["REFUEL"] = "refuel";
|
|
38
|
+
})(ActionTypes || (exports.ActionTypes = ActionTypes = {}));
|
|
39
|
+
var ChainId;
|
|
40
|
+
(function (ChainId) {
|
|
41
|
+
ChainId[ChainId["ETH"] = 1] = "ETH";
|
|
42
|
+
ChainId[ChainId["OPTIMISM"] = 10] = "OPTIMISM";
|
|
43
|
+
ChainId[ChainId["BSC"] = 56] = "BSC";
|
|
44
|
+
ChainId[ChainId["POLYGON"] = 137] = "POLYGON";
|
|
45
|
+
ChainId[ChainId["ZKSYNC"] = 324] = "ZKSYNC";
|
|
46
|
+
ChainId[ChainId["BASE"] = 8453] = "BASE";
|
|
47
|
+
ChainId[ChainId["ARBITRUM"] = 42161] = "ARBITRUM";
|
|
48
|
+
ChainId[ChainId["AVALANCHE"] = 43114] = "AVALANCHE";
|
|
49
|
+
ChainId[ChainId["LINEA"] = 59144] = "LINEA";
|
|
50
|
+
})(ChainId || (exports.ChainId = ChainId = {}));
|
|
51
|
+
var FeeType;
|
|
52
|
+
(function (FeeType) {
|
|
53
|
+
FeeType["METABRIDGE"] = "metabridge";
|
|
54
|
+
FeeType["REFUEL"] = "refuel";
|
|
55
|
+
})(FeeType || (exports.FeeType = FeeType = {}));
|
|
56
|
+
var BridgeFeatureFlagsKey;
|
|
57
|
+
(function (BridgeFeatureFlagsKey) {
|
|
58
|
+
BridgeFeatureFlagsKey["EXTENSION_CONFIG"] = "extensionConfig";
|
|
59
|
+
})(BridgeFeatureFlagsKey || (exports.BridgeFeatureFlagsKey = BridgeFeatureFlagsKey = {}));
|
|
60
|
+
var RequestStatus;
|
|
61
|
+
(function (RequestStatus) {
|
|
62
|
+
RequestStatus[RequestStatus["LOADING"] = 0] = "LOADING";
|
|
63
|
+
RequestStatus[RequestStatus["FETCHED"] = 1] = "FETCHED";
|
|
64
|
+
RequestStatus[RequestStatus["ERROR"] = 2] = "ERROR";
|
|
65
|
+
})(RequestStatus || (exports.RequestStatus = RequestStatus = {}));
|
|
66
|
+
var BridgeUserAction;
|
|
67
|
+
(function (BridgeUserAction) {
|
|
68
|
+
BridgeUserAction["SELECT_DEST_NETWORK"] = "selectDestNetwork";
|
|
69
|
+
BridgeUserAction["UPDATE_QUOTE_PARAMS"] = "updateBridgeQuoteRequestParams";
|
|
70
|
+
})(BridgeUserAction || (exports.BridgeUserAction = BridgeUserAction = {}));
|
|
71
|
+
var BridgeBackgroundAction;
|
|
72
|
+
(function (BridgeBackgroundAction) {
|
|
73
|
+
BridgeBackgroundAction["SET_FEATURE_FLAGS"] = "setBridgeFeatureFlags";
|
|
74
|
+
BridgeBackgroundAction["RESET_STATE"] = "resetState";
|
|
75
|
+
BridgeBackgroundAction["GET_BRIDGE_ERC20_ALLOWANCE"] = "getBridgeERC20Allowance";
|
|
76
|
+
})(BridgeBackgroundAction || (exports.BridgeBackgroundAction = BridgeBackgroundAction = {}));
|
|
77
|
+
//# sourceMappingURL=types.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.cjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAsBA;;;GAGG;AACH,IAAY,SAYX;AAZD,WAAY,SAAS;IACnB,4DAA4D;IAC5D,8BAAiB,CAAA;IACjB,qBAAqB;IACrB,4BAAe,CAAA;IACf,kCAAkC;IAClC,wBAAW,CAAA;IACX;;;OAGG;IACH,gCAAmB,CAAA;AACrB,CAAC,EAZW,SAAS,yBAAT,SAAS,QAYpB;AAuBD,6BAA6B;AAE7B,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,wCAA2B,CAAA;IAC3B,wCAA2B,CAAA;AAC7B,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;AAaD,mCAAmC;AAEnC,IAAY,UAEX;AAFD,WAAY,UAAU;IACpB,mDAAqC,CAAA;AACvC,CAAC,EAFW,UAAU,0BAAV,UAAU,QAErB;AA+CD,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,4BAAa,CAAA;IACb,gCAAiB,CAAA;AACnB,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB;AAuCD,IAAY,OAUX;AAVD,WAAY,OAAO;IACjB,mCAAO,CAAA;IACP,8CAAa,CAAA;IACb,oCAAQ,CAAA;IACR,6CAAa,CAAA;IACb,2CAAY,CAAA;IACZ,wCAAW,CAAA;IACX,iDAAgB,CAAA;IAChB,mDAAiB,CAAA;IACjB,2CAAa,CAAA;AACf,CAAC,EAVW,OAAO,uBAAP,OAAO,QAUlB;AAED,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,oCAAyB,CAAA;IACzB,4BAAiB,CAAA;AACnB,CAAC,EAHW,OAAO,uBAAP,OAAO,QAGlB;AAaD,IAAY,qBAEX;AAFD,WAAY,qBAAqB;IAC/B,6DAAoC,CAAA;AACtC,CAAC,EAFW,qBAAqB,qCAArB,qBAAqB,QAEhC;AAUD,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,uDAAO,CAAA;IACP,uDAAO,CAAA;IACP,mDAAK,CAAA;AACP,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB;AACD,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,6DAAyC,CAAA;IACzC,0EAAsD,CAAA;AACxD,CAAC,EAHW,gBAAgB,gCAAhB,gBAAgB,QAG3B;AACD,IAAY,sBAIX;AAJD,WAAY,sBAAsB;IAChC,qEAA2C,CAAA;IAC3C,oDAA0B,CAAA;IAC1B,gFAAsD,CAAA;AACxD,CAAC,EAJW,sBAAsB,sCAAtB,sBAAsB,QAIjC","sourcesContent":["import type { AccountsControllerGetSelectedAccountAction } from '@metamask/accounts-controller';\nimport type {\n ControllerStateChangeEvent,\n RestrictedMessenger,\n} from '@metamask/base-controller';\nimport type {\n NetworkControllerFindNetworkClientIdByChainIdAction,\n NetworkControllerGetStateAction,\n NetworkControllerGetNetworkClientByIdAction,\n} from '@metamask/network-controller';\nimport type { Hex } from '@metamask/utils';\nimport type { BigNumber } from 'bignumber.js';\n\nimport type { BridgeController } from './bridge-controller';\nimport type { BRIDGE_CONTROLLER_NAME } from './constants/bridge';\n\nexport type FetchFunction = (\n input: RequestInfo | URL,\n init?: RequestInit,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n) => Promise<any>;\n\n/**\n * The types of assets that a user can send\n *\n */\nexport enum AssetType {\n /** The native asset for the current network, such as ETH */\n native = 'NATIVE',\n /** An ERC20 token */\n token = 'TOKEN',\n /** An ERC721 or ERC1155 token. */\n NFT = 'NFT',\n /**\n * A transaction interacting with a contract that isn't a token method\n * interaction will be marked as dealing with an unknown asset type.\n */\n unknown = 'UNKNOWN',\n}\n\nexport type ChainConfiguration = {\n isActiveSrc: boolean;\n isActiveDest: boolean;\n};\n\nexport type L1GasFees = {\n l1GasFeesInHexWei?: string; // l1 fees for approval and trade in hex wei, appended by controller\n};\n// Values derived from the quote response\n// valueInCurrency values are calculated based on the user's selected currency\n\nexport type QuoteMetadata = {\n gasFee: { amount: BigNumber; valueInCurrency: BigNumber | null };\n totalNetworkFee: { amount: BigNumber; valueInCurrency: BigNumber | null }; // estimatedGasFees + relayerFees\n totalMaxNetworkFee: { amount: BigNumber; valueInCurrency: BigNumber | null }; // maxGasFees + relayerFees\n toTokenAmount: { amount: BigNumber; valueInCurrency: BigNumber | null };\n adjustedReturn: { valueInCurrency: BigNumber | null }; // destTokenAmount - totalNetworkFee\n sentAmount: { amount: BigNumber; valueInCurrency: BigNumber | null }; // srcTokenAmount + metabridgeFee\n swapRate: BigNumber; // destTokenAmount / sentAmount\n cost: { valueInCurrency: BigNumber | null }; // sentAmount - adjustedReturn\n};\n// Sort order set by the user\n\nexport enum SortOrder {\n COST_ASC = 'cost_ascending',\n ETA_ASC = 'time_descending',\n}\n\nexport type BridgeToken = {\n type: AssetType.native | AssetType.token;\n address: string;\n symbol: string;\n image: string;\n decimals: number;\n chainId: Hex;\n balance: string; // raw balance\n string: string | undefined; // normalized balance as a stringified number\n tokenFiatAmount?: number | null;\n} | null;\n// Types copied from Metabridge API\n\nexport enum BridgeFlag {\n EXTENSION_CONFIG = 'extension-config',\n}\ntype DecimalChainId = string;\nexport type GasMultiplierByChainId = Record<DecimalChainId, number>;\n\nexport type FeatureFlagResponse = {\n [BridgeFlag.EXTENSION_CONFIG]: {\n refreshRate: number;\n maxRefreshCount: number;\n support: boolean;\n chains: Record<number, ChainConfiguration>;\n };\n};\n\nexport type BridgeAsset = {\n chainId: ChainId;\n address: string;\n symbol: string;\n name: string;\n decimals: number;\n icon?: string;\n};\n\nexport type QuoteRequest = {\n walletAddress: string;\n destWalletAddress?: string;\n srcChainId: ChainId;\n destChainId: ChainId;\n srcTokenAddress: string;\n destTokenAddress: string;\n /**\n * This is the amount sent, in atomic amount\n */\n srcTokenAmount: string;\n slippage: number;\n aggIds?: string[];\n bridgeIds?: string[];\n insufficientBal?: boolean;\n resetApproval?: boolean;\n refuel?: boolean;\n};\n\nexport type Protocol = {\n name: string;\n displayName?: string;\n icon?: string;\n};\n\nexport enum ActionTypes {\n BRIDGE = 'bridge',\n SWAP = 'swap',\n REFUEL = 'refuel',\n}\n\nexport type Step = {\n action: ActionTypes;\n srcChainId: ChainId;\n destChainId?: ChainId;\n srcAsset: BridgeAsset;\n destAsset: BridgeAsset;\n srcAmount: string;\n destAmount: string;\n protocol: Protocol;\n};\n\nexport type RefuelData = Step;\n\nexport type Quote = {\n requestId: string;\n srcChainId: ChainId;\n srcAsset: BridgeAsset;\n // Some tokens have a fee of 0, so sometimes it's equal to amount sent\n srcTokenAmount: string; // Atomic amount, the amount sent - fees\n destChainId: ChainId;\n destAsset: BridgeAsset;\n destTokenAmount: string; // Atomic amount, the amount received\n feeData: Record<FeeType.METABRIDGE, FeeData> &\n Partial<Record<FeeType, FeeData>>;\n bridgeId: string;\n bridges: string[];\n steps: Step[];\n refuel?: RefuelData;\n};\n\nexport type QuoteResponse = {\n quote: Quote;\n approval: TxData | null;\n trade: TxData;\n estimatedProcessingTimeInSeconds: number;\n};\n\nexport enum ChainId {\n ETH = 1,\n OPTIMISM = 10,\n BSC = 56,\n POLYGON = 137,\n ZKSYNC = 324,\n BASE = 8453,\n ARBITRUM = 42161,\n AVALANCHE = 43114,\n LINEA = 59144,\n}\n\nexport enum FeeType {\n METABRIDGE = 'metabridge',\n REFUEL = 'refuel',\n}\nexport type FeeData = {\n amount: string;\n asset: BridgeAsset;\n};\nexport type TxData = {\n chainId: ChainId;\n to: string;\n from: string;\n value: string;\n data: string;\n gasLimit: number | null;\n};\nexport enum BridgeFeatureFlagsKey {\n EXTENSION_CONFIG = 'extensionConfig',\n}\n\nexport type BridgeFeatureFlags = {\n [BridgeFeatureFlagsKey.EXTENSION_CONFIG]: {\n refreshRate: number;\n maxRefreshCount: number;\n support: boolean;\n chains: Record<Hex, ChainConfiguration>;\n };\n};\nexport enum RequestStatus {\n LOADING,\n FETCHED,\n ERROR,\n}\nexport enum BridgeUserAction {\n SELECT_DEST_NETWORK = 'selectDestNetwork',\n UPDATE_QUOTE_PARAMS = 'updateBridgeQuoteRequestParams',\n}\nexport enum BridgeBackgroundAction {\n SET_FEATURE_FLAGS = 'setBridgeFeatureFlags',\n RESET_STATE = 'resetState',\n GET_BRIDGE_ERC20_ALLOWANCE = 'getBridgeERC20Allowance',\n}\nexport type BridgeControllerState = {\n bridgeFeatureFlags: BridgeFeatureFlags;\n quoteRequest: Partial<QuoteRequest>;\n quotes: (QuoteResponse & L1GasFees)[];\n quotesInitialLoadTime?: number;\n quotesLastFetched?: number;\n quotesLoadingStatus?: RequestStatus;\n quoteFetchError?: string;\n quotesRefreshCount: number;\n};\n\nexport type BridgeControllerAction<\n FunctionName extends keyof BridgeController,\n> = {\n type: `${typeof BRIDGE_CONTROLLER_NAME}:${FunctionName}`;\n handler: BridgeController[FunctionName];\n};\n\n// Maps to BridgeController function names\nexport type BridgeControllerActions =\n | BridgeControllerAction<BridgeBackgroundAction.SET_FEATURE_FLAGS>\n | BridgeControllerAction<BridgeBackgroundAction.RESET_STATE>\n | BridgeControllerAction<BridgeBackgroundAction.GET_BRIDGE_ERC20_ALLOWANCE>\n | BridgeControllerAction<BridgeUserAction.UPDATE_QUOTE_PARAMS>;\n\nexport type BridgeControllerEvents = ControllerStateChangeEvent<\n typeof BRIDGE_CONTROLLER_NAME,\n BridgeControllerState\n>;\n\nexport type AllowedActions =\n | AccountsControllerGetSelectedAccountAction\n | NetworkControllerFindNetworkClientIdByChainIdAction\n | NetworkControllerGetStateAction\n | NetworkControllerGetNetworkClientByIdAction;\nexport type AllowedEvents = never;\n\n/**\n * The messenger for the BridgeController.\n */\nexport type BridgeControllerMessenger = RestrictedMessenger<\n typeof BRIDGE_CONTROLLER_NAME,\n BridgeControllerActions | AllowedActions,\n BridgeControllerEvents | AllowedEvents,\n AllowedActions['type'],\n AllowedEvents['type']\n>;\n"]}
|
package/dist/types.d.cts
ADDED
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import type { AccountsControllerGetSelectedAccountAction } from "@metamask/accounts-controller";
|
|
2
|
+
import type { ControllerStateChangeEvent, RestrictedMessenger } from "@metamask/base-controller";
|
|
3
|
+
import type { NetworkControllerFindNetworkClientIdByChainIdAction, NetworkControllerGetStateAction, NetworkControllerGetNetworkClientByIdAction } from "@metamask/network-controller";
|
|
4
|
+
import type { Hex } from "@metamask/utils";
|
|
5
|
+
import type { BigNumber } from "bignumber.js";
|
|
6
|
+
import type { BridgeController } from "./bridge-controller.cjs";
|
|
7
|
+
import type { BRIDGE_CONTROLLER_NAME } from "./constants/bridge.cjs";
|
|
8
|
+
export type FetchFunction = (input: RequestInfo | URL, init?: RequestInit) => Promise<any>;
|
|
9
|
+
/**
|
|
10
|
+
* The types of assets that a user can send
|
|
11
|
+
*
|
|
12
|
+
*/
|
|
13
|
+
export declare enum AssetType {
|
|
14
|
+
/** The native asset for the current network, such as ETH */
|
|
15
|
+
native = "NATIVE",
|
|
16
|
+
/** An ERC20 token */
|
|
17
|
+
token = "TOKEN",
|
|
18
|
+
/** An ERC721 or ERC1155 token. */
|
|
19
|
+
NFT = "NFT",
|
|
20
|
+
/**
|
|
21
|
+
* A transaction interacting with a contract that isn't a token method
|
|
22
|
+
* interaction will be marked as dealing with an unknown asset type.
|
|
23
|
+
*/
|
|
24
|
+
unknown = "UNKNOWN"
|
|
25
|
+
}
|
|
26
|
+
export type ChainConfiguration = {
|
|
27
|
+
isActiveSrc: boolean;
|
|
28
|
+
isActiveDest: boolean;
|
|
29
|
+
};
|
|
30
|
+
export type L1GasFees = {
|
|
31
|
+
l1GasFeesInHexWei?: string;
|
|
32
|
+
};
|
|
33
|
+
export type QuoteMetadata = {
|
|
34
|
+
gasFee: {
|
|
35
|
+
amount: BigNumber;
|
|
36
|
+
valueInCurrency: BigNumber | null;
|
|
37
|
+
};
|
|
38
|
+
totalNetworkFee: {
|
|
39
|
+
amount: BigNumber;
|
|
40
|
+
valueInCurrency: BigNumber | null;
|
|
41
|
+
};
|
|
42
|
+
totalMaxNetworkFee: {
|
|
43
|
+
amount: BigNumber;
|
|
44
|
+
valueInCurrency: BigNumber | null;
|
|
45
|
+
};
|
|
46
|
+
toTokenAmount: {
|
|
47
|
+
amount: BigNumber;
|
|
48
|
+
valueInCurrency: BigNumber | null;
|
|
49
|
+
};
|
|
50
|
+
adjustedReturn: {
|
|
51
|
+
valueInCurrency: BigNumber | null;
|
|
52
|
+
};
|
|
53
|
+
sentAmount: {
|
|
54
|
+
amount: BigNumber;
|
|
55
|
+
valueInCurrency: BigNumber | null;
|
|
56
|
+
};
|
|
57
|
+
swapRate: BigNumber;
|
|
58
|
+
cost: {
|
|
59
|
+
valueInCurrency: BigNumber | null;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
export declare enum SortOrder {
|
|
63
|
+
COST_ASC = "cost_ascending",
|
|
64
|
+
ETA_ASC = "time_descending"
|
|
65
|
+
}
|
|
66
|
+
export type BridgeToken = {
|
|
67
|
+
type: AssetType.native | AssetType.token;
|
|
68
|
+
address: string;
|
|
69
|
+
symbol: string;
|
|
70
|
+
image: string;
|
|
71
|
+
decimals: number;
|
|
72
|
+
chainId: Hex;
|
|
73
|
+
balance: string;
|
|
74
|
+
string: string | undefined;
|
|
75
|
+
tokenFiatAmount?: number | null;
|
|
76
|
+
} | null;
|
|
77
|
+
export declare enum BridgeFlag {
|
|
78
|
+
EXTENSION_CONFIG = "extension-config"
|
|
79
|
+
}
|
|
80
|
+
type DecimalChainId = string;
|
|
81
|
+
export type GasMultiplierByChainId = Record<DecimalChainId, number>;
|
|
82
|
+
export type FeatureFlagResponse = {
|
|
83
|
+
[BridgeFlag.EXTENSION_CONFIG]: {
|
|
84
|
+
refreshRate: number;
|
|
85
|
+
maxRefreshCount: number;
|
|
86
|
+
support: boolean;
|
|
87
|
+
chains: Record<number, ChainConfiguration>;
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
export type BridgeAsset = {
|
|
91
|
+
chainId: ChainId;
|
|
92
|
+
address: string;
|
|
93
|
+
symbol: string;
|
|
94
|
+
name: string;
|
|
95
|
+
decimals: number;
|
|
96
|
+
icon?: string;
|
|
97
|
+
};
|
|
98
|
+
export type QuoteRequest = {
|
|
99
|
+
walletAddress: string;
|
|
100
|
+
destWalletAddress?: string;
|
|
101
|
+
srcChainId: ChainId;
|
|
102
|
+
destChainId: ChainId;
|
|
103
|
+
srcTokenAddress: string;
|
|
104
|
+
destTokenAddress: string;
|
|
105
|
+
/**
|
|
106
|
+
* This is the amount sent, in atomic amount
|
|
107
|
+
*/
|
|
108
|
+
srcTokenAmount: string;
|
|
109
|
+
slippage: number;
|
|
110
|
+
aggIds?: string[];
|
|
111
|
+
bridgeIds?: string[];
|
|
112
|
+
insufficientBal?: boolean;
|
|
113
|
+
resetApproval?: boolean;
|
|
114
|
+
refuel?: boolean;
|
|
115
|
+
};
|
|
116
|
+
export type Protocol = {
|
|
117
|
+
name: string;
|
|
118
|
+
displayName?: string;
|
|
119
|
+
icon?: string;
|
|
120
|
+
};
|
|
121
|
+
export declare enum ActionTypes {
|
|
122
|
+
BRIDGE = "bridge",
|
|
123
|
+
SWAP = "swap",
|
|
124
|
+
REFUEL = "refuel"
|
|
125
|
+
}
|
|
126
|
+
export type Step = {
|
|
127
|
+
action: ActionTypes;
|
|
128
|
+
srcChainId: ChainId;
|
|
129
|
+
destChainId?: ChainId;
|
|
130
|
+
srcAsset: BridgeAsset;
|
|
131
|
+
destAsset: BridgeAsset;
|
|
132
|
+
srcAmount: string;
|
|
133
|
+
destAmount: string;
|
|
134
|
+
protocol: Protocol;
|
|
135
|
+
};
|
|
136
|
+
export type RefuelData = Step;
|
|
137
|
+
export type Quote = {
|
|
138
|
+
requestId: string;
|
|
139
|
+
srcChainId: ChainId;
|
|
140
|
+
srcAsset: BridgeAsset;
|
|
141
|
+
srcTokenAmount: string;
|
|
142
|
+
destChainId: ChainId;
|
|
143
|
+
destAsset: BridgeAsset;
|
|
144
|
+
destTokenAmount: string;
|
|
145
|
+
feeData: Record<FeeType.METABRIDGE, FeeData> & Partial<Record<FeeType, FeeData>>;
|
|
146
|
+
bridgeId: string;
|
|
147
|
+
bridges: string[];
|
|
148
|
+
steps: Step[];
|
|
149
|
+
refuel?: RefuelData;
|
|
150
|
+
};
|
|
151
|
+
export type QuoteResponse = {
|
|
152
|
+
quote: Quote;
|
|
153
|
+
approval: TxData | null;
|
|
154
|
+
trade: TxData;
|
|
155
|
+
estimatedProcessingTimeInSeconds: number;
|
|
156
|
+
};
|
|
157
|
+
export declare enum ChainId {
|
|
158
|
+
ETH = 1,
|
|
159
|
+
OPTIMISM = 10,
|
|
160
|
+
BSC = 56,
|
|
161
|
+
POLYGON = 137,
|
|
162
|
+
ZKSYNC = 324,
|
|
163
|
+
BASE = 8453,
|
|
164
|
+
ARBITRUM = 42161,
|
|
165
|
+
AVALANCHE = 43114,
|
|
166
|
+
LINEA = 59144
|
|
167
|
+
}
|
|
168
|
+
export declare enum FeeType {
|
|
169
|
+
METABRIDGE = "metabridge",
|
|
170
|
+
REFUEL = "refuel"
|
|
171
|
+
}
|
|
172
|
+
export type FeeData = {
|
|
173
|
+
amount: string;
|
|
174
|
+
asset: BridgeAsset;
|
|
175
|
+
};
|
|
176
|
+
export type TxData = {
|
|
177
|
+
chainId: ChainId;
|
|
178
|
+
to: string;
|
|
179
|
+
from: string;
|
|
180
|
+
value: string;
|
|
181
|
+
data: string;
|
|
182
|
+
gasLimit: number | null;
|
|
183
|
+
};
|
|
184
|
+
export declare enum BridgeFeatureFlagsKey {
|
|
185
|
+
EXTENSION_CONFIG = "extensionConfig"
|
|
186
|
+
}
|
|
187
|
+
export type BridgeFeatureFlags = {
|
|
188
|
+
[BridgeFeatureFlagsKey.EXTENSION_CONFIG]: {
|
|
189
|
+
refreshRate: number;
|
|
190
|
+
maxRefreshCount: number;
|
|
191
|
+
support: boolean;
|
|
192
|
+
chains: Record<Hex, ChainConfiguration>;
|
|
193
|
+
};
|
|
194
|
+
};
|
|
195
|
+
export declare enum RequestStatus {
|
|
196
|
+
LOADING = 0,
|
|
197
|
+
FETCHED = 1,
|
|
198
|
+
ERROR = 2
|
|
199
|
+
}
|
|
200
|
+
export declare enum BridgeUserAction {
|
|
201
|
+
SELECT_DEST_NETWORK = "selectDestNetwork",
|
|
202
|
+
UPDATE_QUOTE_PARAMS = "updateBridgeQuoteRequestParams"
|
|
203
|
+
}
|
|
204
|
+
export declare enum BridgeBackgroundAction {
|
|
205
|
+
SET_FEATURE_FLAGS = "setBridgeFeatureFlags",
|
|
206
|
+
RESET_STATE = "resetState",
|
|
207
|
+
GET_BRIDGE_ERC20_ALLOWANCE = "getBridgeERC20Allowance"
|
|
208
|
+
}
|
|
209
|
+
export type BridgeControllerState = {
|
|
210
|
+
bridgeFeatureFlags: BridgeFeatureFlags;
|
|
211
|
+
quoteRequest: Partial<QuoteRequest>;
|
|
212
|
+
quotes: (QuoteResponse & L1GasFees)[];
|
|
213
|
+
quotesInitialLoadTime?: number;
|
|
214
|
+
quotesLastFetched?: number;
|
|
215
|
+
quotesLoadingStatus?: RequestStatus;
|
|
216
|
+
quoteFetchError?: string;
|
|
217
|
+
quotesRefreshCount: number;
|
|
218
|
+
};
|
|
219
|
+
export type BridgeControllerAction<FunctionName extends keyof BridgeController> = {
|
|
220
|
+
type: `${typeof BRIDGE_CONTROLLER_NAME}:${FunctionName}`;
|
|
221
|
+
handler: BridgeController[FunctionName];
|
|
222
|
+
};
|
|
223
|
+
export type BridgeControllerActions = BridgeControllerAction<BridgeBackgroundAction.SET_FEATURE_FLAGS> | BridgeControllerAction<BridgeBackgroundAction.RESET_STATE> | BridgeControllerAction<BridgeBackgroundAction.GET_BRIDGE_ERC20_ALLOWANCE> | BridgeControllerAction<BridgeUserAction.UPDATE_QUOTE_PARAMS>;
|
|
224
|
+
export type BridgeControllerEvents = ControllerStateChangeEvent<typeof BRIDGE_CONTROLLER_NAME, BridgeControllerState>;
|
|
225
|
+
export type AllowedActions = AccountsControllerGetSelectedAccountAction | NetworkControllerFindNetworkClientIdByChainIdAction | NetworkControllerGetStateAction | NetworkControllerGetNetworkClientByIdAction;
|
|
226
|
+
export type AllowedEvents = never;
|
|
227
|
+
/**
|
|
228
|
+
* The messenger for the BridgeController.
|
|
229
|
+
*/
|
|
230
|
+
export type BridgeControllerMessenger = RestrictedMessenger<typeof BRIDGE_CONTROLLER_NAME, BridgeControllerActions | AllowedActions, BridgeControllerEvents | AllowedEvents, AllowedActions['type'], AllowedEvents['type']>;
|
|
231
|
+
export {};
|
|
232
|
+
//# sourceMappingURL=types.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.mts
ADDED
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import type { AccountsControllerGetSelectedAccountAction } from "@metamask/accounts-controller";
|
|
2
|
+
import type { ControllerStateChangeEvent, RestrictedMessenger } from "@metamask/base-controller";
|
|
3
|
+
import type { NetworkControllerFindNetworkClientIdByChainIdAction, NetworkControllerGetStateAction, NetworkControllerGetNetworkClientByIdAction } from "@metamask/network-controller";
|
|
4
|
+
import type { Hex } from "@metamask/utils";
|
|
5
|
+
import type { BigNumber } from "bignumber.js";
|
|
6
|
+
import type { BridgeController } from "./bridge-controller.mjs";
|
|
7
|
+
import type { BRIDGE_CONTROLLER_NAME } from "./constants/bridge.mjs";
|
|
8
|
+
export type FetchFunction = (input: RequestInfo | URL, init?: RequestInit) => Promise<any>;
|
|
9
|
+
/**
|
|
10
|
+
* The types of assets that a user can send
|
|
11
|
+
*
|
|
12
|
+
*/
|
|
13
|
+
export declare enum AssetType {
|
|
14
|
+
/** The native asset for the current network, such as ETH */
|
|
15
|
+
native = "NATIVE",
|
|
16
|
+
/** An ERC20 token */
|
|
17
|
+
token = "TOKEN",
|
|
18
|
+
/** An ERC721 or ERC1155 token. */
|
|
19
|
+
NFT = "NFT",
|
|
20
|
+
/**
|
|
21
|
+
* A transaction interacting with a contract that isn't a token method
|
|
22
|
+
* interaction will be marked as dealing with an unknown asset type.
|
|
23
|
+
*/
|
|
24
|
+
unknown = "UNKNOWN"
|
|
25
|
+
}
|
|
26
|
+
export type ChainConfiguration = {
|
|
27
|
+
isActiveSrc: boolean;
|
|
28
|
+
isActiveDest: boolean;
|
|
29
|
+
};
|
|
30
|
+
export type L1GasFees = {
|
|
31
|
+
l1GasFeesInHexWei?: string;
|
|
32
|
+
};
|
|
33
|
+
export type QuoteMetadata = {
|
|
34
|
+
gasFee: {
|
|
35
|
+
amount: BigNumber;
|
|
36
|
+
valueInCurrency: BigNumber | null;
|
|
37
|
+
};
|
|
38
|
+
totalNetworkFee: {
|
|
39
|
+
amount: BigNumber;
|
|
40
|
+
valueInCurrency: BigNumber | null;
|
|
41
|
+
};
|
|
42
|
+
totalMaxNetworkFee: {
|
|
43
|
+
amount: BigNumber;
|
|
44
|
+
valueInCurrency: BigNumber | null;
|
|
45
|
+
};
|
|
46
|
+
toTokenAmount: {
|
|
47
|
+
amount: BigNumber;
|
|
48
|
+
valueInCurrency: BigNumber | null;
|
|
49
|
+
};
|
|
50
|
+
adjustedReturn: {
|
|
51
|
+
valueInCurrency: BigNumber | null;
|
|
52
|
+
};
|
|
53
|
+
sentAmount: {
|
|
54
|
+
amount: BigNumber;
|
|
55
|
+
valueInCurrency: BigNumber | null;
|
|
56
|
+
};
|
|
57
|
+
swapRate: BigNumber;
|
|
58
|
+
cost: {
|
|
59
|
+
valueInCurrency: BigNumber | null;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
export declare enum SortOrder {
|
|
63
|
+
COST_ASC = "cost_ascending",
|
|
64
|
+
ETA_ASC = "time_descending"
|
|
65
|
+
}
|
|
66
|
+
export type BridgeToken = {
|
|
67
|
+
type: AssetType.native | AssetType.token;
|
|
68
|
+
address: string;
|
|
69
|
+
symbol: string;
|
|
70
|
+
image: string;
|
|
71
|
+
decimals: number;
|
|
72
|
+
chainId: Hex;
|
|
73
|
+
balance: string;
|
|
74
|
+
string: string | undefined;
|
|
75
|
+
tokenFiatAmount?: number | null;
|
|
76
|
+
} | null;
|
|
77
|
+
export declare enum BridgeFlag {
|
|
78
|
+
EXTENSION_CONFIG = "extension-config"
|
|
79
|
+
}
|
|
80
|
+
type DecimalChainId = string;
|
|
81
|
+
export type GasMultiplierByChainId = Record<DecimalChainId, number>;
|
|
82
|
+
export type FeatureFlagResponse = {
|
|
83
|
+
[BridgeFlag.EXTENSION_CONFIG]: {
|
|
84
|
+
refreshRate: number;
|
|
85
|
+
maxRefreshCount: number;
|
|
86
|
+
support: boolean;
|
|
87
|
+
chains: Record<number, ChainConfiguration>;
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
export type BridgeAsset = {
|
|
91
|
+
chainId: ChainId;
|
|
92
|
+
address: string;
|
|
93
|
+
symbol: string;
|
|
94
|
+
name: string;
|
|
95
|
+
decimals: number;
|
|
96
|
+
icon?: string;
|
|
97
|
+
};
|
|
98
|
+
export type QuoteRequest = {
|
|
99
|
+
walletAddress: string;
|
|
100
|
+
destWalletAddress?: string;
|
|
101
|
+
srcChainId: ChainId;
|
|
102
|
+
destChainId: ChainId;
|
|
103
|
+
srcTokenAddress: string;
|
|
104
|
+
destTokenAddress: string;
|
|
105
|
+
/**
|
|
106
|
+
* This is the amount sent, in atomic amount
|
|
107
|
+
*/
|
|
108
|
+
srcTokenAmount: string;
|
|
109
|
+
slippage: number;
|
|
110
|
+
aggIds?: string[];
|
|
111
|
+
bridgeIds?: string[];
|
|
112
|
+
insufficientBal?: boolean;
|
|
113
|
+
resetApproval?: boolean;
|
|
114
|
+
refuel?: boolean;
|
|
115
|
+
};
|
|
116
|
+
export type Protocol = {
|
|
117
|
+
name: string;
|
|
118
|
+
displayName?: string;
|
|
119
|
+
icon?: string;
|
|
120
|
+
};
|
|
121
|
+
export declare enum ActionTypes {
|
|
122
|
+
BRIDGE = "bridge",
|
|
123
|
+
SWAP = "swap",
|
|
124
|
+
REFUEL = "refuel"
|
|
125
|
+
}
|
|
126
|
+
export type Step = {
|
|
127
|
+
action: ActionTypes;
|
|
128
|
+
srcChainId: ChainId;
|
|
129
|
+
destChainId?: ChainId;
|
|
130
|
+
srcAsset: BridgeAsset;
|
|
131
|
+
destAsset: BridgeAsset;
|
|
132
|
+
srcAmount: string;
|
|
133
|
+
destAmount: string;
|
|
134
|
+
protocol: Protocol;
|
|
135
|
+
};
|
|
136
|
+
export type RefuelData = Step;
|
|
137
|
+
export type Quote = {
|
|
138
|
+
requestId: string;
|
|
139
|
+
srcChainId: ChainId;
|
|
140
|
+
srcAsset: BridgeAsset;
|
|
141
|
+
srcTokenAmount: string;
|
|
142
|
+
destChainId: ChainId;
|
|
143
|
+
destAsset: BridgeAsset;
|
|
144
|
+
destTokenAmount: string;
|
|
145
|
+
feeData: Record<FeeType.METABRIDGE, FeeData> & Partial<Record<FeeType, FeeData>>;
|
|
146
|
+
bridgeId: string;
|
|
147
|
+
bridges: string[];
|
|
148
|
+
steps: Step[];
|
|
149
|
+
refuel?: RefuelData;
|
|
150
|
+
};
|
|
151
|
+
export type QuoteResponse = {
|
|
152
|
+
quote: Quote;
|
|
153
|
+
approval: TxData | null;
|
|
154
|
+
trade: TxData;
|
|
155
|
+
estimatedProcessingTimeInSeconds: number;
|
|
156
|
+
};
|
|
157
|
+
export declare enum ChainId {
|
|
158
|
+
ETH = 1,
|
|
159
|
+
OPTIMISM = 10,
|
|
160
|
+
BSC = 56,
|
|
161
|
+
POLYGON = 137,
|
|
162
|
+
ZKSYNC = 324,
|
|
163
|
+
BASE = 8453,
|
|
164
|
+
ARBITRUM = 42161,
|
|
165
|
+
AVALANCHE = 43114,
|
|
166
|
+
LINEA = 59144
|
|
167
|
+
}
|
|
168
|
+
export declare enum FeeType {
|
|
169
|
+
METABRIDGE = "metabridge",
|
|
170
|
+
REFUEL = "refuel"
|
|
171
|
+
}
|
|
172
|
+
export type FeeData = {
|
|
173
|
+
amount: string;
|
|
174
|
+
asset: BridgeAsset;
|
|
175
|
+
};
|
|
176
|
+
export type TxData = {
|
|
177
|
+
chainId: ChainId;
|
|
178
|
+
to: string;
|
|
179
|
+
from: string;
|
|
180
|
+
value: string;
|
|
181
|
+
data: string;
|
|
182
|
+
gasLimit: number | null;
|
|
183
|
+
};
|
|
184
|
+
export declare enum BridgeFeatureFlagsKey {
|
|
185
|
+
EXTENSION_CONFIG = "extensionConfig"
|
|
186
|
+
}
|
|
187
|
+
export type BridgeFeatureFlags = {
|
|
188
|
+
[BridgeFeatureFlagsKey.EXTENSION_CONFIG]: {
|
|
189
|
+
refreshRate: number;
|
|
190
|
+
maxRefreshCount: number;
|
|
191
|
+
support: boolean;
|
|
192
|
+
chains: Record<Hex, ChainConfiguration>;
|
|
193
|
+
};
|
|
194
|
+
};
|
|
195
|
+
export declare enum RequestStatus {
|
|
196
|
+
LOADING = 0,
|
|
197
|
+
FETCHED = 1,
|
|
198
|
+
ERROR = 2
|
|
199
|
+
}
|
|
200
|
+
export declare enum BridgeUserAction {
|
|
201
|
+
SELECT_DEST_NETWORK = "selectDestNetwork",
|
|
202
|
+
UPDATE_QUOTE_PARAMS = "updateBridgeQuoteRequestParams"
|
|
203
|
+
}
|
|
204
|
+
export declare enum BridgeBackgroundAction {
|
|
205
|
+
SET_FEATURE_FLAGS = "setBridgeFeatureFlags",
|
|
206
|
+
RESET_STATE = "resetState",
|
|
207
|
+
GET_BRIDGE_ERC20_ALLOWANCE = "getBridgeERC20Allowance"
|
|
208
|
+
}
|
|
209
|
+
export type BridgeControllerState = {
|
|
210
|
+
bridgeFeatureFlags: BridgeFeatureFlags;
|
|
211
|
+
quoteRequest: Partial<QuoteRequest>;
|
|
212
|
+
quotes: (QuoteResponse & L1GasFees)[];
|
|
213
|
+
quotesInitialLoadTime?: number;
|
|
214
|
+
quotesLastFetched?: number;
|
|
215
|
+
quotesLoadingStatus?: RequestStatus;
|
|
216
|
+
quoteFetchError?: string;
|
|
217
|
+
quotesRefreshCount: number;
|
|
218
|
+
};
|
|
219
|
+
export type BridgeControllerAction<FunctionName extends keyof BridgeController> = {
|
|
220
|
+
type: `${typeof BRIDGE_CONTROLLER_NAME}:${FunctionName}`;
|
|
221
|
+
handler: BridgeController[FunctionName];
|
|
222
|
+
};
|
|
223
|
+
export type BridgeControllerActions = BridgeControllerAction<BridgeBackgroundAction.SET_FEATURE_FLAGS> | BridgeControllerAction<BridgeBackgroundAction.RESET_STATE> | BridgeControllerAction<BridgeBackgroundAction.GET_BRIDGE_ERC20_ALLOWANCE> | BridgeControllerAction<BridgeUserAction.UPDATE_QUOTE_PARAMS>;
|
|
224
|
+
export type BridgeControllerEvents = ControllerStateChangeEvent<typeof BRIDGE_CONTROLLER_NAME, BridgeControllerState>;
|
|
225
|
+
export type AllowedActions = AccountsControllerGetSelectedAccountAction | NetworkControllerFindNetworkClientIdByChainIdAction | NetworkControllerGetStateAction | NetworkControllerGetNetworkClientByIdAction;
|
|
226
|
+
export type AllowedEvents = never;
|
|
227
|
+
/**
|
|
228
|
+
* The messenger for the BridgeController.
|
|
229
|
+
*/
|
|
230
|
+
export type BridgeControllerMessenger = RestrictedMessenger<typeof BRIDGE_CONTROLLER_NAME, BridgeControllerActions | AllowedActions, BridgeControllerEvents | AllowedEvents, AllowedActions['type'], AllowedEvents['type']>;
|
|
231
|
+
export {};
|
|
232
|
+
//# sourceMappingURL=types.d.mts.map
|