@metamask/snaps-simulation 3.7.0 → 3.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -1
- package/dist/constants.cjs +1 -5
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.cts +0 -4
- package/dist/constants.d.cts.map +1 -1
- package/dist/constants.d.mts +0 -4
- package/dist/constants.d.mts.map +1 -1
- package/dist/constants.mjs +0 -4
- package/dist/constants.mjs.map +1 -1
- package/dist/methods/hooks/chain.cjs +29 -0
- package/dist/methods/hooks/chain.cjs.map +1 -0
- package/dist/methods/hooks/chain.d.cts +9 -0
- package/dist/methods/hooks/chain.d.cts.map +1 -0
- package/dist/methods/hooks/chain.d.mts +9 -0
- package/dist/methods/hooks/chain.d.mts.map +1 -0
- package/dist/methods/hooks/chain.mjs +25 -0
- package/dist/methods/hooks/chain.mjs.map +1 -0
- package/dist/methods/hooks/index.cjs +1 -0
- package/dist/methods/hooks/index.cjs.map +1 -1
- package/dist/methods/hooks/index.d.cts +1 -0
- package/dist/methods/hooks/index.d.cts.map +1 -1
- package/dist/methods/hooks/index.d.mts +1 -0
- package/dist/methods/hooks/index.d.mts.map +1 -1
- package/dist/methods/hooks/index.mjs +1 -0
- package/dist/methods/hooks/index.mjs.map +1 -1
- package/dist/middleware/engine.cjs +3 -9
- package/dist/middleware/engine.cjs.map +1 -1
- package/dist/middleware/engine.d.cts +1 -2
- package/dist/middleware/engine.d.cts.map +1 -1
- package/dist/middleware/engine.d.mts +1 -2
- package/dist/middleware/engine.d.mts.map +1 -1
- package/dist/middleware/engine.mjs +3 -9
- package/dist/middleware/engine.mjs.map +1 -1
- package/dist/middleware/internal-methods/chain-id.cjs +3 -4
- package/dist/middleware/internal-methods/chain-id.cjs.map +1 -1
- package/dist/middleware/internal-methods/chain-id.d.cts +3 -1
- package/dist/middleware/internal-methods/chain-id.d.cts.map +1 -1
- package/dist/middleware/internal-methods/chain-id.d.mts +3 -1
- package/dist/middleware/internal-methods/chain-id.d.mts.map +1 -1
- package/dist/middleware/internal-methods/chain-id.mjs +3 -4
- package/dist/middleware/internal-methods/chain-id.mjs.map +1 -1
- package/dist/middleware/internal-methods/middleware.cjs +0 -2
- package/dist/middleware/internal-methods/middleware.cjs.map +1 -1
- package/dist/middleware/internal-methods/middleware.d.cts +14 -1
- package/dist/middleware/internal-methods/middleware.d.cts.map +1 -1
- package/dist/middleware/internal-methods/middleware.d.mts +14 -1
- package/dist/middleware/internal-methods/middleware.d.mts.map +1 -1
- package/dist/middleware/internal-methods/middleware.mjs +0 -2
- package/dist/middleware/internal-methods/middleware.mjs.map +1 -1
- package/dist/middleware/internal-methods/net-version.cjs +5 -4
- package/dist/middleware/internal-methods/net-version.cjs.map +1 -1
- package/dist/middleware/internal-methods/net-version.d.cts +3 -1
- package/dist/middleware/internal-methods/net-version.d.cts.map +1 -1
- package/dist/middleware/internal-methods/net-version.d.mts +3 -1
- package/dist/middleware/internal-methods/net-version.d.mts.map +1 -1
- package/dist/middleware/internal-methods/net-version.mjs +5 -4
- package/dist/middleware/internal-methods/net-version.mjs.map +1 -1
- package/dist/middleware/internal-methods/switch-ethereum-chain.cjs +7 -3
- package/dist/middleware/internal-methods/switch-ethereum-chain.cjs.map +1 -1
- package/dist/middleware/internal-methods/switch-ethereum-chain.d.cts +7 -4
- package/dist/middleware/internal-methods/switch-ethereum-chain.d.cts.map +1 -1
- package/dist/middleware/internal-methods/switch-ethereum-chain.d.mts +7 -4
- package/dist/middleware/internal-methods/switch-ethereum-chain.d.mts.map +1 -1
- package/dist/middleware/internal-methods/switch-ethereum-chain.mjs +7 -3
- package/dist/middleware/internal-methods/switch-ethereum-chain.mjs.map +1 -1
- package/dist/middleware/provider.cjs +39 -0
- package/dist/middleware/provider.cjs.map +1 -0
- package/dist/middleware/provider.d.cts +11 -0
- package/dist/middleware/provider.d.cts.map +1 -0
- package/dist/middleware/provider.d.mts +11 -0
- package/dist/middleware/provider.d.mts.map +1 -0
- package/dist/middleware/provider.mjs +35 -0
- package/dist/middleware/provider.mjs.map +1 -0
- package/dist/simulation.cjs +6 -2
- package/dist/simulation.cjs.map +1 -1
- package/dist/simulation.d.cts +17 -3
- package/dist/simulation.d.cts.map +1 -1
- package/dist/simulation.d.mts +17 -3
- package/dist/simulation.d.mts.map +1 -1
- package/dist/simulation.mjs +7 -3
- package/dist/simulation.mjs.map +1 -1
- package/dist/store/chain.cjs +29 -0
- package/dist/store/chain.cjs.map +1 -0
- package/dist/store/chain.d.cts +18 -0
- package/dist/store/chain.d.cts.map +1 -0
- package/dist/store/chain.d.mts +18 -0
- package/dist/store/chain.d.mts.map +1 -0
- package/dist/store/chain.mjs +26 -0
- package/dist/store/chain.mjs.map +1 -0
- package/dist/store/index.cjs +1 -0
- package/dist/store/index.cjs.map +1 -1
- package/dist/store/index.d.cts +1 -0
- package/dist/store/index.d.cts.map +1 -1
- package/dist/store/index.d.mts +1 -0
- package/dist/store/index.d.mts.map +1 -1
- package/dist/store/index.mjs +1 -0
- package/dist/store/index.mjs.map +1 -1
- package/dist/store/notifications.d.cts +1 -0
- package/dist/store/notifications.d.cts.map +1 -1
- package/dist/store/notifications.d.mts +1 -0
- package/dist/store/notifications.d.mts.map +1 -1
- package/dist/store/state.d.cts +2 -0
- package/dist/store/state.d.cts.map +1 -1
- package/dist/store/state.d.mts +2 -0
- package/dist/store/state.d.mts.map +1 -1
- package/dist/store/store.cjs +2 -0
- package/dist/store/store.cjs.map +1 -1
- package/dist/store/store.d.cts +1 -0
- package/dist/store/store.d.cts.map +1 -1
- package/dist/store/store.d.mts +1 -0
- package/dist/store/store.d.mts.map +1 -1
- package/dist/store/store.mjs +2 -0
- package/dist/store/store.mjs.map +1 -1
- package/dist/store/trackables.d.cts +3 -0
- package/dist/store/trackables.d.cts.map +1 -1
- package/dist/store/trackables.d.mts +3 -0
- package/dist/store/trackables.d.mts.map +1 -1
- package/dist/store/ui.d.cts +1 -0
- package/dist/store/ui.d.cts.map +1 -1
- package/dist/store/ui.d.mts +1 -0
- package/dist/store/ui.d.mts.map +1 -1
- package/dist/structs.d.cts +51 -51
- package/dist/structs.d.mts +51 -51
- package/package.json +9 -8
- package/dist/middleware/internal-methods/provider-state.cjs +0 -28
- package/dist/middleware/internal-methods/provider-state.cjs.map +0 -1
- package/dist/middleware/internal-methods/provider-state.d.cts +0 -16
- package/dist/middleware/internal-methods/provider-state.d.cts.map +0 -1
- package/dist/middleware/internal-methods/provider-state.d.mts +0 -16
- package/dist/middleware/internal-methods/provider-state.d.mts.map +0 -1
- package/dist/middleware/internal-methods/provider-state.mjs +0 -24
- package/dist/middleware/internal-methods/provider-state.mjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [3.8.0]
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Support more chains when simulating Ethereum provider ([#3789](https://github.com/MetaMask/snaps/pull/3789))
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- Bump MetaMask dependencies ([#3783](https://github.com/MetaMask/snaps/pull/3783), [#3748](https://github.com/MetaMask/snaps/pull/3748), [#3791](https://github.com/MetaMask/snaps/pull/3791))
|
|
19
|
+
|
|
10
20
|
## [3.7.0]
|
|
11
21
|
|
|
12
22
|
### Added
|
|
@@ -252,7 +262,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
252
262
|
|
|
253
263
|
- Initial release of `@metamask/snaps-simulation` package ([#2727](https://github.com/MetaMask/snaps/pull/2727))
|
|
254
264
|
|
|
255
|
-
[Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-simulation@3.
|
|
265
|
+
[Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-simulation@3.8.0...HEAD
|
|
266
|
+
[3.8.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-simulation@3.7.0...@metamask/snaps-simulation@3.8.0
|
|
256
267
|
[3.7.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-simulation@3.6.0...@metamask/snaps-simulation@3.7.0
|
|
257
268
|
[3.6.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-simulation@3.5.1...@metamask/snaps-simulation@3.6.0
|
|
258
269
|
[3.5.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-simulation@3.5.0...@metamask/snaps-simulation@3.5.1
|
package/dist/constants.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_ASSETS = exports.DEFAULT_ACCOUNTS = exports.TYPEABLE_INPUTS = exports.
|
|
3
|
+
exports.DEFAULT_ASSETS = exports.DEFAULT_ACCOUNTS = exports.TYPEABLE_INPUTS = exports.DEFAULT_CURRENCY = exports.DEFAULT_LOCALE = exports.DEFAULT_ALTERNATIVE_SRP = exports.DEFAULT_SRP = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* A secret recovery phrase that is used for testing purposes. Do not use this
|
|
6
6
|
* to store any real funds!
|
|
@@ -19,10 +19,6 @@ exports.DEFAULT_LOCALE = 'en';
|
|
|
19
19
|
* The default currency.
|
|
20
20
|
*/
|
|
21
21
|
exports.DEFAULT_CURRENCY = 'usd';
|
|
22
|
-
/**
|
|
23
|
-
* The default JSON-RPC endpoint for Ethereum requests.
|
|
24
|
-
*/
|
|
25
|
-
exports.DEFAULT_JSON_RPC_ENDPOINT = 'https://cloudflare-eth.com/';
|
|
26
22
|
/**
|
|
27
23
|
* The types of inputs that can be used in the `typeInField` interface action.
|
|
28
24
|
*/
|
package/dist/constants.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.cjs","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACU,QAAA,WAAW,GACtB,6DAA6D,CAAC;AAEhE;;;GAGG;AACU,QAAA,uBAAuB,GAClC,+FAA+F,CAAC;AAElG;;GAEG;AACU,QAAA,cAAc,GAAG,IAAI,CAAC;AAEnC;;GAEG;AACU,QAAA,gBAAgB,GAAG,KAAK,CAAC;AAEtC;;GAEG;AACU,QAAA,
|
|
1
|
+
{"version":3,"file":"constants.cjs","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACU,QAAA,WAAW,GACtB,6DAA6D,CAAC;AAEhE;;;GAGG;AACU,QAAA,uBAAuB,GAClC,+FAA+F,CAAC;AAElG;;GAEG;AACU,QAAA,cAAc,GAAG,IAAI,CAAC;AAEnC;;GAEG;AACU,QAAA,gBAAgB,GAAG,KAAK,CAAC;AAEtC;;GAEG;AACU,QAAA,eAAe,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AAE5C,QAAA,gBAAgB,GAAwB;IACnD;QACE,OAAO,EAAE,4CAA4C;QACrD,EAAE,EAAE,sCAAsC;QAC1C,MAAM,EAAE,CAAC,UAAU,CAAC;QACpB,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,KAAK;QACZ,sFAAsF;QACtF,MAAM,EAAE,EAAE;KACX;IACD;QACE,OAAO,EAAE,8CAA8C;QACvD,EAAE,EAAE,sCAAsC;QAC1C,MAAM,EAAE;YACN,yCAAyC;YACzC,yCAAyC;YACzC,yCAAyC;SAC1C;QACD,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;QACX,MAAM,EAAE;YACN,oDAAoD;YACpD,4FAA4F;SAC7F;KACF;CACF,CAAC;AAEW,QAAA,cAAc,GAAG;IAC5B,oDAAoD,EAAE;QACpD,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,KAAK;KACd;IACD,4FAA4F,EAC1F;QACE,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;KACf;CACJ,CAAC","sourcesContent":["import type { SimulationAccount } from './options';\n\n/**\n * A secret recovery phrase that is used for testing purposes. Do not use this\n * to store any real funds!\n */\nexport const DEFAULT_SRP =\n 'test test test test test test test test test test test ball';\n\n/**\n * An alternative secret recovery phrase that is used for testing purposes. Do\n * not use this to store any real funds!\n */\nexport const DEFAULT_ALTERNATIVE_SRP =\n 'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about';\n\n/**\n * The default locale.\n */\nexport const DEFAULT_LOCALE = 'en';\n\n/**\n * The default currency.\n */\nexport const DEFAULT_CURRENCY = 'usd';\n\n/**\n * The types of inputs that can be used in the `typeInField` interface action.\n */\nexport const TYPEABLE_INPUTS = ['Input', 'AddressInput'];\n\nexport const DEFAULT_ACCOUNTS: SimulationAccount[] = [\n {\n address: '0x1234567890abcdef1234567890abcdef12345678',\n id: '29bc7513-d1b9-4466-98a6-f5f9e0b90137',\n scopes: ['eip155:0'],\n selected: false,\n owned: false,\n // We don't expose assets for EVM accounts as it's not supported in the AssetSelector.\n assets: [],\n },\n {\n address: '7S3P4HxJpyyigGzodYwHtCxZyUQe9JiBMHyRWXArAaKv',\n id: 'e051723c-85d0-43a3-b9bf-568a90d3f378',\n scopes: [\n 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',\n 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1',\n 'solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z',\n ],\n selected: true,\n owned: true,\n assets: [\n 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501',\n 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',\n ],\n },\n];\n\nexport const DEFAULT_ASSETS = {\n 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501': {\n name: 'Solana',\n symbol: 'SOL',\n },\n 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v':\n {\n name: 'USDC',\n symbol: 'USDC',\n },\n};\n"]}
|
package/dist/constants.d.cts
CHANGED
|
@@ -17,10 +17,6 @@ export declare const DEFAULT_LOCALE = "en";
|
|
|
17
17
|
* The default currency.
|
|
18
18
|
*/
|
|
19
19
|
export declare const DEFAULT_CURRENCY = "usd";
|
|
20
|
-
/**
|
|
21
|
-
* The default JSON-RPC endpoint for Ethereum requests.
|
|
22
|
-
*/
|
|
23
|
-
export declare const DEFAULT_JSON_RPC_ENDPOINT = "https://cloudflare-eth.com/";
|
|
24
20
|
/**
|
|
25
21
|
* The types of inputs that can be used in the `typeInField` interface action.
|
|
26
22
|
*/
|
package/dist/constants.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.cts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAkB;AAEnD;;;GAGG;AACH,eAAO,MAAM,WAAW,gEACuC,CAAC;AAEhE;;;GAGG;AACH,eAAO,MAAM,uBAAuB,kGAC6D,CAAC;AAElG;;GAEG;AACH,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.d.cts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAkB;AAEnD;;;GAGG;AACH,eAAO,MAAM,WAAW,gEACuC,CAAC;AAEhE;;;GAGG;AACH,eAAO,MAAM,uBAAuB,kGAC6D,CAAC;AAElG;;GAEG;AACH,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,eAAe,UAA4B,CAAC;AAEzD,eAAO,MAAM,gBAAgB,EAAE,iBAAiB,EAyB/C,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;CAU1B,CAAC"}
|
package/dist/constants.d.mts
CHANGED
|
@@ -17,10 +17,6 @@ export declare const DEFAULT_LOCALE = "en";
|
|
|
17
17
|
* The default currency.
|
|
18
18
|
*/
|
|
19
19
|
export declare const DEFAULT_CURRENCY = "usd";
|
|
20
|
-
/**
|
|
21
|
-
* The default JSON-RPC endpoint for Ethereum requests.
|
|
22
|
-
*/
|
|
23
|
-
export declare const DEFAULT_JSON_RPC_ENDPOINT = "https://cloudflare-eth.com/";
|
|
24
20
|
/**
|
|
25
21
|
* The types of inputs that can be used in the `typeInField` interface action.
|
|
26
22
|
*/
|
package/dist/constants.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAkB;AAEnD;;;GAGG;AACH,eAAO,MAAM,WAAW,gEACuC,CAAC;AAEhE;;;GAGG;AACH,eAAO,MAAM,uBAAuB,kGAC6D,CAAC;AAElG;;GAEG;AACH,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAkB;AAEnD;;;GAGG;AACH,eAAO,MAAM,WAAW,gEACuC,CAAC;AAEhE;;;GAGG;AACH,eAAO,MAAM,uBAAuB,kGAC6D,CAAC;AAElG;;GAEG;AACH,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,eAAe,UAA4B,CAAC;AAEzD,eAAO,MAAM,gBAAgB,EAAE,iBAAiB,EAyB/C,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;CAU1B,CAAC"}
|
package/dist/constants.mjs
CHANGED
|
@@ -16,10 +16,6 @@ export const DEFAULT_LOCALE = 'en';
|
|
|
16
16
|
* The default currency.
|
|
17
17
|
*/
|
|
18
18
|
export const DEFAULT_CURRENCY = 'usd';
|
|
19
|
-
/**
|
|
20
|
-
* The default JSON-RPC endpoint for Ethereum requests.
|
|
21
|
-
*/
|
|
22
|
-
export const DEFAULT_JSON_RPC_ENDPOINT = 'https://cloudflare-eth.com/';
|
|
23
19
|
/**
|
|
24
20
|
* The types of inputs that can be used in the `typeInField` interface action.
|
|
25
21
|
*/
|
package/dist/constants.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GACtB,6DAA6D,CAAC;AAEhE;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAClC,+FAA+F,CAAC;AAElG;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.mjs","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GACtB,6DAA6D,CAAC;AAEhE;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAClC,+FAA+F,CAAC;AAElG;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,gBAAgB,GAAwB;IACnD;QACE,OAAO,EAAE,4CAA4C;QACrD,EAAE,EAAE,sCAAsC;QAC1C,MAAM,EAAE,CAAC,UAAU,CAAC;QACpB,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,KAAK;QACZ,sFAAsF;QACtF,MAAM,EAAE,EAAE;KACX;IACD;QACE,OAAO,EAAE,8CAA8C;QACvD,EAAE,EAAE,sCAAsC;QAC1C,MAAM,EAAE;YACN,yCAAyC;YACzC,yCAAyC;YACzC,yCAAyC;SAC1C;QACD,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;QACX,MAAM,EAAE;YACN,oDAAoD;YACpD,4FAA4F;SAC7F;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,oDAAoD,EAAE;QACpD,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,KAAK;KACd;IACD,4FAA4F,EAC1F;QACE,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;KACf;CACJ,CAAC","sourcesContent":["import type { SimulationAccount } from './options';\n\n/**\n * A secret recovery phrase that is used for testing purposes. Do not use this\n * to store any real funds!\n */\nexport const DEFAULT_SRP =\n 'test test test test test test test test test test test ball';\n\n/**\n * An alternative secret recovery phrase that is used for testing purposes. Do\n * not use this to store any real funds!\n */\nexport const DEFAULT_ALTERNATIVE_SRP =\n 'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about';\n\n/**\n * The default locale.\n */\nexport const DEFAULT_LOCALE = 'en';\n\n/**\n * The default currency.\n */\nexport const DEFAULT_CURRENCY = 'usd';\n\n/**\n * The types of inputs that can be used in the `typeInField` interface action.\n */\nexport const TYPEABLE_INPUTS = ['Input', 'AddressInput'];\n\nexport const DEFAULT_ACCOUNTS: SimulationAccount[] = [\n {\n address: '0x1234567890abcdef1234567890abcdef12345678',\n id: '29bc7513-d1b9-4466-98a6-f5f9e0b90137',\n scopes: ['eip155:0'],\n selected: false,\n owned: false,\n // We don't expose assets for EVM accounts as it's not supported in the AssetSelector.\n assets: [],\n },\n {\n address: '7S3P4HxJpyyigGzodYwHtCxZyUQe9JiBMHyRWXArAaKv',\n id: 'e051723c-85d0-43a3-b9bf-568a90d3f378',\n scopes: [\n 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',\n 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1',\n 'solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z',\n ],\n selected: true,\n owned: true,\n assets: [\n 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501',\n 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',\n ],\n },\n];\n\nexport const DEFAULT_ASSETS = {\n 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501': {\n name: 'Solana',\n symbol: 'SOL',\n },\n 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v':\n {\n name: 'USDC',\n symbol: 'USDC',\n },\n};\n"]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getSetCurrentChainImplementation = void 0;
|
|
4
|
+
const effects_1 = require("redux-saga/effects");
|
|
5
|
+
const store_1 = require("../../store/index.cjs");
|
|
6
|
+
/**
|
|
7
|
+
* Set the current chain ID in state.
|
|
8
|
+
*
|
|
9
|
+
* @param chainId - The chain ID.
|
|
10
|
+
* @yields Puts the chain ID in the store.
|
|
11
|
+
* @returns `null`.
|
|
12
|
+
*/
|
|
13
|
+
function* setCurrentChainImplementation(chainId) {
|
|
14
|
+
yield (0, effects_1.put)((0, store_1.setChain)(chainId));
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Get a method that can be used to set the current chain.
|
|
19
|
+
*
|
|
20
|
+
* @param runSaga - A function to run a saga outside the usual Redux flow.
|
|
21
|
+
* @returns A method that can be used to set the current chain.
|
|
22
|
+
*/
|
|
23
|
+
function getSetCurrentChainImplementation(runSaga) {
|
|
24
|
+
return (...args) => {
|
|
25
|
+
return runSaga(setCurrentChainImplementation, ...args).result();
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
exports.getSetCurrentChainImplementation = getSetCurrentChainImplementation;
|
|
29
|
+
//# sourceMappingURL=chain.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain.cjs","sourceRoot":"","sources":["../../../src/methods/hooks/chain.ts"],"names":[],"mappings":";;;AAEA,gDAAyC;AAEzC,iDAAuC;AAGvC;;;;;;GAMG;AACH,QAAQ,CAAC,CAAC,6BAA6B,CAAC,OAAY;IAClD,MAAM,IAAA,aAAG,EAAC,IAAA,gBAAQ,EAAC,OAAO,CAAC,CAAC,CAAC;IAC7B,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAgB,gCAAgC,CAAC,OAAwB;IACvE,OAAO,CAAC,GAAG,IAAsD,EAAE,EAAE;QACnE,OAAO,OAAO,CAAC,6BAA6B,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;IAClE,CAAC,CAAC;AACJ,CAAC;AAJD,4EAIC","sourcesContent":["import type { Hex } from '@metamask/utils';\nimport type { SagaIterator } from 'redux-saga';\nimport { put } from 'redux-saga/effects';\n\nimport { setChain } from '../../store';\nimport type { RunSagaFunction } from '../../store';\n\n/**\n * Set the current chain ID in state.\n *\n * @param chainId - The chain ID.\n * @yields Puts the chain ID in the store.\n * @returns `null`.\n */\nfunction* setCurrentChainImplementation(chainId: Hex): SagaIterator {\n yield put(setChain(chainId));\n return null;\n}\n\n/**\n * Get a method that can be used to set the current chain.\n *\n * @param runSaga - A function to run a saga outside the usual Redux flow.\n * @returns A method that can be used to set the current chain.\n */\nexport function getSetCurrentChainImplementation(runSaga: RunSagaFunction) {\n return (...args: Parameters<typeof setCurrentChainImplementation>) => {\n return runSaga(setCurrentChainImplementation, ...args).result();\n };\n}\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RunSagaFunction } from "../../store/index.cjs";
|
|
2
|
+
/**
|
|
3
|
+
* Get a method that can be used to set the current chain.
|
|
4
|
+
*
|
|
5
|
+
* @param runSaga - A function to run a saga outside the usual Redux flow.
|
|
6
|
+
* @returns A method that can be used to set the current chain.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getSetCurrentChainImplementation(runSaga: RunSagaFunction): (chainId: `0x${string}`) => any;
|
|
9
|
+
//# sourceMappingURL=chain.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain.d.cts","sourceRoot":"","sources":["../../../src/methods/hooks/chain.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,8BAAoB;AAcnD;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,eAAe,mCAIxE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RunSagaFunction } from "../../store/index.mjs";
|
|
2
|
+
/**
|
|
3
|
+
* Get a method that can be used to set the current chain.
|
|
4
|
+
*
|
|
5
|
+
* @param runSaga - A function to run a saga outside the usual Redux flow.
|
|
6
|
+
* @returns A method that can be used to set the current chain.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getSetCurrentChainImplementation(runSaga: RunSagaFunction): (chainId: `0x${string}`) => any;
|
|
9
|
+
//# sourceMappingURL=chain.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain.d.mts","sourceRoot":"","sources":["../../../src/methods/hooks/chain.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,8BAAoB;AAcnD;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,eAAe,mCAIxE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { put } from "redux-saga/effects";
|
|
2
|
+
import { setChain } from "../../store/index.mjs";
|
|
3
|
+
/**
|
|
4
|
+
* Set the current chain ID in state.
|
|
5
|
+
*
|
|
6
|
+
* @param chainId - The chain ID.
|
|
7
|
+
* @yields Puts the chain ID in the store.
|
|
8
|
+
* @returns `null`.
|
|
9
|
+
*/
|
|
10
|
+
function* setCurrentChainImplementation(chainId) {
|
|
11
|
+
yield put(setChain(chainId));
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Get a method that can be used to set the current chain.
|
|
16
|
+
*
|
|
17
|
+
* @param runSaga - A function to run a saga outside the usual Redux flow.
|
|
18
|
+
* @returns A method that can be used to set the current chain.
|
|
19
|
+
*/
|
|
20
|
+
export function getSetCurrentChainImplementation(runSaga) {
|
|
21
|
+
return (...args) => {
|
|
22
|
+
return runSaga(setCurrentChainImplementation, ...args).result();
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=chain.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain.mjs","sourceRoot":"","sources":["../../../src/methods/hooks/chain.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,2BAA2B;AAEzC,OAAO,EAAE,QAAQ,EAAE,8BAAoB;AAGvC;;;;;;GAMG;AACH,QAAQ,CAAC,CAAC,6BAA6B,CAAC,OAAY;IAClD,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7B,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gCAAgC,CAAC,OAAwB;IACvE,OAAO,CAAC,GAAG,IAAsD,EAAE,EAAE;QACnE,OAAO,OAAO,CAAC,6BAA6B,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;IAClE,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import type { Hex } from '@metamask/utils';\nimport type { SagaIterator } from 'redux-saga';\nimport { put } from 'redux-saga/effects';\n\nimport { setChain } from '../../store';\nimport type { RunSagaFunction } from '../../store';\n\n/**\n * Set the current chain ID in state.\n *\n * @param chainId - The chain ID.\n * @yields Puts the chain ID in the store.\n * @returns `null`.\n */\nfunction* setCurrentChainImplementation(chainId: Hex): SagaIterator {\n yield put(setChain(chainId));\n return null;\n}\n\n/**\n * Get a method that can be used to set the current chain.\n *\n * @param runSaga - A function to run a saga outside the usual Redux flow.\n * @returns A method that can be used to set the current chain.\n */\nexport function getSetCurrentChainImplementation(runSaga: RunSagaFunction) {\n return (...args: Parameters<typeof setCurrentChainImplementation>) => {\n return runSaga(setCurrentChainImplementation, ...args).result();\n };\n}\n"]}
|
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./chain.cjs"), exports);
|
|
17
18
|
__exportStar(require("./end-trace.cjs"), exports);
|
|
18
19
|
__exportStar(require("./get-entropy-sources.cjs"), exports);
|
|
19
20
|
__exportStar(require("./get-mnemonic.cjs"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../../src/methods/hooks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA4B;AAC5B,4DAAsC;AACtC,qDAA+B;AAC/B,wDAAkC;AAClC,iDAA2B;AAC3B,kDAA4B;AAC5B,sDAAgC;AAChC,wDAA4B;AAC5B,8DAAwC;AACxC,oDAA8B;AAC9B,8CAAwB;AACxB,oDAA8B;AAC9B,oDAA8B","sourcesContent":["export * from './end-trace';\nexport * from './get-entropy-sources';\nexport * from './get-mnemonic';\nexport * from './get-preferences';\nexport * from './get-snap';\nexport * from './interface';\nexport * from './notifications';\nexport * from './permitted';\nexport * from './request-user-approval';\nexport * from './start-trace';\nexport * from './state';\nexport * from './track-error';\nexport * from './track-event';\n"]}
|
|
1
|
+
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../../src/methods/hooks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAAwB;AACxB,kDAA4B;AAC5B,4DAAsC;AACtC,qDAA+B;AAC/B,wDAAkC;AAClC,iDAA2B;AAC3B,kDAA4B;AAC5B,sDAAgC;AAChC,wDAA4B;AAC5B,8DAAwC;AACxC,oDAA8B;AAC9B,8CAAwB;AACxB,oDAA8B;AAC9B,oDAA8B","sourcesContent":["export * from './chain';\nexport * from './end-trace';\nexport * from './get-entropy-sources';\nexport * from './get-mnemonic';\nexport * from './get-preferences';\nexport * from './get-snap';\nexport * from './interface';\nexport * from './notifications';\nexport * from './permitted';\nexport * from './request-user-approval';\nexport * from './start-trace';\nexport * from './state';\nexport * from './track-error';\nexport * from './track-event';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/methods/hooks/index.ts"],"names":[],"mappings":"AAAA,gCAA4B;AAC5B,0CAAsC;AACtC,mCAA+B;AAC/B,sCAAkC;AAClC,+BAA2B;AAC3B,gCAA4B;AAC5B,oCAAgC;AAChC,sCAA4B;AAC5B,4CAAwC;AACxC,kCAA8B;AAC9B,4BAAwB;AACxB,kCAA8B;AAC9B,kCAA8B"}
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/methods/hooks/index.ts"],"names":[],"mappings":"AAAA,4BAAwB;AACxB,gCAA4B;AAC5B,0CAAsC;AACtC,mCAA+B;AAC/B,sCAAkC;AAClC,+BAA2B;AAC3B,gCAA4B;AAC5B,oCAAgC;AAChC,sCAA4B;AAC5B,4CAAwC;AACxC,kCAA8B;AAC9B,4BAAwB;AACxB,kCAA8B;AAC9B,kCAA8B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/methods/hooks/index.ts"],"names":[],"mappings":"AAAA,gCAA4B;AAC5B,0CAAsC;AACtC,mCAA+B;AAC/B,sCAAkC;AAClC,+BAA2B;AAC3B,gCAA4B;AAC5B,oCAAgC;AAChC,sCAA4B;AAC5B,4CAAwC;AACxC,kCAA8B;AAC9B,4BAAwB;AACxB,kCAA8B;AAC9B,kCAA8B"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/methods/hooks/index.ts"],"names":[],"mappings":"AAAA,4BAAwB;AACxB,gCAA4B;AAC5B,0CAAsC;AACtC,mCAA+B;AAC/B,sCAAkC;AAClC,+BAA2B;AAC3B,gCAA4B;AAC5B,oCAAgC;AAChC,sCAA4B;AAC5B,4CAAwC;AACxC,kCAA8B;AAC9B,4BAAwB;AACxB,kCAA8B;AAC9B,kCAA8B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/methods/hooks/index.ts"],"names":[],"mappings":"AAAA,gCAA4B;AAC5B,0CAAsC;AACtC,mCAA+B;AAC/B,sCAAkC;AAClC,+BAA2B;AAC3B,gCAA4B;AAC5B,oCAAgC;AAChC,sCAA4B;AAC5B,4CAAwC;AACxC,kCAA8B;AAC9B,4BAAwB;AACxB,kCAA8B;AAC9B,kCAA8B","sourcesContent":["export * from './end-trace';\nexport * from './get-entropy-sources';\nexport * from './get-mnemonic';\nexport * from './get-preferences';\nexport * from './get-snap';\nexport * from './interface';\nexport * from './notifications';\nexport * from './permitted';\nexport * from './request-user-approval';\nexport * from './start-trace';\nexport * from './state';\nexport * from './track-error';\nexport * from './track-event';\n"]}
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/methods/hooks/index.ts"],"names":[],"mappings":"AAAA,4BAAwB;AACxB,gCAA4B;AAC5B,0CAAsC;AACtC,mCAA+B;AAC/B,sCAAkC;AAClC,+BAA2B;AAC3B,gCAA4B;AAC5B,oCAAgC;AAChC,sCAA4B;AAC5B,4CAAwC;AACxC,kCAA8B;AAC9B,4BAAwB;AACxB,kCAA8B;AAC9B,kCAA8B","sourcesContent":["export * from './chain';\nexport * from './end-trace';\nexport * from './get-entropy-sources';\nexport * from './get-mnemonic';\nexport * from './get-preferences';\nexport * from './get-snap';\nexport * from './interface';\nexport * from './notifications';\nexport * from './permitted';\nexport * from './request-user-approval';\nexport * from './start-trace';\nexport * from './state';\nexport * from './track-error';\nexport * from './track-event';\n"]}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createJsonRpcEngine = void 0;
|
|
4
|
-
const eth_json_rpc_middleware_1 = require("@metamask/eth-json-rpc-middleware");
|
|
5
4
|
const json_rpc_engine_1 = require("@metamask/json-rpc-engine");
|
|
6
5
|
const snaps_rpc_methods_1 = require("@metamask/snaps-rpc-methods");
|
|
7
6
|
const internal_methods_1 = require("./internal-methods/index.cjs");
|
|
8
7
|
const mock_1 = require("./mock.cjs");
|
|
9
|
-
const
|
|
8
|
+
const provider_1 = require("./provider.cjs");
|
|
10
9
|
/**
|
|
11
10
|
* Create a JSON-RPC engine for use in a simulated environment. This engine
|
|
12
11
|
* should be used to handle all JSON-RPC requests. It is set up to handle
|
|
@@ -18,10 +17,9 @@ const constants_1 = require("../constants.cjs");
|
|
|
18
17
|
* @param options.restrictedHooks - Any hooks used by the middleware handlers.
|
|
19
18
|
* @param options.permittedHooks - Any hooks used by the middleware handlers.
|
|
20
19
|
* @param options.permissionMiddleware - The permission middleware to use.
|
|
21
|
-
* @param options.endpoint - The JSON-RPC endpoint to use for Ethereum requests.
|
|
22
20
|
* @returns A JSON-RPC engine.
|
|
23
21
|
*/
|
|
24
|
-
function createJsonRpcEngine({ store, restrictedHooks, permittedHooks, permissionMiddleware,
|
|
22
|
+
function createJsonRpcEngine({ store, restrictedHooks, permittedHooks, permissionMiddleware, }) {
|
|
25
23
|
const engine = new json_rpc_engine_1.JsonRpcEngine();
|
|
26
24
|
engine.push((0, mock_1.createMockMiddleware)(store));
|
|
27
25
|
// The hooks here do not match the hooks used by the clients, so this
|
|
@@ -29,11 +27,7 @@ function createJsonRpcEngine({ store, restrictedHooks, permittedHooks, permissio
|
|
|
29
27
|
engine.push((0, internal_methods_1.createInternalMethodsMiddleware)(restrictedHooks));
|
|
30
28
|
engine.push((0, snaps_rpc_methods_1.createSnapsMethodMiddleware)(true, permittedHooks));
|
|
31
29
|
engine.push(permissionMiddleware);
|
|
32
|
-
engine.push((0,
|
|
33
|
-
btoa: globalThis.btoa,
|
|
34
|
-
fetch: globalThis.fetch,
|
|
35
|
-
rpcUrl: endpoint,
|
|
36
|
-
}));
|
|
30
|
+
engine.push((0, provider_1.createProviderMiddleware)(store));
|
|
37
31
|
return engine;
|
|
38
32
|
}
|
|
39
33
|
exports.createJsonRpcEngine = createJsonRpcEngine;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.cjs","sourceRoot":"","sources":["../../src/middleware/engine.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"engine.cjs","sourceRoot":"","sources":["../../src/middleware/engine.ts"],"names":[],"mappings":";;;AACA,+DAA0D;AAE1D,mEAA0E;AAG1E,mEAAqE;AACrE,qCAA8C;AAC9C,6CAAsD;AAetD;;;;;;;;;;;;GAYG;AACH,SAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,eAAe,EACf,cAAc,EACd,oBAAoB,GACO;IAC3B,MAAM,MAAM,GAAG,IAAI,+BAAa,EAAE,CAAC;IACnC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAoB,EAAC,KAAK,CAAC,CAAC,CAAC;IAEzC,qEAAqE;IACrE,uEAAuE;IACvE,MAAM,CAAC,IAAI,CAAC,IAAA,kDAA+B,EAAC,eAAe,CAAC,CAAC,CAAC;IAC9D,MAAM,CAAC,IAAI,CAAC,IAAA,+CAA2B,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IAE/D,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAClC,MAAM,CAAC,IAAI,CAAC,IAAA,mCAAwB,EAAC,KAAK,CAAC,CAAC,CAAC;IAE7C,OAAO,MAAM,CAAC;AAChB,CAAC;AAlBD,kDAkBC","sourcesContent":["import type { JsonRpcMiddleware } from '@metamask/json-rpc-engine';\nimport { JsonRpcEngine } from '@metamask/json-rpc-engine';\nimport type { RestrictedMethodParameters } from '@metamask/permission-controller';\nimport { createSnapsMethodMiddleware } from '@metamask/snaps-rpc-methods';\nimport type { Json } from '@metamask/utils';\n\nimport { createInternalMethodsMiddleware } from './internal-methods';\nimport { createMockMiddleware } from './mock';\nimport { createProviderMiddleware } from './provider';\nimport type {\n PermittedMiddlewareHooks,\n RestrictedMiddlewareHooks,\n} from '../simulation';\nimport type { Store } from '../store';\n\nexport type CreateJsonRpcEngineOptions = {\n store: Store;\n restrictedHooks: RestrictedMiddlewareHooks;\n permittedHooks: PermittedMiddlewareHooks;\n permissionMiddleware: JsonRpcMiddleware<RestrictedMethodParameters, Json>;\n endpoint?: string;\n};\n\n/**\n * Create a JSON-RPC engine for use in a simulated environment. This engine\n * should be used to handle all JSON-RPC requests. It is set up to handle\n * requests that would normally be handled internally by the MetaMask client, as\n * well as Snap-specific requests.\n *\n * @param options - The options to use when creating the engine.\n * @param options.store - The Redux store to use.\n * @param options.restrictedHooks - Any hooks used by the middleware handlers.\n * @param options.permittedHooks - Any hooks used by the middleware handlers.\n * @param options.permissionMiddleware - The permission middleware to use.\n * @returns A JSON-RPC engine.\n */\nexport function createJsonRpcEngine({\n store,\n restrictedHooks,\n permittedHooks,\n permissionMiddleware,\n}: CreateJsonRpcEngineOptions) {\n const engine = new JsonRpcEngine();\n engine.push(createMockMiddleware(store));\n\n // The hooks here do not match the hooks used by the clients, so this\n // middleware should not be used outside of the simulation environment.\n engine.push(createInternalMethodsMiddleware(restrictedHooks));\n engine.push(createSnapsMethodMiddleware(true, permittedHooks));\n\n engine.push(permissionMiddleware);\n engine.push(createProviderMiddleware(store));\n\n return engine;\n}\n"]}
|
|
@@ -22,8 +22,7 @@ export type CreateJsonRpcEngineOptions = {
|
|
|
22
22
|
* @param options.restrictedHooks - Any hooks used by the middleware handlers.
|
|
23
23
|
* @param options.permittedHooks - Any hooks used by the middleware handlers.
|
|
24
24
|
* @param options.permissionMiddleware - The permission middleware to use.
|
|
25
|
-
* @param options.endpoint - The JSON-RPC endpoint to use for Ethereum requests.
|
|
26
25
|
* @returns A JSON-RPC engine.
|
|
27
26
|
*/
|
|
28
|
-
export declare function createJsonRpcEngine({ store, restrictedHooks, permittedHooks, permissionMiddleware,
|
|
27
|
+
export declare function createJsonRpcEngine({ store, restrictedHooks, permittedHooks, permissionMiddleware, }: CreateJsonRpcEngineOptions): JsonRpcEngine;
|
|
29
28
|
//# sourceMappingURL=engine.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.cts","sourceRoot":"","sources":["../../src/middleware/engine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"engine.d.cts","sourceRoot":"","sources":["../../src/middleware/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kCAAkC;AACnE,OAAO,EAAE,aAAa,EAAE,kCAAkC;AAC1D,OAAO,KAAK,EAAE,0BAA0B,EAAE,wCAAwC;AAElF,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAK5C,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EAC1B,0BAAsB;AACvB,OAAO,KAAK,EAAE,KAAK,EAAE,2BAAiB;AAEtC,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,EAAE,KAAK,CAAC;IACb,eAAe,EAAE,yBAAyB,CAAC;IAC3C,cAAc,EAAE,wBAAwB,CAAC;IACzC,oBAAoB,EAAE,iBAAiB,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,eAAe,EACf,cAAc,EACd,oBAAoB,GACrB,EAAE,0BAA0B,iBAa5B"}
|
|
@@ -22,8 +22,7 @@ export type CreateJsonRpcEngineOptions = {
|
|
|
22
22
|
* @param options.restrictedHooks - Any hooks used by the middleware handlers.
|
|
23
23
|
* @param options.permittedHooks - Any hooks used by the middleware handlers.
|
|
24
24
|
* @param options.permissionMiddleware - The permission middleware to use.
|
|
25
|
-
* @param options.endpoint - The JSON-RPC endpoint to use for Ethereum requests.
|
|
26
25
|
* @returns A JSON-RPC engine.
|
|
27
26
|
*/
|
|
28
|
-
export declare function createJsonRpcEngine({ store, restrictedHooks, permittedHooks, permissionMiddleware,
|
|
27
|
+
export declare function createJsonRpcEngine({ store, restrictedHooks, permittedHooks, permissionMiddleware, }: CreateJsonRpcEngineOptions): JsonRpcEngine;
|
|
29
28
|
//# sourceMappingURL=engine.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.mts","sourceRoot":"","sources":["../../src/middleware/engine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"engine.d.mts","sourceRoot":"","sources":["../../src/middleware/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kCAAkC;AACnE,OAAO,EAAE,aAAa,EAAE,kCAAkC;AAC1D,OAAO,KAAK,EAAE,0BAA0B,EAAE,wCAAwC;AAElF,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAK5C,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EAC1B,0BAAsB;AACvB,OAAO,KAAK,EAAE,KAAK,EAAE,2BAAiB;AAEtC,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,EAAE,KAAK,CAAC;IACb,eAAe,EAAE,yBAAyB,CAAC;IAC3C,cAAc,EAAE,wBAAwB,CAAC;IACzC,oBAAoB,EAAE,iBAAiB,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,eAAe,EACf,cAAc,EACd,oBAAoB,GACrB,EAAE,0BAA0B,iBAa5B"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { createFetchMiddleware } from "@metamask/eth-json-rpc-middleware";
|
|
2
1
|
import { JsonRpcEngine } from "@metamask/json-rpc-engine";
|
|
3
2
|
import { createSnapsMethodMiddleware } from "@metamask/snaps-rpc-methods";
|
|
4
3
|
import { createInternalMethodsMiddleware } from "./internal-methods/index.mjs";
|
|
5
4
|
import { createMockMiddleware } from "./mock.mjs";
|
|
6
|
-
import {
|
|
5
|
+
import { createProviderMiddleware } from "./provider.mjs";
|
|
7
6
|
/**
|
|
8
7
|
* Create a JSON-RPC engine for use in a simulated environment. This engine
|
|
9
8
|
* should be used to handle all JSON-RPC requests. It is set up to handle
|
|
@@ -15,10 +14,9 @@ import { DEFAULT_JSON_RPC_ENDPOINT } from "../constants.mjs";
|
|
|
15
14
|
* @param options.restrictedHooks - Any hooks used by the middleware handlers.
|
|
16
15
|
* @param options.permittedHooks - Any hooks used by the middleware handlers.
|
|
17
16
|
* @param options.permissionMiddleware - The permission middleware to use.
|
|
18
|
-
* @param options.endpoint - The JSON-RPC endpoint to use for Ethereum requests.
|
|
19
17
|
* @returns A JSON-RPC engine.
|
|
20
18
|
*/
|
|
21
|
-
export function createJsonRpcEngine({ store, restrictedHooks, permittedHooks, permissionMiddleware,
|
|
19
|
+
export function createJsonRpcEngine({ store, restrictedHooks, permittedHooks, permissionMiddleware, }) {
|
|
22
20
|
const engine = new JsonRpcEngine();
|
|
23
21
|
engine.push(createMockMiddleware(store));
|
|
24
22
|
// The hooks here do not match the hooks used by the clients, so this
|
|
@@ -26,11 +24,7 @@ export function createJsonRpcEngine({ store, restrictedHooks, permittedHooks, pe
|
|
|
26
24
|
engine.push(createInternalMethodsMiddleware(restrictedHooks));
|
|
27
25
|
engine.push(createSnapsMethodMiddleware(true, permittedHooks));
|
|
28
26
|
engine.push(permissionMiddleware);
|
|
29
|
-
engine.push(
|
|
30
|
-
btoa: globalThis.btoa,
|
|
31
|
-
fetch: globalThis.fetch,
|
|
32
|
-
rpcUrl: endpoint,
|
|
33
|
-
}));
|
|
27
|
+
engine.push(createProviderMiddleware(store));
|
|
34
28
|
return engine;
|
|
35
29
|
}
|
|
36
30
|
//# sourceMappingURL=engine.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.mjs","sourceRoot":"","sources":["../../src/middleware/engine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"engine.mjs","sourceRoot":"","sources":["../../src/middleware/engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,kCAAkC;AAE1D,OAAO,EAAE,2BAA2B,EAAE,oCAAoC;AAG1E,OAAO,EAAE,+BAA+B,EAAE,qCAA2B;AACrE,OAAO,EAAE,oBAAoB,EAAE,mBAAe;AAC9C,OAAO,EAAE,wBAAwB,EAAE,uBAAmB;AAetD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,KAAK,EACL,eAAe,EACf,cAAc,EACd,oBAAoB,GACO;IAC3B,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;IACnC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;IAEzC,qEAAqE;IACrE,uEAAuE;IACvE,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,eAAe,CAAC,CAAC,CAAC;IAC9D,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IAE/D,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAClC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7C,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import type { JsonRpcMiddleware } from '@metamask/json-rpc-engine';\nimport { JsonRpcEngine } from '@metamask/json-rpc-engine';\nimport type { RestrictedMethodParameters } from '@metamask/permission-controller';\nimport { createSnapsMethodMiddleware } from '@metamask/snaps-rpc-methods';\nimport type { Json } from '@metamask/utils';\n\nimport { createInternalMethodsMiddleware } from './internal-methods';\nimport { createMockMiddleware } from './mock';\nimport { createProviderMiddleware } from './provider';\nimport type {\n PermittedMiddlewareHooks,\n RestrictedMiddlewareHooks,\n} from '../simulation';\nimport type { Store } from '../store';\n\nexport type CreateJsonRpcEngineOptions = {\n store: Store;\n restrictedHooks: RestrictedMiddlewareHooks;\n permittedHooks: PermittedMiddlewareHooks;\n permissionMiddleware: JsonRpcMiddleware<RestrictedMethodParameters, Json>;\n endpoint?: string;\n};\n\n/**\n * Create a JSON-RPC engine for use in a simulated environment. This engine\n * should be used to handle all JSON-RPC requests. It is set up to handle\n * requests that would normally be handled internally by the MetaMask client, as\n * well as Snap-specific requests.\n *\n * @param options - The options to use when creating the engine.\n * @param options.store - The Redux store to use.\n * @param options.restrictedHooks - Any hooks used by the middleware handlers.\n * @param options.permittedHooks - Any hooks used by the middleware handlers.\n * @param options.permissionMiddleware - The permission middleware to use.\n * @returns A JSON-RPC engine.\n */\nexport function createJsonRpcEngine({\n store,\n restrictedHooks,\n permittedHooks,\n permissionMiddleware,\n}: CreateJsonRpcEngineOptions) {\n const engine = new JsonRpcEngine();\n engine.push(createMockMiddleware(store));\n\n // The hooks here do not match the hooks used by the clients, so this\n // middleware should not be used outside of the simulation environment.\n engine.push(createInternalMethodsMiddleware(restrictedHooks));\n engine.push(createSnapsMethodMiddleware(true, permittedHooks));\n\n engine.push(permissionMiddleware);\n engine.push(createProviderMiddleware(store));\n\n return engine;\n}\n"]}
|
|
@@ -11,12 +11,11 @@ exports.getChainIdHandler = void 0;
|
|
|
11
11
|
* result.
|
|
12
12
|
* @param _next - The `json-rpc-engine` middleware next handler.
|
|
13
13
|
* @param end - The `json-rpc-engine` middleware end handler.
|
|
14
|
+
* @param hooks - The method hooks.
|
|
14
15
|
* @returns The JSON-RPC response.
|
|
15
16
|
*/
|
|
16
|
-
async function getChainIdHandler(_request, response, _next, end) {
|
|
17
|
-
|
|
18
|
-
// whatever network the simulation is using.
|
|
19
|
-
response.result = '0x01';
|
|
17
|
+
async function getChainIdHandler(_request, response, _next, end, hooks) {
|
|
18
|
+
response.result = hooks.getSimulationState().chain.chainId;
|
|
20
19
|
return end();
|
|
21
20
|
}
|
|
22
21
|
exports.getChainIdHandler = getChainIdHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain-id.cjs","sourceRoot":"","sources":["../../../src/middleware/internal-methods/chain-id.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"chain-id.cjs","sourceRoot":"","sources":["../../../src/middleware/internal-methods/chain-id.ts"],"names":[],"mappings":";;;AAQA;;;;;;;;;;;;GAYG;AACI,KAAK,UAAU,iBAAiB,CACrC,QAAwB,EACxB,QAAgC,EAChC,KAAgC,EAChC,GAA6B,EAC7B,KAAiE;IAEjE,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;IAE3D,OAAO,GAAG,EAAE,CAAC;AACf,CAAC;AAVD,8CAUC","sourcesContent":["import type {\n JsonRpcEngineEndCallback,\n JsonRpcEngineNextCallback,\n} from '@metamask/json-rpc-engine';\nimport type { JsonRpcRequest, PendingJsonRpcResponse } from '@metamask/utils';\n\nimport type { InternalMethodsMiddlewareHooks } from './middleware';\n\n/**\n * A mock handler for eth_chainId that always returns a specific\n * hardcoded result.\n *\n * @param _request - Incoming JSON-RPC request. Ignored for this specific\n * handler.\n * @param response - The outgoing JSON-RPC response, modified to return the\n * result.\n * @param _next - The `json-rpc-engine` middleware next handler.\n * @param end - The `json-rpc-engine` middleware end handler.\n * @param hooks - The method hooks.\n * @returns The JSON-RPC response.\n */\nexport async function getChainIdHandler(\n _request: JsonRpcRequest,\n response: PendingJsonRpcResponse,\n _next: JsonRpcEngineNextCallback,\n end: JsonRpcEngineEndCallback,\n hooks: Pick<InternalMethodsMiddlewareHooks, 'getSimulationState'>,\n) {\n response.result = hooks.getSimulationState().chain.chainId;\n\n return end();\n}\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { JsonRpcEngineEndCallback, JsonRpcEngineNextCallback } from "@metamask/json-rpc-engine";
|
|
2
2
|
import type { JsonRpcRequest, PendingJsonRpcResponse } from "@metamask/utils";
|
|
3
|
+
import type { InternalMethodsMiddlewareHooks } from "./middleware.cjs";
|
|
3
4
|
/**
|
|
4
5
|
* A mock handler for eth_chainId that always returns a specific
|
|
5
6
|
* hardcoded result.
|
|
@@ -10,7 +11,8 @@ import type { JsonRpcRequest, PendingJsonRpcResponse } from "@metamask/utils";
|
|
|
10
11
|
* result.
|
|
11
12
|
* @param _next - The `json-rpc-engine` middleware next handler.
|
|
12
13
|
* @param end - The `json-rpc-engine` middleware end handler.
|
|
14
|
+
* @param hooks - The method hooks.
|
|
13
15
|
* @returns The JSON-RPC response.
|
|
14
16
|
*/
|
|
15
|
-
export declare function getChainIdHandler(_request: JsonRpcRequest, response: PendingJsonRpcResponse, _next: JsonRpcEngineNextCallback, end: JsonRpcEngineEndCallback): Promise<void>;
|
|
17
|
+
export declare function getChainIdHandler(_request: JsonRpcRequest, response: PendingJsonRpcResponse, _next: JsonRpcEngineNextCallback, end: JsonRpcEngineEndCallback, hooks: Pick<InternalMethodsMiddlewareHooks, 'getSimulationState'>): Promise<void>;
|
|
16
18
|
//# sourceMappingURL=chain-id.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain-id.d.cts","sourceRoot":"","sources":["../../../src/middleware/internal-methods/chain-id.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EAC1B,kCAAkC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,wBAAwB;AAE9E
|
|
1
|
+
{"version":3,"file":"chain-id.d.cts","sourceRoot":"","sources":["../../../src/middleware/internal-methods/chain-id.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EAC1B,kCAAkC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,wBAAwB;AAE9E,OAAO,KAAK,EAAE,8BAA8B,EAAE,yBAAqB;AAEnE;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,sBAAsB,EAChC,KAAK,EAAE,yBAAyB,EAChC,GAAG,EAAE,wBAAwB,EAC7B,KAAK,EAAE,IAAI,CAAC,8BAA8B,EAAE,oBAAoB,CAAC,iBAKlE"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { JsonRpcEngineEndCallback, JsonRpcEngineNextCallback } from "@metamask/json-rpc-engine";
|
|
2
2
|
import type { JsonRpcRequest, PendingJsonRpcResponse } from "@metamask/utils";
|
|
3
|
+
import type { InternalMethodsMiddlewareHooks } from "./middleware.mjs";
|
|
3
4
|
/**
|
|
4
5
|
* A mock handler for eth_chainId that always returns a specific
|
|
5
6
|
* hardcoded result.
|
|
@@ -10,7 +11,8 @@ import type { JsonRpcRequest, PendingJsonRpcResponse } from "@metamask/utils";
|
|
|
10
11
|
* result.
|
|
11
12
|
* @param _next - The `json-rpc-engine` middleware next handler.
|
|
12
13
|
* @param end - The `json-rpc-engine` middleware end handler.
|
|
14
|
+
* @param hooks - The method hooks.
|
|
13
15
|
* @returns The JSON-RPC response.
|
|
14
16
|
*/
|
|
15
|
-
export declare function getChainIdHandler(_request: JsonRpcRequest, response: PendingJsonRpcResponse, _next: JsonRpcEngineNextCallback, end: JsonRpcEngineEndCallback): Promise<void>;
|
|
17
|
+
export declare function getChainIdHandler(_request: JsonRpcRequest, response: PendingJsonRpcResponse, _next: JsonRpcEngineNextCallback, end: JsonRpcEngineEndCallback, hooks: Pick<InternalMethodsMiddlewareHooks, 'getSimulationState'>): Promise<void>;
|
|
16
18
|
//# sourceMappingURL=chain-id.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain-id.d.mts","sourceRoot":"","sources":["../../../src/middleware/internal-methods/chain-id.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EAC1B,kCAAkC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,wBAAwB;AAE9E
|
|
1
|
+
{"version":3,"file":"chain-id.d.mts","sourceRoot":"","sources":["../../../src/middleware/internal-methods/chain-id.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EAC1B,kCAAkC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,wBAAwB;AAE9E,OAAO,KAAK,EAAE,8BAA8B,EAAE,yBAAqB;AAEnE;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,sBAAsB,EAChC,KAAK,EAAE,yBAAyB,EAChC,GAAG,EAAE,wBAAwB,EAC7B,KAAK,EAAE,IAAI,CAAC,8BAA8B,EAAE,oBAAoB,CAAC,iBAKlE"}
|
|
@@ -8,12 +8,11 @@
|
|
|
8
8
|
* result.
|
|
9
9
|
* @param _next - The `json-rpc-engine` middleware next handler.
|
|
10
10
|
* @param end - The `json-rpc-engine` middleware end handler.
|
|
11
|
+
* @param hooks - The method hooks.
|
|
11
12
|
* @returns The JSON-RPC response.
|
|
12
13
|
*/
|
|
13
|
-
export async function getChainIdHandler(_request, response, _next, end) {
|
|
14
|
-
|
|
15
|
-
// whatever network the simulation is using.
|
|
16
|
-
response.result = '0x01';
|
|
14
|
+
export async function getChainIdHandler(_request, response, _next, end, hooks) {
|
|
15
|
+
response.result = hooks.getSimulationState().chain.chainId;
|
|
17
16
|
return end();
|
|
18
17
|
}
|
|
19
18
|
//# sourceMappingURL=chain-id.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain-id.mjs","sourceRoot":"","sources":["../../../src/middleware/internal-methods/chain-id.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chain-id.mjs","sourceRoot":"","sources":["../../../src/middleware/internal-methods/chain-id.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAwB,EACxB,QAAgC,EAChC,KAAgC,EAChC,GAA6B,EAC7B,KAAiE;IAEjE,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;IAE3D,OAAO,GAAG,EAAE,CAAC;AACf,CAAC","sourcesContent":["import type {\n JsonRpcEngineEndCallback,\n JsonRpcEngineNextCallback,\n} from '@metamask/json-rpc-engine';\nimport type { JsonRpcRequest, PendingJsonRpcResponse } from '@metamask/utils';\n\nimport type { InternalMethodsMiddlewareHooks } from './middleware';\n\n/**\n * A mock handler for eth_chainId that always returns a specific\n * hardcoded result.\n *\n * @param _request - Incoming JSON-RPC request. Ignored for this specific\n * handler.\n * @param response - The outgoing JSON-RPC response, modified to return the\n * result.\n * @param _next - The `json-rpc-engine` middleware next handler.\n * @param end - The `json-rpc-engine` middleware end handler.\n * @param hooks - The method hooks.\n * @returns The JSON-RPC response.\n */\nexport async function getChainIdHandler(\n _request: JsonRpcRequest,\n response: PendingJsonRpcResponse,\n _next: JsonRpcEngineNextCallback,\n end: JsonRpcEngineEndCallback,\n hooks: Pick<InternalMethodsMiddlewareHooks, 'getSimulationState'>,\n) {\n response.result = hooks.getSimulationState().chain.chainId;\n\n return end();\n}\n"]}
|
|
@@ -5,11 +5,9 @@ const snaps_utils_1 = require("@metamask/snaps-utils");
|
|
|
5
5
|
const accounts_1 = require("./accounts.cjs");
|
|
6
6
|
const chain_id_1 = require("./chain-id.cjs");
|
|
7
7
|
const net_version_1 = require("./net-version.cjs");
|
|
8
|
-
const provider_state_1 = require("./provider-state.cjs");
|
|
9
8
|
const switch_ethereum_chain_1 = require("./switch-ethereum-chain.cjs");
|
|
10
9
|
const methodHandlers = {
|
|
11
10
|
/* eslint-disable @typescript-eslint/naming-convention */
|
|
12
|
-
metamask_getProviderState: provider_state_1.getProviderStateHandler,
|
|
13
11
|
eth_requestAccounts: accounts_1.getAccountsHandler,
|
|
14
12
|
eth_accounts: accounts_1.getAccountsHandler,
|
|
15
13
|
eth_chainId: chain_id_1.getChainIdHandler,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.cjs","sourceRoot":"","sources":["../../../src/middleware/internal-methods/middleware.ts"],"names":[],"mappings":";;;AACA,uDAAiD;AAGjD,6CAAgD;AAChD,6CAA+C;AAC/C,mDAAyD;AACzD,
|
|
1
|
+
{"version":3,"file":"middleware.cjs","sourceRoot":"","sources":["../../../src/middleware/internal-methods/middleware.ts"],"names":[],"mappings":";;;AACA,uDAAiD;AAGjD,6CAAgD;AAChD,6CAA+C;AAC/C,mDAAyD;AACzD,uEAAwE;AA0BxE,MAAM,cAAc,GAAG;IACrB,yDAAyD;IACzD,mBAAmB,EAAE,6BAAkB;IACvC,YAAY,EAAE,6BAAkB;IAChC,WAAW,EAAE,4BAAiB;IAC9B,WAAW,EAAE,sCAAwB;IACrC,0BAA0B,EAAE,qDAA6B;IACzD,wDAAwD;CACzD,CAAC;AAEF;;;;;;;;;;GAUG;AACH,SAAgB,+BAA+B,CAC7C,KAAqC;IAErC,kDAAkD;IAClD,kEAAkE;IAClE,OAAO,KAAK,UAAU,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG;QACjE,MAAM,OAAO,GACX,cAAc,CAAC,OAAO,CAAC,MAAqC,CAAC,CAAC;QAChE,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,kEAAkE;gBAClE,OAAO,MAAM,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,IAAA,sBAAQ,EAAC,KAAK,CAAC,CAAC;gBAChB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AApBD,0EAoBC","sourcesContent":["import type { JsonRpcMiddleware } from '@metamask/json-rpc-engine';\nimport { logError } from '@metamask/snaps-utils';\nimport type { Hex, Json, JsonRpcParams } from '@metamask/utils';\n\nimport { getAccountsHandler } from './accounts';\nimport { getChainIdHandler } from './chain-id';\nimport { getNetworkVersionHandler } from './net-version';\nimport { getSwitchEthereumChainHandler } from './switch-ethereum-chain';\nimport type { ApplicationState } from '../../store';\n\nexport type InternalMethodsMiddlewareHooks = {\n /**\n * A hook that returns the user's secret recovery phrase.\n *\n * @returns The user's secret recovery phrase.\n */\n getMnemonic: () => Promise<Uint8Array>;\n\n /**\n * A hook that returns the simulation state.\n *\n * @returns The simulation state.\n */\n getSimulationState: () => ApplicationState;\n\n /**\n * A hook that sets the current chain ID.\n *\n * @param chainId - The chain ID.\n */\n setCurrentChain: (chainId: Hex) => null;\n};\n\nconst methodHandlers = {\n /* eslint-disable @typescript-eslint/naming-convention */\n eth_requestAccounts: getAccountsHandler,\n eth_accounts: getAccountsHandler,\n eth_chainId: getChainIdHandler,\n net_version: getNetworkVersionHandler,\n wallet_switchEthereumChain: getSwitchEthereumChainHandler,\n /* eslint-enable @typescript-eslint/naming-convention */\n};\n\n/**\n * Create a middleware for handling JSON-RPC methods normally handled internally\n * by the MetaMask client.\n *\n * NOTE: This middleware provides all `hooks` to all handlers and should\n * therefore NOT be used outside of the simulation environment. It is intended\n * for testing purposes only.\n *\n * @param hooks - Any hooks used by the middleware handlers.\n * @returns A middleware function.\n */\nexport function createInternalMethodsMiddleware(\n hooks: InternalMethodsMiddlewareHooks,\n): JsonRpcMiddleware<JsonRpcParams, Json> {\n // This should probably use createAsyncMiddleware.\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n return async function methodMiddleware(request, response, next, end) {\n const handler =\n methodHandlers[request.method as keyof typeof methodHandlers];\n if (handler) {\n try {\n // Implementations may or may not be async, so we must await them.\n return await handler(request, response, next, end, hooks);\n } catch (error: any) {\n logError(error);\n return end(error);\n }\n }\n\n return next();\n };\n}\n"]}
|