@metamask/bridge-controller 43.1.0 → 43.2.1
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 +15 -1
- package/dist/constants/tokens.cjs +1 -0
- package/dist/constants/tokens.cjs.map +1 -1
- package/dist/constants/tokens.d.cts +7 -0
- package/dist/constants/tokens.d.cts.map +1 -1
- package/dist/constants/tokens.d.mts +7 -0
- package/dist/constants/tokens.d.mts.map +1 -1
- package/dist/constants/tokens.mjs +1 -0
- package/dist/constants/tokens.mjs.map +1 -1
- package/dist/selectors.d.cts +25 -0
- package/dist/selectors.d.cts.map +1 -1
- package/dist/selectors.d.mts +25 -0
- package/dist/selectors.d.mts.map +1 -1
- package/dist/utils/validators.cjs +1 -0
- package/dist/utils/validators.cjs.map +1 -1
- package/dist/utils/validators.d.cts +5 -0
- package/dist/utils/validators.d.cts.map +1 -1
- package/dist/utils/validators.d.mts +5 -0
- package/dist/utils/validators.d.mts.map +1 -1
- package/dist/utils/validators.mjs +1 -0
- package/dist/utils/validators.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [43.2.1]
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Add Solana Devnet support to bridge controller ([#6670](https://github.com/MetaMask/core/pull/6670))
|
|
15
|
+
|
|
16
|
+
## [43.2.0]
|
|
17
|
+
|
|
18
|
+
### Added
|
|
19
|
+
|
|
20
|
+
- Add optional `noFeeAssets` property to the `ChainConfigurationSchema` type ([#6665](https://github.com/MetaMask/core/pull/6665))
|
|
21
|
+
|
|
10
22
|
## [43.1.0]
|
|
11
23
|
|
|
12
24
|
### Added
|
|
@@ -585,7 +597,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
585
597
|
|
|
586
598
|
- Initial release ([#5317](https://github.com/MetaMask/core/pull/5317))
|
|
587
599
|
|
|
588
|
-
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/bridge-controller@43.1
|
|
600
|
+
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/bridge-controller@43.2.1...HEAD
|
|
601
|
+
[43.2.1]: https://github.com/MetaMask/core/compare/@metamask/bridge-controller@43.2.0...@metamask/bridge-controller@43.2.1
|
|
602
|
+
[43.2.0]: https://github.com/MetaMask/core/compare/@metamask/bridge-controller@43.1.0...@metamask/bridge-controller@43.2.0
|
|
589
603
|
[43.1.0]: https://github.com/MetaMask/core/compare/@metamask/bridge-controller@43.0.0...@metamask/bridge-controller@43.1.0
|
|
590
604
|
[43.0.0]: https://github.com/MetaMask/core/compare/@metamask/bridge-controller@42.0.0...@metamask/bridge-controller@43.0.0
|
|
591
605
|
[42.0.0]: https://github.com/MetaMask/core/compare/@metamask/bridge-controller@41.4.0...@metamask/bridge-controller@42.0.0
|
|
@@ -132,6 +132,7 @@ exports.SWAPS_CHAINID_DEFAULT_TOKEN_MAP = {
|
|
|
132
132
|
[chains_1.CHAIN_IDS.BASE]: BASE_SWAPS_TOKEN_OBJECT,
|
|
133
133
|
[chains_1.CHAIN_IDS.SEI]: SEI_SWAPS_TOKEN_OBJECT,
|
|
134
134
|
[keyring_api_1.SolScope.Mainnet]: SOLANA_SWAPS_TOKEN_OBJECT,
|
|
135
|
+
[keyring_api_1.SolScope.Devnet]: SOLANA_SWAPS_TOKEN_OBJECT,
|
|
135
136
|
[keyring_api_1.BtcScope.Mainnet]: BTC_SWAPS_TOKEN_OBJECT,
|
|
136
137
|
};
|
|
137
138
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.cjs","sourceRoot":"","sources":["../../src/constants/tokens.ts"],"names":[],"mappings":"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","sourcesContent":["import { BtcScope, SolScope } from '@metamask/keyring-api';\n\nimport type { AllowedBridgeChainIds } from './bridge';\nimport { CHAIN_IDS } from './chains';\n\nexport type SwapsTokenObject = {\n /**\n * The symbol of token object\n */\n symbol: string;\n /**\n * The name for the network\n */\n name: string;\n /**\n * An address that the metaswap-api recognizes as the default token\n */\n address: string;\n /**\n * Number of digits after decimal point\n */\n decimals: number;\n /**\n * URL for token icon\n */\n iconUrl: string;\n};\n\nconst DEFAULT_TOKEN_ADDRESS = '0x0000000000000000000000000000000000000000';\n\nconst CURRENCY_SYMBOLS = {\n ARBITRUM: 'ETH',\n AVALANCHE: 'AVAX',\n BNB: 'BNB',\n BUSD: 'BUSD',\n CELO: 'CELO',\n DAI: 'DAI',\n GNOSIS: 'XDAI',\n ETH: 'ETH',\n FANTOM: 'FTM',\n HARMONY: 'ONE',\n PALM: 'PALM',\n MATIC: 'MATIC',\n POL: 'POL',\n TEST_ETH: 'TESTETH',\n USDC: 'USDC',\n USDT: 'USDT',\n WETH: 'WETH',\n OPTIMISM: 'ETH',\n CRONOS: 'CRO',\n GLIMMER: 'GLMR',\n MOONRIVER: 'MOVR',\n ONE: 'ONE',\n SOL: 'SOL',\n SEI: 'SEI',\n BTC: 'BTC',\n} as const;\n\nconst ETH_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.ETH,\n name: 'Ether',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n};\n\nconst BNB_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.BNB,\n name: 'Binance Coin',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst MATIC_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.POL,\n name: 'Polygon',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst AVAX_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.AVALANCHE,\n name: 'Avalanche',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst TEST_ETH_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.TEST_ETH,\n name: 'Test Ether',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst GOERLI_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.ETH,\n name: 'Ether',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst SEPOLIA_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.ETH,\n name: 'Ether',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst ARBITRUM_SWAPS_TOKEN_OBJECT = {\n ...ETH_SWAPS_TOKEN_OBJECT,\n} as const;\n\nconst OPTIMISM_SWAPS_TOKEN_OBJECT = {\n ...ETH_SWAPS_TOKEN_OBJECT,\n} as const;\n\nconst ZKSYNC_ERA_SWAPS_TOKEN_OBJECT = {\n ...ETH_SWAPS_TOKEN_OBJECT,\n} as const;\n\nconst LINEA_SWAPS_TOKEN_OBJECT = {\n ...ETH_SWAPS_TOKEN_OBJECT,\n} as const;\n\nconst BASE_SWAPS_TOKEN_OBJECT = {\n ...ETH_SWAPS_TOKEN_OBJECT,\n} as const;\n\nconst SOLANA_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.SOL,\n name: 'Solana',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 9,\n iconUrl: '',\n} as const;\n\nconst BTC_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.BTC,\n name: 'Bitcoin',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 8,\n iconUrl: '',\n} as const;\n\nconst SEI_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.SEI,\n name: 'Sei',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst SWAPS_TESTNET_CHAIN_ID = '0x539';\n\nexport const SWAPS_CHAINID_DEFAULT_TOKEN_MAP = {\n [CHAIN_IDS.MAINNET]: ETH_SWAPS_TOKEN_OBJECT,\n [SWAPS_TESTNET_CHAIN_ID]: TEST_ETH_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.BSC]: BNB_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.POLYGON]: MATIC_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.GOERLI]: GOERLI_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.SEPOLIA]: SEPOLIA_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.AVALANCHE]: AVAX_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.OPTIMISM]: OPTIMISM_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.ARBITRUM]: ARBITRUM_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.ZKSYNC_ERA]: ZKSYNC_ERA_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.LINEA_MAINNET]: LINEA_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.BASE]: BASE_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.SEI]: SEI_SWAPS_TOKEN_OBJECT,\n [SolScope.Mainnet]: SOLANA_SWAPS_TOKEN_OBJECT,\n [BtcScope.Mainnet]: BTC_SWAPS_TOKEN_OBJECT,\n} as const;\n\nexport type SupportedSwapsNativeCurrencySymbols =\n (typeof SWAPS_CHAINID_DEFAULT_TOKEN_MAP)[\n | AllowedBridgeChainIds\n | typeof SWAPS_TESTNET_CHAIN_ID]['symbol'];\n\n/**\n * A map of native currency symbols to their SLIP-44 representation\n * From {@link https://github.com/satoshilabs/slips/blob/master/slip-0044.md}\n */\nexport const SYMBOL_TO_SLIP44_MAP: Record<\n SupportedSwapsNativeCurrencySymbols,\n `${string}:${string}`\n> = {\n SOL: 'slip44:501',\n BTC: 'slip44:0',\n ETH: 'slip44:60',\n POL: 'slip44:966',\n BNB: 'slip44:714',\n AVAX: 'slip44:9000',\n TESTETH: 'slip44:60',\n SEI: 'slip44:19000118',\n};\n"]}
|
|
1
|
+
{"version":3,"file":"tokens.cjs","sourceRoot":"","sources":["../../src/constants/tokens.ts"],"names":[],"mappings":"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","sourcesContent":["import { BtcScope, SolScope } from '@metamask/keyring-api';\n\nimport type { AllowedBridgeChainIds } from './bridge';\nimport { CHAIN_IDS } from './chains';\n\nexport type SwapsTokenObject = {\n /**\n * The symbol of token object\n */\n symbol: string;\n /**\n * The name for the network\n */\n name: string;\n /**\n * An address that the metaswap-api recognizes as the default token\n */\n address: string;\n /**\n * Number of digits after decimal point\n */\n decimals: number;\n /**\n * URL for token icon\n */\n iconUrl: string;\n};\n\nconst DEFAULT_TOKEN_ADDRESS = '0x0000000000000000000000000000000000000000';\n\nconst CURRENCY_SYMBOLS = {\n ARBITRUM: 'ETH',\n AVALANCHE: 'AVAX',\n BNB: 'BNB',\n BUSD: 'BUSD',\n CELO: 'CELO',\n DAI: 'DAI',\n GNOSIS: 'XDAI',\n ETH: 'ETH',\n FANTOM: 'FTM',\n HARMONY: 'ONE',\n PALM: 'PALM',\n MATIC: 'MATIC',\n POL: 'POL',\n TEST_ETH: 'TESTETH',\n USDC: 'USDC',\n USDT: 'USDT',\n WETH: 'WETH',\n OPTIMISM: 'ETH',\n CRONOS: 'CRO',\n GLIMMER: 'GLMR',\n MOONRIVER: 'MOVR',\n ONE: 'ONE',\n SOL: 'SOL',\n SEI: 'SEI',\n BTC: 'BTC',\n} as const;\n\nconst ETH_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.ETH,\n name: 'Ether',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n};\n\nconst BNB_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.BNB,\n name: 'Binance Coin',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst MATIC_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.POL,\n name: 'Polygon',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst AVAX_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.AVALANCHE,\n name: 'Avalanche',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst TEST_ETH_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.TEST_ETH,\n name: 'Test Ether',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst GOERLI_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.ETH,\n name: 'Ether',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst SEPOLIA_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.ETH,\n name: 'Ether',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst ARBITRUM_SWAPS_TOKEN_OBJECT = {\n ...ETH_SWAPS_TOKEN_OBJECT,\n} as const;\n\nconst OPTIMISM_SWAPS_TOKEN_OBJECT = {\n ...ETH_SWAPS_TOKEN_OBJECT,\n} as const;\n\nconst ZKSYNC_ERA_SWAPS_TOKEN_OBJECT = {\n ...ETH_SWAPS_TOKEN_OBJECT,\n} as const;\n\nconst LINEA_SWAPS_TOKEN_OBJECT = {\n ...ETH_SWAPS_TOKEN_OBJECT,\n} as const;\n\nconst BASE_SWAPS_TOKEN_OBJECT = {\n ...ETH_SWAPS_TOKEN_OBJECT,\n} as const;\n\nconst SOLANA_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.SOL,\n name: 'Solana',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 9,\n iconUrl: '',\n} as const;\n\nconst BTC_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.BTC,\n name: 'Bitcoin',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 8,\n iconUrl: '',\n} as const;\n\nconst SEI_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.SEI,\n name: 'Sei',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst SWAPS_TESTNET_CHAIN_ID = '0x539';\n\nexport const SWAPS_CHAINID_DEFAULT_TOKEN_MAP = {\n [CHAIN_IDS.MAINNET]: ETH_SWAPS_TOKEN_OBJECT,\n [SWAPS_TESTNET_CHAIN_ID]: TEST_ETH_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.BSC]: BNB_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.POLYGON]: MATIC_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.GOERLI]: GOERLI_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.SEPOLIA]: SEPOLIA_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.AVALANCHE]: AVAX_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.OPTIMISM]: OPTIMISM_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.ARBITRUM]: ARBITRUM_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.ZKSYNC_ERA]: ZKSYNC_ERA_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.LINEA_MAINNET]: LINEA_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.BASE]: BASE_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.SEI]: SEI_SWAPS_TOKEN_OBJECT,\n [SolScope.Mainnet]: SOLANA_SWAPS_TOKEN_OBJECT,\n [SolScope.Devnet]: SOLANA_SWAPS_TOKEN_OBJECT,\n [BtcScope.Mainnet]: BTC_SWAPS_TOKEN_OBJECT,\n} as const;\n\nexport type SupportedSwapsNativeCurrencySymbols =\n (typeof SWAPS_CHAINID_DEFAULT_TOKEN_MAP)[\n | AllowedBridgeChainIds\n | typeof SWAPS_TESTNET_CHAIN_ID]['symbol'];\n\n/**\n * A map of native currency symbols to their SLIP-44 representation\n * From {@link https://github.com/satoshilabs/slips/blob/master/slip-0044.md}\n */\nexport const SYMBOL_TO_SLIP44_MAP: Record<\n SupportedSwapsNativeCurrencySymbols,\n `${string}:${string}`\n> = {\n SOL: 'slip44:501',\n BTC: 'slip44:0',\n ETH: 'slip44:60',\n POL: 'slip44:966',\n BNB: 'slip44:714',\n AVAX: 'slip44:9000',\n TESTETH: 'slip44:60',\n SEI: 'slip44:19000118',\n};\n"]}
|
|
@@ -121,6 +121,13 @@ export declare const SWAPS_CHAINID_DEFAULT_TOKEN_MAP: {
|
|
|
121
121
|
readonly decimals: 9;
|
|
122
122
|
readonly iconUrl: "";
|
|
123
123
|
};
|
|
124
|
+
readonly "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1": {
|
|
125
|
+
readonly symbol: "SOL";
|
|
126
|
+
readonly name: "Solana";
|
|
127
|
+
readonly address: "0x0000000000000000000000000000000000000000";
|
|
128
|
+
readonly decimals: 9;
|
|
129
|
+
readonly iconUrl: "";
|
|
130
|
+
};
|
|
124
131
|
readonly "bip122:000000000019d6689c085ae165831e93": {
|
|
125
132
|
readonly symbol: "BTC";
|
|
126
133
|
readonly name: "Bitcoin";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.cts","sourceRoot":"","sources":["../../src/constants/tokens.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAiB;AAGtD,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAoIF,QAAA,MAAM,sBAAsB,UAAU,CAAC;AAEvC,eAAO,MAAM,+BAA+B
|
|
1
|
+
{"version":3,"file":"tokens.d.cts","sourceRoot":"","sources":["../../src/constants/tokens.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAiB;AAGtD,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAoIF,QAAA,MAAM,sBAAsB,UAAU,CAAC;AAEvC,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBlC,CAAC;AAEX,MAAM,MAAM,mCAAmC,GAC7C,CAAC,OAAO,+BAA+B,CAAC,CACpC,qBAAqB,GACrB,OAAO,sBAAsB,CAAC,CAAC,QAAQ,CAAC,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CACvC,mCAAmC,EACnC,GAAG,MAAM,IAAI,MAAM,EAAE,CAUtB,CAAC"}
|
|
@@ -121,6 +121,13 @@ export declare const SWAPS_CHAINID_DEFAULT_TOKEN_MAP: {
|
|
|
121
121
|
readonly decimals: 9;
|
|
122
122
|
readonly iconUrl: "";
|
|
123
123
|
};
|
|
124
|
+
readonly "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1": {
|
|
125
|
+
readonly symbol: "SOL";
|
|
126
|
+
readonly name: "Solana";
|
|
127
|
+
readonly address: "0x0000000000000000000000000000000000000000";
|
|
128
|
+
readonly decimals: 9;
|
|
129
|
+
readonly iconUrl: "";
|
|
130
|
+
};
|
|
124
131
|
readonly "bip122:000000000019d6689c085ae165831e93": {
|
|
125
132
|
readonly symbol: "BTC";
|
|
126
133
|
readonly name: "Bitcoin";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.mts","sourceRoot":"","sources":["../../src/constants/tokens.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAiB;AAGtD,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAoIF,QAAA,MAAM,sBAAsB,UAAU,CAAC;AAEvC,eAAO,MAAM,+BAA+B
|
|
1
|
+
{"version":3,"file":"tokens.d.mts","sourceRoot":"","sources":["../../src/constants/tokens.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAiB;AAGtD,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAoIF,QAAA,MAAM,sBAAsB,UAAU,CAAC;AAEvC,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBlC,CAAC;AAEX,MAAM,MAAM,mCAAmC,GAC7C,CAAC,OAAO,+BAA+B,CAAC,CACpC,qBAAqB,GACrB,OAAO,sBAAsB,CAAC,CAAC,QAAQ,CAAC,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CACvC,mCAAmC,EACnC,GAAG,MAAM,IAAI,MAAM,EAAE,CAUtB,CAAC"}
|
|
@@ -129,6 +129,7 @@ export const SWAPS_CHAINID_DEFAULT_TOKEN_MAP = {
|
|
|
129
129
|
[CHAIN_IDS.BASE]: BASE_SWAPS_TOKEN_OBJECT,
|
|
130
130
|
[CHAIN_IDS.SEI]: SEI_SWAPS_TOKEN_OBJECT,
|
|
131
131
|
[SolScope.Mainnet]: SOLANA_SWAPS_TOKEN_OBJECT,
|
|
132
|
+
[SolScope.Devnet]: SOLANA_SWAPS_TOKEN_OBJECT,
|
|
132
133
|
[BtcScope.Mainnet]: BTC_SWAPS_TOKEN_OBJECT,
|
|
133
134
|
};
|
|
134
135
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.mjs","sourceRoot":"","sources":["../../src/constants/tokens.ts"],"names":[],"mappings":"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","sourcesContent":["import { BtcScope, SolScope } from '@metamask/keyring-api';\n\nimport type { AllowedBridgeChainIds } from './bridge';\nimport { CHAIN_IDS } from './chains';\n\nexport type SwapsTokenObject = {\n /**\n * The symbol of token object\n */\n symbol: string;\n /**\n * The name for the network\n */\n name: string;\n /**\n * An address that the metaswap-api recognizes as the default token\n */\n address: string;\n /**\n * Number of digits after decimal point\n */\n decimals: number;\n /**\n * URL for token icon\n */\n iconUrl: string;\n};\n\nconst DEFAULT_TOKEN_ADDRESS = '0x0000000000000000000000000000000000000000';\n\nconst CURRENCY_SYMBOLS = {\n ARBITRUM: 'ETH',\n AVALANCHE: 'AVAX',\n BNB: 'BNB',\n BUSD: 'BUSD',\n CELO: 'CELO',\n DAI: 'DAI',\n GNOSIS: 'XDAI',\n ETH: 'ETH',\n FANTOM: 'FTM',\n HARMONY: 'ONE',\n PALM: 'PALM',\n MATIC: 'MATIC',\n POL: 'POL',\n TEST_ETH: 'TESTETH',\n USDC: 'USDC',\n USDT: 'USDT',\n WETH: 'WETH',\n OPTIMISM: 'ETH',\n CRONOS: 'CRO',\n GLIMMER: 'GLMR',\n MOONRIVER: 'MOVR',\n ONE: 'ONE',\n SOL: 'SOL',\n SEI: 'SEI',\n BTC: 'BTC',\n} as const;\n\nconst ETH_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.ETH,\n name: 'Ether',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n};\n\nconst BNB_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.BNB,\n name: 'Binance Coin',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst MATIC_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.POL,\n name: 'Polygon',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst AVAX_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.AVALANCHE,\n name: 'Avalanche',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst TEST_ETH_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.TEST_ETH,\n name: 'Test Ether',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst GOERLI_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.ETH,\n name: 'Ether',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst SEPOLIA_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.ETH,\n name: 'Ether',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst ARBITRUM_SWAPS_TOKEN_OBJECT = {\n ...ETH_SWAPS_TOKEN_OBJECT,\n} as const;\n\nconst OPTIMISM_SWAPS_TOKEN_OBJECT = {\n ...ETH_SWAPS_TOKEN_OBJECT,\n} as const;\n\nconst ZKSYNC_ERA_SWAPS_TOKEN_OBJECT = {\n ...ETH_SWAPS_TOKEN_OBJECT,\n} as const;\n\nconst LINEA_SWAPS_TOKEN_OBJECT = {\n ...ETH_SWAPS_TOKEN_OBJECT,\n} as const;\n\nconst BASE_SWAPS_TOKEN_OBJECT = {\n ...ETH_SWAPS_TOKEN_OBJECT,\n} as const;\n\nconst SOLANA_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.SOL,\n name: 'Solana',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 9,\n iconUrl: '',\n} as const;\n\nconst BTC_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.BTC,\n name: 'Bitcoin',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 8,\n iconUrl: '',\n} as const;\n\nconst SEI_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.SEI,\n name: 'Sei',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst SWAPS_TESTNET_CHAIN_ID = '0x539';\n\nexport const SWAPS_CHAINID_DEFAULT_TOKEN_MAP = {\n [CHAIN_IDS.MAINNET]: ETH_SWAPS_TOKEN_OBJECT,\n [SWAPS_TESTNET_CHAIN_ID]: TEST_ETH_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.BSC]: BNB_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.POLYGON]: MATIC_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.GOERLI]: GOERLI_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.SEPOLIA]: SEPOLIA_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.AVALANCHE]: AVAX_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.OPTIMISM]: OPTIMISM_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.ARBITRUM]: ARBITRUM_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.ZKSYNC_ERA]: ZKSYNC_ERA_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.LINEA_MAINNET]: LINEA_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.BASE]: BASE_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.SEI]: SEI_SWAPS_TOKEN_OBJECT,\n [SolScope.Mainnet]: SOLANA_SWAPS_TOKEN_OBJECT,\n [BtcScope.Mainnet]: BTC_SWAPS_TOKEN_OBJECT,\n} as const;\n\nexport type SupportedSwapsNativeCurrencySymbols =\n (typeof SWAPS_CHAINID_DEFAULT_TOKEN_MAP)[\n | AllowedBridgeChainIds\n | typeof SWAPS_TESTNET_CHAIN_ID]['symbol'];\n\n/**\n * A map of native currency symbols to their SLIP-44 representation\n * From {@link https://github.com/satoshilabs/slips/blob/master/slip-0044.md}\n */\nexport const SYMBOL_TO_SLIP44_MAP: Record<\n SupportedSwapsNativeCurrencySymbols,\n `${string}:${string}`\n> = {\n SOL: 'slip44:501',\n BTC: 'slip44:0',\n ETH: 'slip44:60',\n POL: 'slip44:966',\n BNB: 'slip44:714',\n AVAX: 'slip44:9000',\n TESTETH: 'slip44:60',\n SEI: 'slip44:19000118',\n};\n"]}
|
|
1
|
+
{"version":3,"file":"tokens.mjs","sourceRoot":"","sources":["../../src/constants/tokens.ts"],"names":[],"mappings":"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","sourcesContent":["import { BtcScope, SolScope } from '@metamask/keyring-api';\n\nimport type { AllowedBridgeChainIds } from './bridge';\nimport { CHAIN_IDS } from './chains';\n\nexport type SwapsTokenObject = {\n /**\n * The symbol of token object\n */\n symbol: string;\n /**\n * The name for the network\n */\n name: string;\n /**\n * An address that the metaswap-api recognizes as the default token\n */\n address: string;\n /**\n * Number of digits after decimal point\n */\n decimals: number;\n /**\n * URL for token icon\n */\n iconUrl: string;\n};\n\nconst DEFAULT_TOKEN_ADDRESS = '0x0000000000000000000000000000000000000000';\n\nconst CURRENCY_SYMBOLS = {\n ARBITRUM: 'ETH',\n AVALANCHE: 'AVAX',\n BNB: 'BNB',\n BUSD: 'BUSD',\n CELO: 'CELO',\n DAI: 'DAI',\n GNOSIS: 'XDAI',\n ETH: 'ETH',\n FANTOM: 'FTM',\n HARMONY: 'ONE',\n PALM: 'PALM',\n MATIC: 'MATIC',\n POL: 'POL',\n TEST_ETH: 'TESTETH',\n USDC: 'USDC',\n USDT: 'USDT',\n WETH: 'WETH',\n OPTIMISM: 'ETH',\n CRONOS: 'CRO',\n GLIMMER: 'GLMR',\n MOONRIVER: 'MOVR',\n ONE: 'ONE',\n SOL: 'SOL',\n SEI: 'SEI',\n BTC: 'BTC',\n} as const;\n\nconst ETH_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.ETH,\n name: 'Ether',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n};\n\nconst BNB_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.BNB,\n name: 'Binance Coin',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst MATIC_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.POL,\n name: 'Polygon',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst AVAX_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.AVALANCHE,\n name: 'Avalanche',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst TEST_ETH_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.TEST_ETH,\n name: 'Test Ether',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst GOERLI_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.ETH,\n name: 'Ether',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst SEPOLIA_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.ETH,\n name: 'Ether',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst ARBITRUM_SWAPS_TOKEN_OBJECT = {\n ...ETH_SWAPS_TOKEN_OBJECT,\n} as const;\n\nconst OPTIMISM_SWAPS_TOKEN_OBJECT = {\n ...ETH_SWAPS_TOKEN_OBJECT,\n} as const;\n\nconst ZKSYNC_ERA_SWAPS_TOKEN_OBJECT = {\n ...ETH_SWAPS_TOKEN_OBJECT,\n} as const;\n\nconst LINEA_SWAPS_TOKEN_OBJECT = {\n ...ETH_SWAPS_TOKEN_OBJECT,\n} as const;\n\nconst BASE_SWAPS_TOKEN_OBJECT = {\n ...ETH_SWAPS_TOKEN_OBJECT,\n} as const;\n\nconst SOLANA_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.SOL,\n name: 'Solana',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 9,\n iconUrl: '',\n} as const;\n\nconst BTC_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.BTC,\n name: 'Bitcoin',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 8,\n iconUrl: '',\n} as const;\n\nconst SEI_SWAPS_TOKEN_OBJECT = {\n symbol: CURRENCY_SYMBOLS.SEI,\n name: 'Sei',\n address: DEFAULT_TOKEN_ADDRESS,\n decimals: 18,\n iconUrl: '',\n} as const;\n\nconst SWAPS_TESTNET_CHAIN_ID = '0x539';\n\nexport const SWAPS_CHAINID_DEFAULT_TOKEN_MAP = {\n [CHAIN_IDS.MAINNET]: ETH_SWAPS_TOKEN_OBJECT,\n [SWAPS_TESTNET_CHAIN_ID]: TEST_ETH_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.BSC]: BNB_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.POLYGON]: MATIC_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.GOERLI]: GOERLI_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.SEPOLIA]: SEPOLIA_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.AVALANCHE]: AVAX_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.OPTIMISM]: OPTIMISM_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.ARBITRUM]: ARBITRUM_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.ZKSYNC_ERA]: ZKSYNC_ERA_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.LINEA_MAINNET]: LINEA_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.BASE]: BASE_SWAPS_TOKEN_OBJECT,\n [CHAIN_IDS.SEI]: SEI_SWAPS_TOKEN_OBJECT,\n [SolScope.Mainnet]: SOLANA_SWAPS_TOKEN_OBJECT,\n [SolScope.Devnet]: SOLANA_SWAPS_TOKEN_OBJECT,\n [BtcScope.Mainnet]: BTC_SWAPS_TOKEN_OBJECT,\n} as const;\n\nexport type SupportedSwapsNativeCurrencySymbols =\n (typeof SWAPS_CHAINID_DEFAULT_TOKEN_MAP)[\n | AllowedBridgeChainIds\n | typeof SWAPS_TESTNET_CHAIN_ID]['symbol'];\n\n/**\n * A map of native currency symbols to their SLIP-44 representation\n * From {@link https://github.com/satoshilabs/slips/blob/master/slip-0044.md}\n */\nexport const SYMBOL_TO_SLIP44_MAP: Record<\n SupportedSwapsNativeCurrencySymbols,\n `${string}:${string}`\n> = {\n SOL: 'slip44:501',\n BTC: 'slip44:0',\n ETH: 'slip44:60',\n POL: 'slip44:966',\n BNB: 'slip44:714',\n AVAX: 'slip44:9000',\n TESTETH: 'slip44:60',\n SEI: 'slip44:19000118',\n};\n"]}
|
package/dist/selectors.d.cts
CHANGED
|
@@ -59,6 +59,7 @@ export declare const selectBridgeFeatureFlags: ((state: RemoteFeatureFlagControl
|
|
|
59
59
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
60
60
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
61
61
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
62
|
+
noFeeAssets?: string[] | undefined;
|
|
62
63
|
}>;
|
|
63
64
|
refreshRate: number;
|
|
64
65
|
minimumVersion: string;
|
|
@@ -88,6 +89,7 @@ export declare const selectBridgeFeatureFlags: ((state: RemoteFeatureFlagControl
|
|
|
88
89
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
89
90
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
90
91
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
92
|
+
noFeeAssets?: string[] | undefined;
|
|
91
93
|
}>;
|
|
92
94
|
refreshRate: number;
|
|
93
95
|
minimumVersion: string;
|
|
@@ -113,6 +115,7 @@ export declare const selectBridgeFeatureFlags: ((state: RemoteFeatureFlagControl
|
|
|
113
115
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
114
116
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
115
117
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
118
|
+
noFeeAssets?: string[] | undefined;
|
|
116
119
|
}>;
|
|
117
120
|
refreshRate: number;
|
|
118
121
|
minimumVersion: string;
|
|
@@ -142,6 +145,7 @@ export declare const selectBridgeFeatureFlags: ((state: RemoteFeatureFlagControl
|
|
|
142
145
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
143
146
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
144
147
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
148
|
+
noFeeAssets?: string[] | undefined;
|
|
145
149
|
}>;
|
|
146
150
|
refreshRate: number;
|
|
147
151
|
minimumVersion: string;
|
|
@@ -217,6 +221,7 @@ export declare const selectIsQuoteExpired: ((state: RemoteFeatureFlagControllerS
|
|
|
217
221
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
218
222
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
219
223
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
224
|
+
noFeeAssets?: string[] | undefined;
|
|
220
225
|
}>;
|
|
221
226
|
refreshRate: number;
|
|
222
227
|
minimumVersion: string;
|
|
@@ -242,6 +247,7 @@ export declare const selectIsQuoteExpired: ((state: RemoteFeatureFlagControllerS
|
|
|
242
247
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
243
248
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
244
249
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
250
|
+
noFeeAssets?: string[] | undefined;
|
|
245
251
|
}>;
|
|
246
252
|
refreshRate: number;
|
|
247
253
|
minimumVersion: string;
|
|
@@ -272,6 +278,7 @@ export declare const selectIsQuoteExpired: ((state: RemoteFeatureFlagControllerS
|
|
|
272
278
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
273
279
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
274
280
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
281
|
+
noFeeAssets?: string[] | undefined;
|
|
275
282
|
}>;
|
|
276
283
|
refreshRate: number;
|
|
277
284
|
minimumVersion: string;
|
|
@@ -301,6 +308,7 @@ export declare const selectIsQuoteExpired: ((state: RemoteFeatureFlagControllerS
|
|
|
301
308
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
302
309
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
303
310
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
311
|
+
noFeeAssets?: string[] | undefined;
|
|
304
312
|
}>;
|
|
305
313
|
refreshRate: number;
|
|
306
314
|
minimumVersion: string;
|
|
@@ -326,6 +334,7 @@ export declare const selectIsQuoteExpired: ((state: RemoteFeatureFlagControllerS
|
|
|
326
334
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
327
335
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
328
336
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
337
|
+
noFeeAssets?: string[] | undefined;
|
|
329
338
|
}>;
|
|
330
339
|
refreshRate: number;
|
|
331
340
|
minimumVersion: string;
|
|
@@ -355,6 +364,7 @@ export declare const selectIsQuoteExpired: ((state: RemoteFeatureFlagControllerS
|
|
|
355
364
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
356
365
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
357
366
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
367
|
+
noFeeAssets?: string[] | undefined;
|
|
358
368
|
}>;
|
|
359
369
|
refreshRate: number;
|
|
360
370
|
minimumVersion: string;
|
|
@@ -405,6 +415,7 @@ export declare const selectIsQuoteExpired: ((state: RemoteFeatureFlagControllerS
|
|
|
405
415
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
406
416
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
407
417
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
418
|
+
noFeeAssets?: string[] | undefined;
|
|
408
419
|
}>;
|
|
409
420
|
refreshRate: number;
|
|
410
421
|
minimumVersion: string;
|
|
@@ -430,6 +441,7 @@ export declare const selectIsQuoteExpired: ((state: RemoteFeatureFlagControllerS
|
|
|
430
441
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
431
442
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
432
443
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
444
|
+
noFeeAssets?: string[] | undefined;
|
|
433
445
|
}>;
|
|
434
446
|
refreshRate: number;
|
|
435
447
|
minimumVersion: string;
|
|
@@ -460,6 +472,7 @@ export declare const selectIsQuoteExpired: ((state: RemoteFeatureFlagControllerS
|
|
|
460
472
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
461
473
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
462
474
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
475
|
+
noFeeAssets?: string[] | undefined;
|
|
463
476
|
}>;
|
|
464
477
|
refreshRate: number;
|
|
465
478
|
minimumVersion: string;
|
|
@@ -489,6 +502,7 @@ export declare const selectIsQuoteExpired: ((state: RemoteFeatureFlagControllerS
|
|
|
489
502
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
490
503
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
491
504
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
505
|
+
noFeeAssets?: string[] | undefined;
|
|
492
506
|
}>;
|
|
493
507
|
refreshRate: number;
|
|
494
508
|
minimumVersion: string;
|
|
@@ -514,6 +528,7 @@ export declare const selectIsQuoteExpired: ((state: RemoteFeatureFlagControllerS
|
|
|
514
528
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
515
529
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
516
530
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
531
|
+
noFeeAssets?: string[] | undefined;
|
|
517
532
|
}>;
|
|
518
533
|
refreshRate: number;
|
|
519
534
|
minimumVersion: string;
|
|
@@ -543,6 +558,7 @@ export declare const selectIsQuoteExpired: ((state: RemoteFeatureFlagControllerS
|
|
|
543
558
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
544
559
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
545
560
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
561
|
+
noFeeAssets?: string[] | undefined;
|
|
546
562
|
}>;
|
|
547
563
|
refreshRate: number;
|
|
548
564
|
minimumVersion: string;
|
|
@@ -15227,6 +15243,7 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
|
15227
15243
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
15228
15244
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
15229
15245
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
15246
|
+
noFeeAssets?: string[] | undefined;
|
|
15230
15247
|
}>;
|
|
15231
15248
|
refreshRate: number;
|
|
15232
15249
|
minimumVersion: string;
|
|
@@ -15252,6 +15269,7 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
|
15252
15269
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
15253
15270
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
15254
15271
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
15272
|
+
noFeeAssets?: string[] | undefined;
|
|
15255
15273
|
}>;
|
|
15256
15274
|
refreshRate: number;
|
|
15257
15275
|
minimumVersion: string;
|
|
@@ -15282,6 +15300,7 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
|
15282
15300
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
15283
15301
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
15284
15302
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
15303
|
+
noFeeAssets?: string[] | undefined;
|
|
15285
15304
|
}>;
|
|
15286
15305
|
refreshRate: number;
|
|
15287
15306
|
minimumVersion: string;
|
|
@@ -15311,6 +15330,7 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
|
15311
15330
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
15312
15331
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
15313
15332
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
15333
|
+
noFeeAssets?: string[] | undefined;
|
|
15314
15334
|
}>;
|
|
15315
15335
|
refreshRate: number;
|
|
15316
15336
|
minimumVersion: string;
|
|
@@ -15336,6 +15356,7 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
|
15336
15356
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
15337
15357
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
15338
15358
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
15359
|
+
noFeeAssets?: string[] | undefined;
|
|
15339
15360
|
}>;
|
|
15340
15361
|
refreshRate: number;
|
|
15341
15362
|
minimumVersion: string;
|
|
@@ -15365,6 +15386,7 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
|
15365
15386
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
15366
15387
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
15367
15388
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
15389
|
+
noFeeAssets?: string[] | undefined;
|
|
15368
15390
|
}>;
|
|
15369
15391
|
refreshRate: number;
|
|
15370
15392
|
minimumVersion: string;
|
|
@@ -15423,6 +15445,7 @@ export declare const selectDefaultSlippagePercentage: ((state: BridgeControllerS
|
|
|
15423
15445
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
15424
15446
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
15425
15447
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
15448
|
+
noFeeAssets?: string[] | undefined;
|
|
15426
15449
|
}>, resultFuncArgs_1: string | undefined, resultFuncArgs_2: string | undefined, resultFuncArgs_3: `${string}:${string}` | undefined, resultFuncArgs_4: `${string}:${string}` | undefined) => 2 | 0.5 | undefined;
|
|
15427
15450
|
memoizedResultFunc: ((resultFuncArgs_0: Record<string, {
|
|
15428
15451
|
isActiveSrc: boolean;
|
|
@@ -15433,6 +15456,7 @@ export declare const selectDefaultSlippagePercentage: ((state: BridgeControllerS
|
|
|
15433
15456
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
15434
15457
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
15435
15458
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
15459
|
+
noFeeAssets?: string[] | undefined;
|
|
15436
15460
|
}>, resultFuncArgs_1: string | undefined, resultFuncArgs_2: string | undefined, resultFuncArgs_3: `${string}:${string}` | undefined, resultFuncArgs_4: `${string}:${string}` | undefined) => 2 | 0.5 | undefined) & {
|
|
15437
15461
|
clearCache: () => void;
|
|
15438
15462
|
resultsCount: () => number;
|
|
@@ -15448,6 +15472,7 @@ export declare const selectDefaultSlippagePercentage: ((state: BridgeControllerS
|
|
|
15448
15472
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
15449
15473
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
15450
15474
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
15475
|
+
noFeeAssets?: string[] | undefined;
|
|
15451
15476
|
}>, (_: BridgeAppState, slippageParams: Parameters<typeof getDefaultSlippagePercentage>[0]) => string | undefined, (_: BridgeAppState, slippageParams: Parameters<typeof getDefaultSlippagePercentage>[0]) => string | undefined, (_: BridgeAppState, slippageParams: Parameters<typeof getDefaultSlippagePercentage>[0]) => `${string}:${string}` | undefined, (_: BridgeAppState, slippageParams: Parameters<typeof getDefaultSlippagePercentage>[0]) => `${string}:${string}` | undefined];
|
|
15452
15477
|
recomputations: () => number;
|
|
15453
15478
|
resetRecomputations: () => void;
|
package/dist/selectors.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectors.d.cts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAFlB,eAAe;;kCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAFlB,eAAe;;sCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAFlB,eAAe;;0CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAFlB,eAAe;;0CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;iCAFlB,eAAe;;0CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;iCAFlB,eAAe;;0CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CAoRd,wBAAwB;;;;;;;;;yBAtR5B,eAAe;;kCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAFlB,eAAe;;sCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAFlB,eAAe;;0CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAFlB,eAAe;;8CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAFlB,eAAe;;8CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;qCAFlB,eAAe;;8CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;qCAFlB,eAAe;;8CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDAoRd,wBAAwB;;;;;;;;;;;;;;;;;yBAtR5B,eAAe;;kCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAFlB,eAAe;;sCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAFlB,eAAe;;0CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAFlB,eAAe;;8CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yCAFlB,eAAe;;kDAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yCAFlB,eAAe;;kDAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;yCAFlB,eAAe;;kDAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;yCAFlB,eAAe;;kDAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAoRd,wBAAwB;;;;;;;;;;;;;;;;kDA6BpB,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAnThC,eAAe;;kCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoXnC,CAAC;AAEH,eAAO,MAAM,yCAAyC,UAC7C,cAAc,WAIR,CAAC;AAEhB,eAAO,MAAM,+BAA+B;qBA/XzB,eAAe;;8BAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAgYb,WAAW,mCAAmC,CAAC,CAAC,CAAC,CAAC,6DAElD,WAAW,mCAAmC,CAAC,CAAC,CAAC,CAAC,6DAElD,WAAW,mCAAmC,CAAC,CAAC,CAAC,CAAC,4EAIlD,WAAW,mCAAmC,CAAC,CAAC,CAAC,CAAC;;;;;;;;CAuBzE,CAAC"}
|
|
1
|
+
{"version":3,"file":"selectors.d.cts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAFlB,eAAe;;kCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAFlB,eAAe;;sCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAFlB,eAAe;;0CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAFlB,eAAe;;0CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;iCAFlB,eAAe;;0CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;iCAFlB,eAAe;;0CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CAoRd,wBAAwB;;;;;;;;;yBAtR5B,eAAe;;kCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAFlB,eAAe;;sCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAFlB,eAAe;;0CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAFlB,eAAe;;8CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAFlB,eAAe;;8CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;qCAFlB,eAAe;;8CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;qCAFlB,eAAe;;8CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDAoRd,wBAAwB;;;;;;;;;;;;;;;;;yBAtR5B,eAAe;;kCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAFlB,eAAe;;sCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAFlB,eAAe;;0CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAFlB,eAAe;;8CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yCAFlB,eAAe;;kDAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yCAFlB,eAAe;;kDAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;yCAFlB,eAAe;;kDAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;yCAFlB,eAAe;;kDAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAoRd,wBAAwB;;;;;;;;;;;;;;;;kDA6BpB,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAnThC,eAAe;;kCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoXnC,CAAC;AAEH,eAAO,MAAM,yCAAyC,UAC7C,cAAc,WAIR,CAAC;AAEhB,eAAO,MAAM,+BAA+B;qBA/XzB,eAAe;;8BAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAgYb,WAAW,mCAAmC,CAAC,CAAC,CAAC,CAAC,6DAElD,WAAW,mCAAmC,CAAC,CAAC,CAAC,CAAC,6DAElD,WAAW,mCAAmC,CAAC,CAAC,CAAC,CAAC,4EAIlD,WAAW,mCAAmC,CAAC,CAAC,CAAC,CAAC;;;;;;;;CAuBzE,CAAC"}
|
package/dist/selectors.d.mts
CHANGED
|
@@ -59,6 +59,7 @@ export declare const selectBridgeFeatureFlags: ((state: RemoteFeatureFlagControl
|
|
|
59
59
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
60
60
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
61
61
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
62
|
+
noFeeAssets?: string[] | undefined;
|
|
62
63
|
}>;
|
|
63
64
|
refreshRate: number;
|
|
64
65
|
minimumVersion: string;
|
|
@@ -88,6 +89,7 @@ export declare const selectBridgeFeatureFlags: ((state: RemoteFeatureFlagControl
|
|
|
88
89
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
89
90
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
90
91
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
92
|
+
noFeeAssets?: string[] | undefined;
|
|
91
93
|
}>;
|
|
92
94
|
refreshRate: number;
|
|
93
95
|
minimumVersion: string;
|
|
@@ -113,6 +115,7 @@ export declare const selectBridgeFeatureFlags: ((state: RemoteFeatureFlagControl
|
|
|
113
115
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
114
116
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
115
117
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
118
|
+
noFeeAssets?: string[] | undefined;
|
|
116
119
|
}>;
|
|
117
120
|
refreshRate: number;
|
|
118
121
|
minimumVersion: string;
|
|
@@ -142,6 +145,7 @@ export declare const selectBridgeFeatureFlags: ((state: RemoteFeatureFlagControl
|
|
|
142
145
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
143
146
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
144
147
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
148
|
+
noFeeAssets?: string[] | undefined;
|
|
145
149
|
}>;
|
|
146
150
|
refreshRate: number;
|
|
147
151
|
minimumVersion: string;
|
|
@@ -217,6 +221,7 @@ export declare const selectIsQuoteExpired: ((state: RemoteFeatureFlagControllerS
|
|
|
217
221
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
218
222
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
219
223
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
224
|
+
noFeeAssets?: string[] | undefined;
|
|
220
225
|
}>;
|
|
221
226
|
refreshRate: number;
|
|
222
227
|
minimumVersion: string;
|
|
@@ -242,6 +247,7 @@ export declare const selectIsQuoteExpired: ((state: RemoteFeatureFlagControllerS
|
|
|
242
247
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
243
248
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
244
249
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
250
|
+
noFeeAssets?: string[] | undefined;
|
|
245
251
|
}>;
|
|
246
252
|
refreshRate: number;
|
|
247
253
|
minimumVersion: string;
|
|
@@ -272,6 +278,7 @@ export declare const selectIsQuoteExpired: ((state: RemoteFeatureFlagControllerS
|
|
|
272
278
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
273
279
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
274
280
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
281
|
+
noFeeAssets?: string[] | undefined;
|
|
275
282
|
}>;
|
|
276
283
|
refreshRate: number;
|
|
277
284
|
minimumVersion: string;
|
|
@@ -301,6 +308,7 @@ export declare const selectIsQuoteExpired: ((state: RemoteFeatureFlagControllerS
|
|
|
301
308
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
302
309
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
303
310
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
311
|
+
noFeeAssets?: string[] | undefined;
|
|
304
312
|
}>;
|
|
305
313
|
refreshRate: number;
|
|
306
314
|
minimumVersion: string;
|
|
@@ -326,6 +334,7 @@ export declare const selectIsQuoteExpired: ((state: RemoteFeatureFlagControllerS
|
|
|
326
334
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
327
335
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
328
336
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
337
|
+
noFeeAssets?: string[] | undefined;
|
|
329
338
|
}>;
|
|
330
339
|
refreshRate: number;
|
|
331
340
|
minimumVersion: string;
|
|
@@ -355,6 +364,7 @@ export declare const selectIsQuoteExpired: ((state: RemoteFeatureFlagControllerS
|
|
|
355
364
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
356
365
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
357
366
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
367
|
+
noFeeAssets?: string[] | undefined;
|
|
358
368
|
}>;
|
|
359
369
|
refreshRate: number;
|
|
360
370
|
minimumVersion: string;
|
|
@@ -405,6 +415,7 @@ export declare const selectIsQuoteExpired: ((state: RemoteFeatureFlagControllerS
|
|
|
405
415
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
406
416
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
407
417
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
418
|
+
noFeeAssets?: string[] | undefined;
|
|
408
419
|
}>;
|
|
409
420
|
refreshRate: number;
|
|
410
421
|
minimumVersion: string;
|
|
@@ -430,6 +441,7 @@ export declare const selectIsQuoteExpired: ((state: RemoteFeatureFlagControllerS
|
|
|
430
441
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
431
442
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
432
443
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
444
|
+
noFeeAssets?: string[] | undefined;
|
|
433
445
|
}>;
|
|
434
446
|
refreshRate: number;
|
|
435
447
|
minimumVersion: string;
|
|
@@ -460,6 +472,7 @@ export declare const selectIsQuoteExpired: ((state: RemoteFeatureFlagControllerS
|
|
|
460
472
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
461
473
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
462
474
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
475
|
+
noFeeAssets?: string[] | undefined;
|
|
463
476
|
}>;
|
|
464
477
|
refreshRate: number;
|
|
465
478
|
minimumVersion: string;
|
|
@@ -489,6 +502,7 @@ export declare const selectIsQuoteExpired: ((state: RemoteFeatureFlagControllerS
|
|
|
489
502
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
490
503
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
491
504
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
505
|
+
noFeeAssets?: string[] | undefined;
|
|
492
506
|
}>;
|
|
493
507
|
refreshRate: number;
|
|
494
508
|
minimumVersion: string;
|
|
@@ -514,6 +528,7 @@ export declare const selectIsQuoteExpired: ((state: RemoteFeatureFlagControllerS
|
|
|
514
528
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
515
529
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
516
530
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
531
|
+
noFeeAssets?: string[] | undefined;
|
|
517
532
|
}>;
|
|
518
533
|
refreshRate: number;
|
|
519
534
|
minimumVersion: string;
|
|
@@ -543,6 +558,7 @@ export declare const selectIsQuoteExpired: ((state: RemoteFeatureFlagControllerS
|
|
|
543
558
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
544
559
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
545
560
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
561
|
+
noFeeAssets?: string[] | undefined;
|
|
546
562
|
}>;
|
|
547
563
|
refreshRate: number;
|
|
548
564
|
minimumVersion: string;
|
|
@@ -15227,6 +15243,7 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
|
15227
15243
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
15228
15244
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
15229
15245
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
15246
|
+
noFeeAssets?: string[] | undefined;
|
|
15230
15247
|
}>;
|
|
15231
15248
|
refreshRate: number;
|
|
15232
15249
|
minimumVersion: string;
|
|
@@ -15252,6 +15269,7 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
|
15252
15269
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
15253
15270
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
15254
15271
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
15272
|
+
noFeeAssets?: string[] | undefined;
|
|
15255
15273
|
}>;
|
|
15256
15274
|
refreshRate: number;
|
|
15257
15275
|
minimumVersion: string;
|
|
@@ -15282,6 +15300,7 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
|
15282
15300
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
15283
15301
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
15284
15302
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
15303
|
+
noFeeAssets?: string[] | undefined;
|
|
15285
15304
|
}>;
|
|
15286
15305
|
refreshRate: number;
|
|
15287
15306
|
minimumVersion: string;
|
|
@@ -15311,6 +15330,7 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
|
15311
15330
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
15312
15331
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
15313
15332
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
15333
|
+
noFeeAssets?: string[] | undefined;
|
|
15314
15334
|
}>;
|
|
15315
15335
|
refreshRate: number;
|
|
15316
15336
|
minimumVersion: string;
|
|
@@ -15336,6 +15356,7 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
|
15336
15356
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
15337
15357
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
15338
15358
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
15359
|
+
noFeeAssets?: string[] | undefined;
|
|
15339
15360
|
}>;
|
|
15340
15361
|
refreshRate: number;
|
|
15341
15362
|
minimumVersion: string;
|
|
@@ -15365,6 +15386,7 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
|
15365
15386
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
15366
15387
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
15367
15388
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
15389
|
+
noFeeAssets?: string[] | undefined;
|
|
15368
15390
|
}>;
|
|
15369
15391
|
refreshRate: number;
|
|
15370
15392
|
minimumVersion: string;
|
|
@@ -15423,6 +15445,7 @@ export declare const selectDefaultSlippagePercentage: ((state: BridgeControllerS
|
|
|
15423
15445
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
15424
15446
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
15425
15447
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
15448
|
+
noFeeAssets?: string[] | undefined;
|
|
15426
15449
|
}>, resultFuncArgs_1: string | undefined, resultFuncArgs_2: string | undefined, resultFuncArgs_3: `${string}:${string}` | undefined, resultFuncArgs_4: `${string}:${string}` | undefined) => 2 | 0.5 | undefined;
|
|
15427
15450
|
memoizedResultFunc: ((resultFuncArgs_0: Record<string, {
|
|
15428
15451
|
isActiveSrc: boolean;
|
|
@@ -15433,6 +15456,7 @@ export declare const selectDefaultSlippagePercentage: ((state: BridgeControllerS
|
|
|
15433
15456
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
15434
15457
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
15435
15458
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
15459
|
+
noFeeAssets?: string[] | undefined;
|
|
15436
15460
|
}>, resultFuncArgs_1: string | undefined, resultFuncArgs_2: string | undefined, resultFuncArgs_3: `${string}:${string}` | undefined, resultFuncArgs_4: `${string}:${string}` | undefined) => 2 | 0.5 | undefined) & {
|
|
15437
15461
|
clearCache: () => void;
|
|
15438
15462
|
resultsCount: () => number;
|
|
@@ -15448,6 +15472,7 @@ export declare const selectDefaultSlippagePercentage: ((state: BridgeControllerS
|
|
|
15448
15472
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
15449
15473
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
15450
15474
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
15475
|
+
noFeeAssets?: string[] | undefined;
|
|
15451
15476
|
}>, (_: BridgeAppState, slippageParams: Parameters<typeof getDefaultSlippagePercentage>[0]) => string | undefined, (_: BridgeAppState, slippageParams: Parameters<typeof getDefaultSlippagePercentage>[0]) => string | undefined, (_: BridgeAppState, slippageParams: Parameters<typeof getDefaultSlippagePercentage>[0]) => `${string}:${string}` | undefined, (_: BridgeAppState, slippageParams: Parameters<typeof getDefaultSlippagePercentage>[0]) => `${string}:${string}` | undefined];
|
|
15452
15477
|
recomputations: () => number;
|
|
15453
15478
|
resetRecomputations: () => void;
|
package/dist/selectors.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectors.d.mts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAFlB,eAAe;;kCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAFlB,eAAe;;sCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAFlB,eAAe;;0CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAFlB,eAAe;;0CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;iCAFlB,eAAe;;0CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;iCAFlB,eAAe;;0CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CAoRd,wBAAwB;;;;;;;;;yBAtR5B,eAAe;;kCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAFlB,eAAe;;sCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAFlB,eAAe;;0CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAFlB,eAAe;;8CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAFlB,eAAe;;8CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;qCAFlB,eAAe;;8CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;qCAFlB,eAAe;;8CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDAoRd,wBAAwB;;;;;;;;;;;;;;;;;yBAtR5B,eAAe;;kCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAFlB,eAAe;;sCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAFlB,eAAe;;0CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAFlB,eAAe;;8CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yCAFlB,eAAe;;kDAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yCAFlB,eAAe;;kDAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;yCAFlB,eAAe;;kDAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;yCAFlB,eAAe;;kDAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAoRd,wBAAwB;;;;;;;;;;;;;;;;kDA6BpB,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAnThC,eAAe;;kCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoXnC,CAAC;AAEH,eAAO,MAAM,yCAAyC,UAC7C,cAAc,WAIR,CAAC;AAEhB,eAAO,MAAM,+BAA+B;qBA/XzB,eAAe;;8BAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAgYb,WAAW,mCAAmC,CAAC,CAAC,CAAC,CAAC,6DAElD,WAAW,mCAAmC,CAAC,CAAC,CAAC,CAAC,6DAElD,WAAW,mCAAmC,CAAC,CAAC,CAAC,CAAC,4EAIlD,WAAW,mCAAmC,CAAC,CAAC,CAAC,CAAC;;;;;;;;CAuBzE,CAAC"}
|
|
1
|
+
{"version":3,"file":"selectors.d.mts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAFlB,eAAe;;kCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAFlB,eAAe;;sCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAFlB,eAAe;;0CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAFlB,eAAe;;0CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;iCAFlB,eAAe;;0CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;iCAFlB,eAAe;;0CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CAoRd,wBAAwB;;;;;;;;;yBAtR5B,eAAe;;kCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAFlB,eAAe;;sCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAFlB,eAAe;;0CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAFlB,eAAe;;8CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAFlB,eAAe;;8CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;qCAFlB,eAAe;;8CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;qCAFlB,eAAe;;8CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDAoRd,wBAAwB;;;;;;;;;;;;;;;;;yBAtR5B,eAAe;;kCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAFlB,eAAe;;sCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAFlB,eAAe;;0CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAFlB,eAAe;;8CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yCAFlB,eAAe;;kDAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yCAFlB,eAAe;;kDAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;yCAFlB,eAAe;;kDAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;yCAFlB,eAAe;;kDAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAoRd,wBAAwB;;;;;;;;;;;;;;;;kDA6BpB,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAnThC,eAAe;;kCAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoXnC,CAAC;AAEH,eAAO,MAAM,yCAAyC,UAC7C,cAAc,WAIR,CAAC;AAEhB,eAAO,MAAM,+BAA+B;qBA/XzB,eAAe;;8BAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAgYb,WAAW,mCAAmC,CAAC,CAAC,CAAC,CAAC,6DAElD,WAAW,mCAAmC,CAAC,CAAC,CAAC,CAAC,6DAElD,WAAW,mCAAmC,CAAC,CAAC,CAAC,CAAC,4EAIlD,WAAW,mCAAmC,CAAC,CAAC,CAAC,CAAC;;;;;;;;CAuBzE,CAAC"}
|
|
@@ -66,6 +66,7 @@ exports.ChainConfigurationSchema = (0, superstruct_1.type)({
|
|
|
66
66
|
isUnifiedUIEnabled: (0, superstruct_1.optional)((0, superstruct_1.boolean)()),
|
|
67
67
|
isSingleSwapBridgeButtonEnabled: (0, superstruct_1.optional)((0, superstruct_1.boolean)()),
|
|
68
68
|
isGaslessSwapEnabled: (0, superstruct_1.optional)((0, superstruct_1.boolean)()),
|
|
69
|
+
noFeeAssets: (0, superstruct_1.optional)((0, superstruct_1.array)((0, superstruct_1.string)())),
|
|
69
70
|
});
|
|
70
71
|
exports.PriceImpactThresholdSchema = (0, superstruct_1.type)({
|
|
71
72
|
gasless: (0, superstruct_1.number)(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.cjs","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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","sourcesContent":["import { isValidHexAddress } from '@metamask/controller-utils';\nimport type { Infer } from '@metamask/superstruct';\nimport {\n string,\n boolean,\n number,\n type,\n is,\n record,\n array,\n nullable,\n optional,\n enums,\n define,\n union,\n assert,\n pattern,\n intersection,\n} from '@metamask/superstruct';\nimport { CaipAssetTypeStruct, isStrictHexString } from '@metamask/utils';\n\nexport enum FeeType {\n METABRIDGE = 'metabridge',\n REFUEL = 'refuel',\n TX_FEE = 'txFee',\n}\n\nexport enum FeatureId {\n PERPS = 'perps',\n}\n\nexport enum ActionTypes {\n BRIDGE = 'bridge',\n SWAP = 'swap',\n REFUEL = 'refuel',\n}\n\nconst HexAddressSchema = define<string>('HexAddress', (v: unknown) =>\n isValidHexAddress(v as string, { allowNonPrefixed: false }),\n);\n\nconst HexStringSchema = define<string>('HexString', (v: unknown) =>\n isStrictHexString(v as string),\n);\n\nexport const truthyString = (s: string) => Boolean(s?.length);\nconst TruthyDigitStringSchema = pattern(string(), /^\\d+$/u);\n\nconst ChainIdSchema = number();\n\nexport const BridgeAssetSchema = type({\n /**\n * The chainId of the token\n */\n chainId: ChainIdSchema,\n /**\n * An address that the metaswap-api recognizes as the default token\n */\n address: string(),\n /**\n * The assetId of the token\n */\n assetId: CaipAssetTypeStruct,\n /**\n * The symbol of token object\n */\n symbol: string(),\n /**\n * The name for the network\n */\n name: string(),\n decimals: number(),\n /**\n * URL for token icon\n */\n icon: optional(nullable(string())),\n /**\n * URL for token icon\n */\n iconUrl: optional(nullable(string())),\n});\n\nexport const ChainConfigurationSchema = type({\n isActiveSrc: boolean(),\n isActiveDest: boolean(),\n refreshRate: optional(number()),\n topAssets: optional(array(string())),\n stablecoins: optional(array(string())),\n isUnifiedUIEnabled: optional(boolean()),\n isSingleSwapBridgeButtonEnabled: optional(boolean()),\n isGaslessSwapEnabled: optional(boolean()),\n});\n\nexport const PriceImpactThresholdSchema = type({\n gasless: number(),\n normal: number(),\n});\n\nconst GenericQuoteRequestSchema = type({\n aggIds: optional(array(string())),\n bridgeIds: optional(array(string())),\n noFee: optional(boolean()),\n});\n\nconst FeatureIdSchema = enums(Object.values(FeatureId));\n\n/**\n * This is the schema for the feature flags response from the RemoteFeatureFlagController\n */\nexport const PlatformConfigSchema = type({\n priceImpactThreshold: optional(PriceImpactThresholdSchema),\n quoteRequestOverrides: optional(\n record(FeatureIdSchema, optional(GenericQuoteRequestSchema)),\n ),\n minimumVersion: string(),\n refreshRate: number(),\n maxRefreshCount: number(),\n support: boolean(),\n chains: record(string(), ChainConfigurationSchema),\n});\n\nexport const validateFeatureFlagsResponse = (\n data: unknown,\n): data is Infer<typeof PlatformConfigSchema> => {\n return is(data, PlatformConfigSchema);\n};\n\nexport const validateSwapsTokenObject = (\n data: unknown,\n): data is Infer<typeof BridgeAssetSchema> => {\n return is(data, BridgeAssetSchema);\n};\n\nexport const FeeDataSchema = type({\n amount: TruthyDigitStringSchema,\n asset: BridgeAssetSchema,\n});\n\nexport const ProtocolSchema = type({\n name: string(),\n displayName: optional(string()),\n icon: optional(string()),\n});\n\nexport const StepSchema = type({\n action: enums(Object.values(ActionTypes)),\n srcChainId: ChainIdSchema,\n destChainId: optional(ChainIdSchema),\n srcAsset: BridgeAssetSchema,\n destAsset: BridgeAssetSchema,\n srcAmount: string(),\n destAmount: string(),\n protocol: ProtocolSchema,\n});\n\nconst RefuelDataSchema = StepSchema;\n\nexport const QuoteSchema = type({\n requestId: string(),\n srcChainId: ChainIdSchema,\n srcAsset: BridgeAssetSchema,\n /**\n * The amount sent, in atomic amount: amount sent - fees\n * Some tokens have a fee of 0, so sometimes it's equal to amount sent\n */\n srcTokenAmount: string(),\n destChainId: ChainIdSchema,\n destAsset: BridgeAssetSchema,\n /**\n * The amount received, in atomic amount\n */\n destTokenAmount: string(),\n /**\n * The minimum amount that will be received, in atomic amount\n */\n minDestTokenAmount: string(),\n feeData: type({\n [FeeType.METABRIDGE]: FeeDataSchema,\n /**\n * This is the fee for the swap transaction taken from either the\n * src or dest token if the quote has gas fees included or \"gasless\"\n */\n [FeeType.TX_FEE]: optional(\n intersection([\n FeeDataSchema,\n type({\n maxFeePerGas: string(),\n maxPriorityFeePerGas: string(),\n }),\n ]),\n ),\n }),\n gasIncluded: optional(boolean()),\n /**\n * Whether the quote can use EIP-7702 delegated gasless execution\n */\n gasIncluded7702: optional(boolean()),\n bridgeId: string(),\n bridges: array(string()),\n steps: array(StepSchema),\n refuel: optional(RefuelDataSchema),\n priceData: optional(\n type({\n totalFromAmountUsd: optional(string()),\n totalToAmountUsd: optional(string()),\n priceImpact: optional(string()),\n totalFeeAmountUsd: optional(string()),\n }),\n ),\n});\n\nexport const TxDataSchema = type({\n chainId: number(),\n to: HexAddressSchema,\n from: HexAddressSchema,\n value: HexStringSchema,\n data: HexStringSchema,\n gasLimit: nullable(number()),\n effectiveGas: optional(number()),\n});\n\nexport const QuoteResponseSchema = type({\n quote: QuoteSchema,\n estimatedProcessingTimeInSeconds: number(),\n approval: optional(TxDataSchema),\n trade: union([TxDataSchema, string()]),\n});\n\nexport const validateQuoteResponse = (\n data: unknown,\n): data is Infer<typeof QuoteResponseSchema> => {\n assert(data, QuoteResponseSchema);\n return true;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"validators.cjs","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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","sourcesContent":["import { isValidHexAddress } from '@metamask/controller-utils';\nimport type { Infer } from '@metamask/superstruct';\nimport {\n string,\n boolean,\n number,\n type,\n is,\n record,\n array,\n nullable,\n optional,\n enums,\n define,\n union,\n assert,\n pattern,\n intersection,\n} from '@metamask/superstruct';\nimport { CaipAssetTypeStruct, isStrictHexString } from '@metamask/utils';\n\nexport enum FeeType {\n METABRIDGE = 'metabridge',\n REFUEL = 'refuel',\n TX_FEE = 'txFee',\n}\n\nexport enum FeatureId {\n PERPS = 'perps',\n}\n\nexport enum ActionTypes {\n BRIDGE = 'bridge',\n SWAP = 'swap',\n REFUEL = 'refuel',\n}\n\nconst HexAddressSchema = define<string>('HexAddress', (v: unknown) =>\n isValidHexAddress(v as string, { allowNonPrefixed: false }),\n);\n\nconst HexStringSchema = define<string>('HexString', (v: unknown) =>\n isStrictHexString(v as string),\n);\n\nexport const truthyString = (s: string) => Boolean(s?.length);\nconst TruthyDigitStringSchema = pattern(string(), /^\\d+$/u);\n\nconst ChainIdSchema = number();\n\nexport const BridgeAssetSchema = type({\n /**\n * The chainId of the token\n */\n chainId: ChainIdSchema,\n /**\n * An address that the metaswap-api recognizes as the default token\n */\n address: string(),\n /**\n * The assetId of the token\n */\n assetId: CaipAssetTypeStruct,\n /**\n * The symbol of token object\n */\n symbol: string(),\n /**\n * The name for the network\n */\n name: string(),\n decimals: number(),\n /**\n * URL for token icon\n */\n icon: optional(nullable(string())),\n /**\n * URL for token icon\n */\n iconUrl: optional(nullable(string())),\n});\n\nexport const ChainConfigurationSchema = type({\n isActiveSrc: boolean(),\n isActiveDest: boolean(),\n refreshRate: optional(number()),\n topAssets: optional(array(string())),\n stablecoins: optional(array(string())),\n isUnifiedUIEnabled: optional(boolean()),\n isSingleSwapBridgeButtonEnabled: optional(boolean()),\n isGaslessSwapEnabled: optional(boolean()),\n noFeeAssets: optional(array(string())),\n});\n\nexport const PriceImpactThresholdSchema = type({\n gasless: number(),\n normal: number(),\n});\n\nconst GenericQuoteRequestSchema = type({\n aggIds: optional(array(string())),\n bridgeIds: optional(array(string())),\n noFee: optional(boolean()),\n});\n\nconst FeatureIdSchema = enums(Object.values(FeatureId));\n\n/**\n * This is the schema for the feature flags response from the RemoteFeatureFlagController\n */\nexport const PlatformConfigSchema = type({\n priceImpactThreshold: optional(PriceImpactThresholdSchema),\n quoteRequestOverrides: optional(\n record(FeatureIdSchema, optional(GenericQuoteRequestSchema)),\n ),\n minimumVersion: string(),\n refreshRate: number(),\n maxRefreshCount: number(),\n support: boolean(),\n chains: record(string(), ChainConfigurationSchema),\n});\n\nexport const validateFeatureFlagsResponse = (\n data: unknown,\n): data is Infer<typeof PlatformConfigSchema> => {\n return is(data, PlatformConfigSchema);\n};\n\nexport const validateSwapsTokenObject = (\n data: unknown,\n): data is Infer<typeof BridgeAssetSchema> => {\n return is(data, BridgeAssetSchema);\n};\n\nexport const FeeDataSchema = type({\n amount: TruthyDigitStringSchema,\n asset: BridgeAssetSchema,\n});\n\nexport const ProtocolSchema = type({\n name: string(),\n displayName: optional(string()),\n icon: optional(string()),\n});\n\nexport const StepSchema = type({\n action: enums(Object.values(ActionTypes)),\n srcChainId: ChainIdSchema,\n destChainId: optional(ChainIdSchema),\n srcAsset: BridgeAssetSchema,\n destAsset: BridgeAssetSchema,\n srcAmount: string(),\n destAmount: string(),\n protocol: ProtocolSchema,\n});\n\nconst RefuelDataSchema = StepSchema;\n\nexport const QuoteSchema = type({\n requestId: string(),\n srcChainId: ChainIdSchema,\n srcAsset: BridgeAssetSchema,\n /**\n * The amount sent, in atomic amount: amount sent - fees\n * Some tokens have a fee of 0, so sometimes it's equal to amount sent\n */\n srcTokenAmount: string(),\n destChainId: ChainIdSchema,\n destAsset: BridgeAssetSchema,\n /**\n * The amount received, in atomic amount\n */\n destTokenAmount: string(),\n /**\n * The minimum amount that will be received, in atomic amount\n */\n minDestTokenAmount: string(),\n feeData: type({\n [FeeType.METABRIDGE]: FeeDataSchema,\n /**\n * This is the fee for the swap transaction taken from either the\n * src or dest token if the quote has gas fees included or \"gasless\"\n */\n [FeeType.TX_FEE]: optional(\n intersection([\n FeeDataSchema,\n type({\n maxFeePerGas: string(),\n maxPriorityFeePerGas: string(),\n }),\n ]),\n ),\n }),\n gasIncluded: optional(boolean()),\n /**\n * Whether the quote can use EIP-7702 delegated gasless execution\n */\n gasIncluded7702: optional(boolean()),\n bridgeId: string(),\n bridges: array(string()),\n steps: array(StepSchema),\n refuel: optional(RefuelDataSchema),\n priceData: optional(\n type({\n totalFromAmountUsd: optional(string()),\n totalToAmountUsd: optional(string()),\n priceImpact: optional(string()),\n totalFeeAmountUsd: optional(string()),\n }),\n ),\n});\n\nexport const TxDataSchema = type({\n chainId: number(),\n to: HexAddressSchema,\n from: HexAddressSchema,\n value: HexStringSchema,\n data: HexStringSchema,\n gasLimit: nullable(number()),\n effectiveGas: optional(number()),\n});\n\nexport const QuoteResponseSchema = type({\n quote: QuoteSchema,\n estimatedProcessingTimeInSeconds: number(),\n approval: optional(TxDataSchema),\n trade: union([TxDataSchema, string()]),\n});\n\nexport const validateQuoteResponse = (\n data: unknown,\n): data is Infer<typeof QuoteResponseSchema> => {\n assert(data, QuoteResponseSchema);\n return true;\n};\n"]}
|
|
@@ -61,6 +61,7 @@ export declare const ChainConfigurationSchema: import("@metamask/superstruct").S
|
|
|
61
61
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
62
62
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
63
63
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
64
|
+
noFeeAssets?: string[] | undefined;
|
|
64
65
|
}, {
|
|
65
66
|
isActiveSrc: import("@metamask/superstruct").Struct<boolean, null>;
|
|
66
67
|
isActiveDest: import("@metamask/superstruct").Struct<boolean, null>;
|
|
@@ -70,6 +71,7 @@ export declare const ChainConfigurationSchema: import("@metamask/superstruct").S
|
|
|
70
71
|
isUnifiedUIEnabled: import("@metamask/superstruct").Struct<boolean | undefined, null>;
|
|
71
72
|
isSingleSwapBridgeButtonEnabled: import("@metamask/superstruct").Struct<boolean | undefined, null>;
|
|
72
73
|
isGaslessSwapEnabled: import("@metamask/superstruct").Struct<boolean | undefined, null>;
|
|
74
|
+
noFeeAssets: import("@metamask/superstruct").Struct<string[] | undefined, import("@metamask/superstruct").Struct<string, null>>;
|
|
73
75
|
}>;
|
|
74
76
|
export declare const PriceImpactThresholdSchema: import("@metamask/superstruct").Struct<{
|
|
75
77
|
normal: number;
|
|
@@ -92,6 +94,7 @@ export declare const PlatformConfigSchema: import("@metamask/superstruct").Struc
|
|
|
92
94
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
93
95
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
94
96
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
97
|
+
noFeeAssets?: string[] | undefined;
|
|
95
98
|
}>;
|
|
96
99
|
refreshRate: number;
|
|
97
100
|
minimumVersion: string;
|
|
@@ -131,6 +134,7 @@ export declare const PlatformConfigSchema: import("@metamask/superstruct").Struc
|
|
|
131
134
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
132
135
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
133
136
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
137
|
+
noFeeAssets?: string[] | undefined;
|
|
134
138
|
}>, null>;
|
|
135
139
|
}>;
|
|
136
140
|
export declare const validateFeatureFlagsResponse: (data: unknown) => data is {
|
|
@@ -144,6 +148,7 @@ export declare const validateFeatureFlagsResponse: (data: unknown) => data is {
|
|
|
144
148
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
145
149
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
146
150
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
151
|
+
noFeeAssets?: string[] | undefined;
|
|
147
152
|
}>;
|
|
148
153
|
refreshRate: number;
|
|
149
154
|
minimumVersion: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.cts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"AAqBA,oBAAY,OAAO;IACjB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,MAAM,UAAU;CACjB;AAED,oBAAY,SAAS;IACnB,KAAK,UAAU;CAChB;AAED,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,MAAM,WAAW;CAClB;AAUD,eAAO,MAAM,YAAY,MAAO,MAAM,YAAuB,CAAC;AAK9D,eAAO,MAAM,iBAAiB;;;;;;;;;;IAC5B;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;;IAGH;;OAEG;;IAEH;;OAEG;;EAEH,CAAC;AAEH,eAAO,MAAM,wBAAwB
|
|
1
|
+
{"version":3,"file":"validators.d.cts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,6 +61,7 @@ export declare const ChainConfigurationSchema: import("@metamask/superstruct").S
|
|
|
61
61
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
62
62
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
63
63
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
64
|
+
noFeeAssets?: string[] | undefined;
|
|
64
65
|
}, {
|
|
65
66
|
isActiveSrc: import("@metamask/superstruct").Struct<boolean, null>;
|
|
66
67
|
isActiveDest: import("@metamask/superstruct").Struct<boolean, null>;
|
|
@@ -70,6 +71,7 @@ export declare const ChainConfigurationSchema: import("@metamask/superstruct").S
|
|
|
70
71
|
isUnifiedUIEnabled: import("@metamask/superstruct").Struct<boolean | undefined, null>;
|
|
71
72
|
isSingleSwapBridgeButtonEnabled: import("@metamask/superstruct").Struct<boolean | undefined, null>;
|
|
72
73
|
isGaslessSwapEnabled: import("@metamask/superstruct").Struct<boolean | undefined, null>;
|
|
74
|
+
noFeeAssets: import("@metamask/superstruct").Struct<string[] | undefined, import("@metamask/superstruct").Struct<string, null>>;
|
|
73
75
|
}>;
|
|
74
76
|
export declare const PriceImpactThresholdSchema: import("@metamask/superstruct").Struct<{
|
|
75
77
|
normal: number;
|
|
@@ -92,6 +94,7 @@ export declare const PlatformConfigSchema: import("@metamask/superstruct").Struc
|
|
|
92
94
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
93
95
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
94
96
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
97
|
+
noFeeAssets?: string[] | undefined;
|
|
95
98
|
}>;
|
|
96
99
|
refreshRate: number;
|
|
97
100
|
minimumVersion: string;
|
|
@@ -131,6 +134,7 @@ export declare const PlatformConfigSchema: import("@metamask/superstruct").Struc
|
|
|
131
134
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
132
135
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
133
136
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
137
|
+
noFeeAssets?: string[] | undefined;
|
|
134
138
|
}>, null>;
|
|
135
139
|
}>;
|
|
136
140
|
export declare const validateFeatureFlagsResponse: (data: unknown) => data is {
|
|
@@ -144,6 +148,7 @@ export declare const validateFeatureFlagsResponse: (data: unknown) => data is {
|
|
|
144
148
|
isUnifiedUIEnabled?: boolean | undefined;
|
|
145
149
|
isSingleSwapBridgeButtonEnabled?: boolean | undefined;
|
|
146
150
|
isGaslessSwapEnabled?: boolean | undefined;
|
|
151
|
+
noFeeAssets?: string[] | undefined;
|
|
147
152
|
}>;
|
|
148
153
|
refreshRate: number;
|
|
149
154
|
minimumVersion: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.mts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"AAqBA,oBAAY,OAAO;IACjB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,MAAM,UAAU;CACjB;AAED,oBAAY,SAAS;IACnB,KAAK,UAAU;CAChB;AAED,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,MAAM,WAAW;CAClB;AAUD,eAAO,MAAM,YAAY,MAAO,MAAM,YAAuB,CAAC;AAK9D,eAAO,MAAM,iBAAiB;;;;;;;;;;IAC5B;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;;IAGH;;OAEG;;IAEH;;OAEG;;EAEH,CAAC;AAEH,eAAO,MAAM,wBAAwB
|
|
1
|
+
{"version":3,"file":"validators.d.mts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,6 +62,7 @@ export const ChainConfigurationSchema = type({
|
|
|
62
62
|
isUnifiedUIEnabled: optional(boolean()),
|
|
63
63
|
isSingleSwapBridgeButtonEnabled: optional(boolean()),
|
|
64
64
|
isGaslessSwapEnabled: optional(boolean()),
|
|
65
|
+
noFeeAssets: optional(array(string())),
|
|
65
66
|
});
|
|
66
67
|
export const PriceImpactThresholdSchema = type({
|
|
67
68
|
gasless: number(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.mjs","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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","sourcesContent":["import { isValidHexAddress } from '@metamask/controller-utils';\nimport type { Infer } from '@metamask/superstruct';\nimport {\n string,\n boolean,\n number,\n type,\n is,\n record,\n array,\n nullable,\n optional,\n enums,\n define,\n union,\n assert,\n pattern,\n intersection,\n} from '@metamask/superstruct';\nimport { CaipAssetTypeStruct, isStrictHexString } from '@metamask/utils';\n\nexport enum FeeType {\n METABRIDGE = 'metabridge',\n REFUEL = 'refuel',\n TX_FEE = 'txFee',\n}\n\nexport enum FeatureId {\n PERPS = 'perps',\n}\n\nexport enum ActionTypes {\n BRIDGE = 'bridge',\n SWAP = 'swap',\n REFUEL = 'refuel',\n}\n\nconst HexAddressSchema = define<string>('HexAddress', (v: unknown) =>\n isValidHexAddress(v as string, { allowNonPrefixed: false }),\n);\n\nconst HexStringSchema = define<string>('HexString', (v: unknown) =>\n isStrictHexString(v as string),\n);\n\nexport const truthyString = (s: string) => Boolean(s?.length);\nconst TruthyDigitStringSchema = pattern(string(), /^\\d+$/u);\n\nconst ChainIdSchema = number();\n\nexport const BridgeAssetSchema = type({\n /**\n * The chainId of the token\n */\n chainId: ChainIdSchema,\n /**\n * An address that the metaswap-api recognizes as the default token\n */\n address: string(),\n /**\n * The assetId of the token\n */\n assetId: CaipAssetTypeStruct,\n /**\n * The symbol of token object\n */\n symbol: string(),\n /**\n * The name for the network\n */\n name: string(),\n decimals: number(),\n /**\n * URL for token icon\n */\n icon: optional(nullable(string())),\n /**\n * URL for token icon\n */\n iconUrl: optional(nullable(string())),\n});\n\nexport const ChainConfigurationSchema = type({\n isActiveSrc: boolean(),\n isActiveDest: boolean(),\n refreshRate: optional(number()),\n topAssets: optional(array(string())),\n stablecoins: optional(array(string())),\n isUnifiedUIEnabled: optional(boolean()),\n isSingleSwapBridgeButtonEnabled: optional(boolean()),\n isGaslessSwapEnabled: optional(boolean()),\n});\n\nexport const PriceImpactThresholdSchema = type({\n gasless: number(),\n normal: number(),\n});\n\nconst GenericQuoteRequestSchema = type({\n aggIds: optional(array(string())),\n bridgeIds: optional(array(string())),\n noFee: optional(boolean()),\n});\n\nconst FeatureIdSchema = enums(Object.values(FeatureId));\n\n/**\n * This is the schema for the feature flags response from the RemoteFeatureFlagController\n */\nexport const PlatformConfigSchema = type({\n priceImpactThreshold: optional(PriceImpactThresholdSchema),\n quoteRequestOverrides: optional(\n record(FeatureIdSchema, optional(GenericQuoteRequestSchema)),\n ),\n minimumVersion: string(),\n refreshRate: number(),\n maxRefreshCount: number(),\n support: boolean(),\n chains: record(string(), ChainConfigurationSchema),\n});\n\nexport const validateFeatureFlagsResponse = (\n data: unknown,\n): data is Infer<typeof PlatformConfigSchema> => {\n return is(data, PlatformConfigSchema);\n};\n\nexport const validateSwapsTokenObject = (\n data: unknown,\n): data is Infer<typeof BridgeAssetSchema> => {\n return is(data, BridgeAssetSchema);\n};\n\nexport const FeeDataSchema = type({\n amount: TruthyDigitStringSchema,\n asset: BridgeAssetSchema,\n});\n\nexport const ProtocolSchema = type({\n name: string(),\n displayName: optional(string()),\n icon: optional(string()),\n});\n\nexport const StepSchema = type({\n action: enums(Object.values(ActionTypes)),\n srcChainId: ChainIdSchema,\n destChainId: optional(ChainIdSchema),\n srcAsset: BridgeAssetSchema,\n destAsset: BridgeAssetSchema,\n srcAmount: string(),\n destAmount: string(),\n protocol: ProtocolSchema,\n});\n\nconst RefuelDataSchema = StepSchema;\n\nexport const QuoteSchema = type({\n requestId: string(),\n srcChainId: ChainIdSchema,\n srcAsset: BridgeAssetSchema,\n /**\n * The amount sent, in atomic amount: amount sent - fees\n * Some tokens have a fee of 0, so sometimes it's equal to amount sent\n */\n srcTokenAmount: string(),\n destChainId: ChainIdSchema,\n destAsset: BridgeAssetSchema,\n /**\n * The amount received, in atomic amount\n */\n destTokenAmount: string(),\n /**\n * The minimum amount that will be received, in atomic amount\n */\n minDestTokenAmount: string(),\n feeData: type({\n [FeeType.METABRIDGE]: FeeDataSchema,\n /**\n * This is the fee for the swap transaction taken from either the\n * src or dest token if the quote has gas fees included or \"gasless\"\n */\n [FeeType.TX_FEE]: optional(\n intersection([\n FeeDataSchema,\n type({\n maxFeePerGas: string(),\n maxPriorityFeePerGas: string(),\n }),\n ]),\n ),\n }),\n gasIncluded: optional(boolean()),\n /**\n * Whether the quote can use EIP-7702 delegated gasless execution\n */\n gasIncluded7702: optional(boolean()),\n bridgeId: string(),\n bridges: array(string()),\n steps: array(StepSchema),\n refuel: optional(RefuelDataSchema),\n priceData: optional(\n type({\n totalFromAmountUsd: optional(string()),\n totalToAmountUsd: optional(string()),\n priceImpact: optional(string()),\n totalFeeAmountUsd: optional(string()),\n }),\n ),\n});\n\nexport const TxDataSchema = type({\n chainId: number(),\n to: HexAddressSchema,\n from: HexAddressSchema,\n value: HexStringSchema,\n data: HexStringSchema,\n gasLimit: nullable(number()),\n effectiveGas: optional(number()),\n});\n\nexport const QuoteResponseSchema = type({\n quote: QuoteSchema,\n estimatedProcessingTimeInSeconds: number(),\n approval: optional(TxDataSchema),\n trade: union([TxDataSchema, string()]),\n});\n\nexport const validateQuoteResponse = (\n data: unknown,\n): data is Infer<typeof QuoteResponseSchema> => {\n assert(data, QuoteResponseSchema);\n return true;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"validators.mjs","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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","sourcesContent":["import { isValidHexAddress } from '@metamask/controller-utils';\nimport type { Infer } from '@metamask/superstruct';\nimport {\n string,\n boolean,\n number,\n type,\n is,\n record,\n array,\n nullable,\n optional,\n enums,\n define,\n union,\n assert,\n pattern,\n intersection,\n} from '@metamask/superstruct';\nimport { CaipAssetTypeStruct, isStrictHexString } from '@metamask/utils';\n\nexport enum FeeType {\n METABRIDGE = 'metabridge',\n REFUEL = 'refuel',\n TX_FEE = 'txFee',\n}\n\nexport enum FeatureId {\n PERPS = 'perps',\n}\n\nexport enum ActionTypes {\n BRIDGE = 'bridge',\n SWAP = 'swap',\n REFUEL = 'refuel',\n}\n\nconst HexAddressSchema = define<string>('HexAddress', (v: unknown) =>\n isValidHexAddress(v as string, { allowNonPrefixed: false }),\n);\n\nconst HexStringSchema = define<string>('HexString', (v: unknown) =>\n isStrictHexString(v as string),\n);\n\nexport const truthyString = (s: string) => Boolean(s?.length);\nconst TruthyDigitStringSchema = pattern(string(), /^\\d+$/u);\n\nconst ChainIdSchema = number();\n\nexport const BridgeAssetSchema = type({\n /**\n * The chainId of the token\n */\n chainId: ChainIdSchema,\n /**\n * An address that the metaswap-api recognizes as the default token\n */\n address: string(),\n /**\n * The assetId of the token\n */\n assetId: CaipAssetTypeStruct,\n /**\n * The symbol of token object\n */\n symbol: string(),\n /**\n * The name for the network\n */\n name: string(),\n decimals: number(),\n /**\n * URL for token icon\n */\n icon: optional(nullable(string())),\n /**\n * URL for token icon\n */\n iconUrl: optional(nullable(string())),\n});\n\nexport const ChainConfigurationSchema = type({\n isActiveSrc: boolean(),\n isActiveDest: boolean(),\n refreshRate: optional(number()),\n topAssets: optional(array(string())),\n stablecoins: optional(array(string())),\n isUnifiedUIEnabled: optional(boolean()),\n isSingleSwapBridgeButtonEnabled: optional(boolean()),\n isGaslessSwapEnabled: optional(boolean()),\n noFeeAssets: optional(array(string())),\n});\n\nexport const PriceImpactThresholdSchema = type({\n gasless: number(),\n normal: number(),\n});\n\nconst GenericQuoteRequestSchema = type({\n aggIds: optional(array(string())),\n bridgeIds: optional(array(string())),\n noFee: optional(boolean()),\n});\n\nconst FeatureIdSchema = enums(Object.values(FeatureId));\n\n/**\n * This is the schema for the feature flags response from the RemoteFeatureFlagController\n */\nexport const PlatformConfigSchema = type({\n priceImpactThreshold: optional(PriceImpactThresholdSchema),\n quoteRequestOverrides: optional(\n record(FeatureIdSchema, optional(GenericQuoteRequestSchema)),\n ),\n minimumVersion: string(),\n refreshRate: number(),\n maxRefreshCount: number(),\n support: boolean(),\n chains: record(string(), ChainConfigurationSchema),\n});\n\nexport const validateFeatureFlagsResponse = (\n data: unknown,\n): data is Infer<typeof PlatformConfigSchema> => {\n return is(data, PlatformConfigSchema);\n};\n\nexport const validateSwapsTokenObject = (\n data: unknown,\n): data is Infer<typeof BridgeAssetSchema> => {\n return is(data, BridgeAssetSchema);\n};\n\nexport const FeeDataSchema = type({\n amount: TruthyDigitStringSchema,\n asset: BridgeAssetSchema,\n});\n\nexport const ProtocolSchema = type({\n name: string(),\n displayName: optional(string()),\n icon: optional(string()),\n});\n\nexport const StepSchema = type({\n action: enums(Object.values(ActionTypes)),\n srcChainId: ChainIdSchema,\n destChainId: optional(ChainIdSchema),\n srcAsset: BridgeAssetSchema,\n destAsset: BridgeAssetSchema,\n srcAmount: string(),\n destAmount: string(),\n protocol: ProtocolSchema,\n});\n\nconst RefuelDataSchema = StepSchema;\n\nexport const QuoteSchema = type({\n requestId: string(),\n srcChainId: ChainIdSchema,\n srcAsset: BridgeAssetSchema,\n /**\n * The amount sent, in atomic amount: amount sent - fees\n * Some tokens have a fee of 0, so sometimes it's equal to amount sent\n */\n srcTokenAmount: string(),\n destChainId: ChainIdSchema,\n destAsset: BridgeAssetSchema,\n /**\n * The amount received, in atomic amount\n */\n destTokenAmount: string(),\n /**\n * The minimum amount that will be received, in atomic amount\n */\n minDestTokenAmount: string(),\n feeData: type({\n [FeeType.METABRIDGE]: FeeDataSchema,\n /**\n * This is the fee for the swap transaction taken from either the\n * src or dest token if the quote has gas fees included or \"gasless\"\n */\n [FeeType.TX_FEE]: optional(\n intersection([\n FeeDataSchema,\n type({\n maxFeePerGas: string(),\n maxPriorityFeePerGas: string(),\n }),\n ]),\n ),\n }),\n gasIncluded: optional(boolean()),\n /**\n * Whether the quote can use EIP-7702 delegated gasless execution\n */\n gasIncluded7702: optional(boolean()),\n bridgeId: string(),\n bridges: array(string()),\n steps: array(StepSchema),\n refuel: optional(RefuelDataSchema),\n priceData: optional(\n type({\n totalFromAmountUsd: optional(string()),\n totalToAmountUsd: optional(string()),\n priceImpact: optional(string()),\n totalFeeAmountUsd: optional(string()),\n }),\n ),\n});\n\nexport const TxDataSchema = type({\n chainId: number(),\n to: HexAddressSchema,\n from: HexAddressSchema,\n value: HexStringSchema,\n data: HexStringSchema,\n gasLimit: nullable(number()),\n effectiveGas: optional(number()),\n});\n\nexport const QuoteResponseSchema = type({\n quote: QuoteSchema,\n estimatedProcessingTimeInSeconds: number(),\n approval: optional(TxDataSchema),\n trade: union([TxDataSchema, string()]),\n});\n\nexport const validateQuoteResponse = (\n data: unknown,\n): data is Infer<typeof QuoteResponseSchema> => {\n assert(data, QuoteResponseSchema);\n return true;\n};\n"]}
|