@metamask/connect-multichain 0.6.0 → 0.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.
Files changed (51) hide show
  1. package/CHANGELOG.md +27 -1
  2. package/README.md +21 -19
  3. package/dist/browser/es/connect-multichain.d.mts +3 -0
  4. package/dist/browser/es/connect-multichain.mjs +134 -58
  5. package/dist/browser/es/connect-multichain.mjs.map +1 -1
  6. package/dist/browser/es/metafile-esm.json +1 -1
  7. package/dist/browser/iife/connect-multichain.d.ts +3 -0
  8. package/dist/browser/iife/connect-multichain.js +2737 -5000
  9. package/dist/browser/iife/connect-multichain.js.map +1 -1
  10. package/dist/browser/iife/metafile-iife.json +1 -1
  11. package/dist/browser/umd/connect-multichain.d.ts +3 -0
  12. package/dist/browser/umd/connect-multichain.js +132 -56
  13. package/dist/browser/umd/connect-multichain.js.map +1 -1
  14. package/dist/browser/umd/metafile-cjs.json +1 -1
  15. package/dist/node/cjs/connect-multichain.d.ts +3 -0
  16. package/dist/node/cjs/connect-multichain.js +132 -56
  17. package/dist/node/cjs/connect-multichain.js.map +1 -1
  18. package/dist/node/cjs/metafile-cjs.json +1 -1
  19. package/dist/node/es/connect-multichain.d.mts +3 -0
  20. package/dist/node/es/connect-multichain.mjs +134 -58
  21. package/dist/node/es/connect-multichain.mjs.map +1 -1
  22. package/dist/node/es/metafile-esm.json +1 -1
  23. package/dist/react-native/es/connect-multichain.d.mts +3 -0
  24. package/dist/react-native/es/connect-multichain.mjs +134 -58
  25. package/dist/react-native/es/connect-multichain.mjs.map +1 -1
  26. package/dist/react-native/es/metafile-esm.json +1 -1
  27. package/dist/src/domain/multichain/types.d.ts +3 -0
  28. package/dist/src/domain/multichain/types.d.ts.map +1 -1
  29. package/dist/src/multichain/index.d.ts.map +1 -1
  30. package/dist/src/multichain/index.js +65 -22
  31. package/dist/src/multichain/index.js.map +1 -1
  32. package/dist/src/multichain/transports/default/index.d.ts +1 -0
  33. package/dist/src/multichain/transports/default/index.d.ts.map +1 -1
  34. package/dist/src/multichain/transports/default/index.js +28 -32
  35. package/dist/src/multichain/transports/default/index.js.map +1 -1
  36. package/dist/src/multichain/transports/multichainApiClientWrapper/index.d.ts.map +1 -1
  37. package/dist/src/multichain/transports/multichainApiClientWrapper/index.js +0 -1
  38. package/dist/src/multichain/transports/multichainApiClientWrapper/index.js.map +1 -1
  39. package/dist/src/multichain/transports/mwp/KeyManager.d.ts +1 -0
  40. package/dist/src/multichain/transports/mwp/KeyManager.d.ts.map +1 -1
  41. package/dist/src/multichain/transports/mwp/KeyManager.js +4 -1
  42. package/dist/src/multichain/transports/mwp/KeyManager.js.map +1 -1
  43. package/dist/src/multichain/transports/mwp/index.d.ts +1 -0
  44. package/dist/src/multichain/transports/mwp/index.d.ts.map +1 -1
  45. package/dist/src/multichain/transports/mwp/index.js +17 -7
  46. package/dist/src/multichain/transports/mwp/index.js.map +1 -1
  47. package/dist/src/multichain/utils/index.d.ts.map +1 -1
  48. package/dist/src/multichain/utils/index.js +37 -0
  49. package/dist/src/multichain/utils/index.js.map +1 -1
  50. package/dist/types/connect-multichain.d.ts +3 -0
  51. package/package.json +4 -4
@@ -1 +1 @@
1
- {"inputs":{"src/domain/errors/base.ts":{"bytes":387,"imports":[],"format":"esm"},"src/domain/errors/rpc.ts":{"bytes":1371,"imports":[{"path":"src/domain/errors/base.ts","kind":"import-statement","original":"./base"}],"format":"esm"},"src/domain/errors/index.ts":{"bytes":53,"imports":[{"path":"src/domain/errors/rpc.ts","kind":"import-statement","original":"./rpc"}],"format":"esm"},"src/domain/events/index.ts":{"bytes":4099,"imports":[{"path":"eventemitter3","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/domain/logger/index.ts":{"bytes":3283,"imports":[{"path":"debug","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/domain/multichain/api/constants.ts":{"bytes":3314,"imports":[],"format":"esm"},"src/domain/multichain/api/infura.ts":{"bytes":419,"imports":[{"path":"src/domain/multichain/api/constants.ts","kind":"import-statement","original":"./constants"}],"format":"esm"},"src/domain/multichain/index.ts":{"bytes":4045,"imports":[{"path":"src/domain/events/index.ts","kind":"import-statement","original":"../events"},{"path":"src/domain/multichain/api/constants.ts","kind":"import-statement","original":"./api/constants"},{"path":"src/domain/multichain/api/infura.ts","kind":"import-statement","original":"./api/infura"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/domain/platform/index.ts":{"bytes":3557,"imports":[{"path":"bowser","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/domain/store/adapter.ts":{"bytes":485,"imports":[],"format":"esm"},"src/domain/store/client.ts":{"bytes":711,"imports":[],"format":"esm"},"src/domain/store/index.ts":{"bytes":53,"imports":[{"path":"src/domain/store/adapter.ts","kind":"import-statement","original":"./adapter"},{"path":"src/domain/store/client.ts","kind":"import-statement","original":"./client"}],"format":"esm"},"src/domain/ui/types.ts":{"bytes":2306,"imports":[],"format":"esm"},"src/domain/ui/index.ts":{"bytes":57,"imports":[{"path":"src/domain/ui/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/multichain/utils/index.ts":{"bytes":12862,"imports":[{"path":"@metamask/utils","kind":"import-statement","external":true},{"path":"pako","kind":"import-statement","external":true},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/utils/analytics.ts":{"bytes":3213,"imports":[{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"."},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/domain/utils/index.ts":{"bytes":274,"imports":[{"path":"src/multichain/utils/analytics.ts","kind":"import-statement","original":"../../multichain/utils/analytics"}],"format":"esm"},"src/domain/index.ts":{"bytes":208,"imports":[{"path":"src/domain/errors/index.ts","kind":"import-statement","original":"./errors"},{"path":"src/domain/events/index.ts","kind":"import-statement","original":"./events"},{"path":"src/domain/logger/index.ts","kind":"import-statement","original":"./logger"},{"path":"src/domain/multichain/index.ts","kind":"import-statement","original":"./multichain"},{"path":"src/domain/platform/index.ts","kind":"import-statement","original":"./platform"},{"path":"src/domain/store/index.ts","kind":"import-statement","original":"./store"},{"path":"src/domain/ui/index.ts","kind":"import-statement","original":"./ui"},{"path":"src/domain/utils/index.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/config/index.ts":{"bytes":232,"imports":[],"format":"esm"},"src/multichain/rpc/handlers/rpcClient.ts":{"bytes":3662,"imports":[{"path":"cross-fetch","kind":"import-statement","external":true},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/rpc/requestRouter.ts":{"bytes":6765,"imports":[{"path":"@metamask/analytics","kind":"import-statement","external":true},{"path":"src/config/index.ts","kind":"import-statement","original":"../../config"},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../domain"},{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"../utils"},{"path":"src/multichain/utils/analytics.ts","kind":"import-statement","original":"../utils/analytics"},{"path":"src/multichain/rpc/handlers/rpcClient.ts","kind":"import-statement","original":"./handlers/rpcClient"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/transports/default/index.ts":{"bytes":10072,"imports":[{"path":"@metamask/multichain-api-client","kind":"import-statement","external":true},{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"../../utils"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/transports/multichainApiClientWrapper/index.ts":{"bytes":5765,"imports":[{"path":"@metamask/rpc-errors","kind":"import-statement","external":true},{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"../../utils"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/transports/constants.ts":{"bytes":145,"imports":[],"format":"esm"},"src/multichain/transports/mwp/index.ts":{"bytes":28594,"imports":[{"path":"@metamask/mobile-wallet-protocol-core","kind":"import-statement","external":true},{"path":"@metamask/multichain-api-client","kind":"import-statement","external":true},{"path":"@metamask/rpc-errors","kind":"import-statement","external":true},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../../domain"},{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"../../utils"},{"path":"src/multichain/transports/constants.ts","kind":"import-statement","original":"../constants"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/transports/mwp/KeyManager.ts":{"bytes":1212,"imports":[{"path":"eciesjs","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/index.ts":{"bytes":32386,"imports":[{"path":"@metamask/analytics","kind":"import-statement","external":true},{"path":"@metamask/mobile-wallet-protocol-core","kind":"import-statement","external":true},{"path":"@metamask/mobile-wallet-protocol-dapp-client","kind":"import-statement","external":true},{"path":"@metamask/multichain-api-client","kind":"import-statement","external":true},{"path":"src/config/index.ts","kind":"import-statement","original":"../config"},{"path":"src/domain/index.ts","kind":"import-statement","original":"../domain"},{"path":"src/multichain/utils/analytics.ts","kind":"import-statement","original":"./utils/analytics"},{"path":"src/domain/logger/index.ts","kind":"import-statement","original":"../domain/logger"},{"path":"src/domain/multichain/index.ts","kind":"import-statement","original":"../domain/multichain"},{"path":"src/domain/platform/index.ts","kind":"import-statement","original":"../domain/platform"},{"path":"src/multichain/rpc/handlers/rpcClient.ts","kind":"import-statement","original":"./rpc/handlers/rpcClient"},{"path":"src/multichain/rpc/requestRouter.ts","kind":"import-statement","original":"./rpc/requestRouter"},{"path":"src/multichain/transports/default/index.ts","kind":"import-statement","original":"./transports/default"},{"path":"src/multichain/transports/multichainApiClientWrapper/index.ts","kind":"import-statement","original":"./transports/multichainApiClientWrapper"},{"path":"src/multichain/transports/mwp/index.ts","kind":"import-statement","original":"./transports/mwp"},{"path":"src/multichain/transports/mwp/KeyManager.ts","kind":"import-statement","original":"./transports/mwp/KeyManager"},{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"./utils"},{"path":"src/domain/multichain/api/infura.ts","kind":"import-statement","original":"../domain/multichain/api/infura"},{"path":"ws","kind":"dynamic-import","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/domain/errors/storage.ts":{"bytes":1351,"imports":[{"path":"src/domain/errors/base.ts","kind":"import-statement","original":"./base"}],"format":"esm"},"src/store/index.ts":{"bytes":3341,"imports":[{"path":"uuid","kind":"import-statement","external":true},{"path":"src/domain/errors/storage.ts","kind":"import-statement","original":"../domain/errors/storage"},{"path":"src/domain/multichain/index.ts","kind":"import-statement","original":"../domain/multichain"},{"path":"src/domain/store/client.ts","kind":"import-statement","original":"../domain/store/client"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/ui/ModalFactory.ts":{"bytes":6429,"imports":[{"path":"@metamask/onboarding","kind":"import-statement","external":true},{"path":"src/config/index.ts","kind":"import-statement","original":"../config"},{"path":"src/domain/index.ts","kind":"import-statement","original":"../domain"},{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"../multichain/utils"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/ui/index.ts":{"bytes":1000,"imports":[{"path":"src/ui/ModalFactory.ts","kind":"import-statement","original":"./ModalFactory"},{"path":"@metamask/multichain-ui/loader","kind":"dynamic-import","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/ui/modals/base/utils.ts":{"bytes":1303,"imports":[],"format":"esm"},"src/ui/modals/base/AbstractInstallModal.ts":{"bytes":3582,"imports":[{"path":"src/ui/modals/base/utils.ts","kind":"import-statement","original":"./utils"},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/ui/modals/node/install.ts":{"bytes":1866,"imports":[{"path":"@paulmillr/qr","kind":"import-statement","external":true},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../../domain"},{"path":"src/ui/modals/base/AbstractInstallModal.ts","kind":"import-statement","original":"../base/AbstractInstallModal"},{"path":"src/ui/modals/base/utils.ts","kind":"import-statement","original":"../base/utils"}],"format":"esm"},"src/ui/modals/base/AbstractOTPModal.ts":{"bytes":451,"imports":[{"path":"src/domain/index.ts","kind":"import-statement","original":"../../../domain"}],"format":"esm"},"src/ui/modals/node/otp.ts":{"bytes":395,"imports":[{"path":"src/ui/modals/base/AbstractOTPModal.ts","kind":"import-statement","original":"../base/AbstractOTPModal"}],"format":"esm"},"src/ui/modals/node/index.ts":{"bytes":80,"imports":[{"path":"src/ui/modals/node/install.ts","kind":"import-statement","original":"./install"},{"path":"src/ui/modals/node/otp.ts","kind":"import-statement","original":"./otp"}],"format":"esm"},"src/store/adapters/node.ts":{"bytes":458,"imports":[{"path":"src/domain/index.ts","kind":"import-statement","original":"../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/index.node.ts":{"bytes":888,"imports":[{"path":"src/domain/index.ts","kind":"import-statement","original":"./domain"},{"path":"src/multichain/index.ts","kind":"import-statement","original":"./multichain"},{"path":"src/store/index.ts","kind":"import-statement","original":"./store"},{"path":"src/ui/index.ts","kind":"import-statement","original":"./ui"},{"path":"src/domain/index.ts","kind":"import-statement","original":"./domain"},{"path":"src/ui/modals/node/index.ts","kind":"dynamic-import","original":"./ui/modals/node"},{"path":"src/store/adapters/node.ts","kind":"dynamic-import","original":"./store/adapters/node"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/node/cjs/connect-multichain.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":222569},"dist/node/cjs/connect-multichain.js":{"imports":[{"path":"eventemitter3","kind":"require-call","external":true},{"path":"debug","kind":"require-call","external":true},{"path":"bowser","kind":"require-call","external":true},{"path":"@metamask/utils","kind":"require-call","external":true},{"path":"pako","kind":"require-call","external":true},{"path":"@paulmillr/qr","kind":"require-call","external":true},{"path":"@metamask/analytics","kind":"require-call","external":true},{"path":"@metamask/mobile-wallet-protocol-core","kind":"require-call","external":true},{"path":"@metamask/mobile-wallet-protocol-dapp-client","kind":"require-call","external":true},{"path":"@metamask/multichain-api-client","kind":"require-call","external":true},{"path":"cross-fetch","kind":"require-call","external":true},{"path":"@metamask/analytics","kind":"require-call","external":true},{"path":"@metamask/multichain-api-client","kind":"require-call","external":true},{"path":"@metamask/rpc-errors","kind":"require-call","external":true},{"path":"@metamask/mobile-wallet-protocol-core","kind":"require-call","external":true},{"path":"@metamask/multichain-api-client","kind":"require-call","external":true},{"path":"@metamask/rpc-errors","kind":"require-call","external":true},{"path":"eciesjs","kind":"require-call","external":true},{"path":"ws","kind":"dynamic-import","external":true},{"path":"uuid","kind":"require-call","external":true},{"path":"@metamask/onboarding","kind":"require-call","external":true},{"path":"@metamask/multichain-ui/loader","kind":"dynamic-import","external":true}],"exports":[],"entryPoint":"src/index.node.ts","inputs":{"src/domain/errors/base.ts":{"bytesInOutput":265},"src/domain/errors/rpc.ts":{"bytesInOutput":1861},"src/domain/errors/index.ts":{"bytesInOutput":103},"src/domain/events/index.ts":{"bytesInOutput":3344},"src/domain/logger/index.ts":{"bytesInOutput":1128},"src/domain/multichain/api/constants.ts":{"bytesInOutput":3681},"src/domain/multichain/api/infura.ts":{"bytesInOutput":338},"src/domain/multichain/index.ts":{"bytesInOutput":2727},"src/domain/platform/index.ts":{"bytesInOutput":3842},"src/domain/store/adapter.ts":{"bytesInOutput":210},"src/domain/store/client.ts":{"bytesInOutput":137},"src/domain/store/index.ts":{"bytesInOutput":124},"src/domain/ui/types.ts":{"bytesInOutput":994},"src/domain/ui/index.ts":{"bytesInOutput":97},"src/multichain/utils/index.ts":{"bytesInOutput":8406},"src/multichain/utils/analytics.ts":{"bytesInOutput":1923},"src/domain/utils/index.ts":{"bytesInOutput":152},"src/domain/index.ts":{"bytesInOutput":233},"src/ui/modals/base/utils.ts":{"bytesInOutput":640},"src/ui/modals/base/AbstractInstallModal.ts":{"bytesInOutput":3328},"src/ui/modals/node/install.ts":{"bytesInOutput":1763},"src/ui/modals/base/AbstractOTPModal.ts":{"bytesInOutput":470},"src/ui/modals/node/otp.ts":{"bytesInOutput":243},"src/ui/modals/node/index.ts":{"bytesInOutput":245},"src/store/adapters/node.ts":{"bytesInOutput":962},"src/index.node.ts":{"bytesInOutput":2031},"src/multichain/index.ts":{"bytesInOutput":31782},"src/config/index.ts":{"bytesInOutput":202},"src/multichain/rpc/handlers/rpcClient.ts":{"bytesInOutput":3029},"src/multichain/rpc/requestRouter.ts":{"bytesInOutput":5865},"src/multichain/transports/default/index.ts":{"bytesInOutput":9855},"src/multichain/transports/multichainApiClientWrapper/index.ts":{"bytesInOutput":5736},"src/multichain/transports/mwp/index.ts":{"bytesInOutput":23914},"src/multichain/transports/constants.ts":{"bytesInOutput":70},"src/multichain/transports/mwp/KeyManager.ts":{"bytesInOutput":932},"src/store/index.ts":{"bytesInOutput":3365},"src/domain/errors/storage.ts":{"bytesInOutput":1201},"src/ui/ModalFactory.ts":{"bytesInOutput":5218},"src/ui/index.ts":{"bytesInOutput":510}},"bytes":136635}}}
1
+ {"inputs":{"src/domain/errors/base.ts":{"bytes":387,"imports":[],"format":"esm"},"src/domain/errors/rpc.ts":{"bytes":1371,"imports":[{"path":"src/domain/errors/base.ts","kind":"import-statement","original":"./base"}],"format":"esm"},"src/domain/errors/index.ts":{"bytes":53,"imports":[{"path":"src/domain/errors/rpc.ts","kind":"import-statement","original":"./rpc"}],"format":"esm"},"src/domain/events/index.ts":{"bytes":4099,"imports":[{"path":"eventemitter3","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/domain/logger/index.ts":{"bytes":3283,"imports":[{"path":"debug","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/domain/multichain/api/constants.ts":{"bytes":3314,"imports":[],"format":"esm"},"src/domain/multichain/api/infura.ts":{"bytes":419,"imports":[{"path":"src/domain/multichain/api/constants.ts","kind":"import-statement","original":"./constants"}],"format":"esm"},"src/domain/multichain/index.ts":{"bytes":4045,"imports":[{"path":"src/domain/events/index.ts","kind":"import-statement","original":"../events"},{"path":"src/domain/multichain/api/constants.ts","kind":"import-statement","original":"./api/constants"},{"path":"src/domain/multichain/api/infura.ts","kind":"import-statement","original":"./api/infura"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/domain/platform/index.ts":{"bytes":3557,"imports":[{"path":"bowser","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/domain/store/adapter.ts":{"bytes":485,"imports":[],"format":"esm"},"src/domain/store/client.ts":{"bytes":711,"imports":[],"format":"esm"},"src/domain/store/index.ts":{"bytes":53,"imports":[{"path":"src/domain/store/adapter.ts","kind":"import-statement","original":"./adapter"},{"path":"src/domain/store/client.ts","kind":"import-statement","original":"./client"}],"format":"esm"},"src/domain/ui/types.ts":{"bytes":2306,"imports":[],"format":"esm"},"src/domain/ui/index.ts":{"bytes":57,"imports":[{"path":"src/domain/ui/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/multichain/utils/index.ts":{"bytes":14504,"imports":[{"path":"@metamask/utils","kind":"import-statement","external":true},{"path":"pako","kind":"import-statement","external":true},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/utils/analytics.ts":{"bytes":3213,"imports":[{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"."},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/domain/utils/index.ts":{"bytes":274,"imports":[{"path":"src/multichain/utils/analytics.ts","kind":"import-statement","original":"../../multichain/utils/analytics"}],"format":"esm"},"src/domain/index.ts":{"bytes":208,"imports":[{"path":"src/domain/errors/index.ts","kind":"import-statement","original":"./errors"},{"path":"src/domain/events/index.ts","kind":"import-statement","original":"./events"},{"path":"src/domain/logger/index.ts","kind":"import-statement","original":"./logger"},{"path":"src/domain/multichain/index.ts","kind":"import-statement","original":"./multichain"},{"path":"src/domain/platform/index.ts","kind":"import-statement","original":"./platform"},{"path":"src/domain/store/index.ts","kind":"import-statement","original":"./store"},{"path":"src/domain/ui/index.ts","kind":"import-statement","original":"./ui"},{"path":"src/domain/utils/index.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/config/index.ts":{"bytes":232,"imports":[],"format":"esm"},"src/multichain/rpc/handlers/rpcClient.ts":{"bytes":3662,"imports":[{"path":"cross-fetch","kind":"import-statement","external":true},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/rpc/requestRouter.ts":{"bytes":6765,"imports":[{"path":"@metamask/analytics","kind":"import-statement","external":true},{"path":"src/config/index.ts","kind":"import-statement","original":"../../config"},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../domain"},{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"../utils"},{"path":"src/multichain/utils/analytics.ts","kind":"import-statement","original":"../utils/analytics"},{"path":"src/multichain/rpc/handlers/rpcClient.ts","kind":"import-statement","original":"./handlers/rpcClient"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/transports/default/index.ts":{"bytes":9560,"imports":[{"path":"@metamask/multichain-api-client","kind":"import-statement","external":true},{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"../../utils"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/transports/multichainApiClientWrapper/index.ts":{"bytes":5710,"imports":[{"path":"@metamask/rpc-errors","kind":"import-statement","external":true},{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"../../utils"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/transports/constants.ts":{"bytes":145,"imports":[],"format":"esm"},"src/multichain/transports/mwp/index.ts":{"bytes":28913,"imports":[{"path":"@metamask/mobile-wallet-protocol-core","kind":"import-statement","external":true},{"path":"@metamask/multichain-api-client","kind":"import-statement","external":true},{"path":"@metamask/rpc-errors","kind":"import-statement","external":true},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../../domain"},{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"../../utils"},{"path":"src/multichain/transports/constants.ts","kind":"import-statement","original":"../constants"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/transports/mwp/KeyManager.ts":{"bytes":1328,"imports":[{"path":"eciesjs","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/multichain/index.ts":{"bytes":34194,"imports":[{"path":"@metamask/analytics","kind":"import-statement","external":true},{"path":"@metamask/mobile-wallet-protocol-core","kind":"import-statement","external":true},{"path":"@metamask/mobile-wallet-protocol-dapp-client","kind":"import-statement","external":true},{"path":"@metamask/multichain-api-client","kind":"import-statement","external":true},{"path":"src/config/index.ts","kind":"import-statement","original":"../config"},{"path":"src/domain/index.ts","kind":"import-statement","original":"../domain"},{"path":"src/multichain/utils/analytics.ts","kind":"import-statement","original":"./utils/analytics"},{"path":"src/domain/logger/index.ts","kind":"import-statement","original":"../domain/logger"},{"path":"src/domain/multichain/index.ts","kind":"import-statement","original":"../domain/multichain"},{"path":"src/domain/platform/index.ts","kind":"import-statement","original":"../domain/platform"},{"path":"src/multichain/rpc/handlers/rpcClient.ts","kind":"import-statement","original":"./rpc/handlers/rpcClient"},{"path":"src/multichain/rpc/requestRouter.ts","kind":"import-statement","original":"./rpc/requestRouter"},{"path":"src/multichain/transports/default/index.ts","kind":"import-statement","original":"./transports/default"},{"path":"src/multichain/transports/multichainApiClientWrapper/index.ts","kind":"import-statement","original":"./transports/multichainApiClientWrapper"},{"path":"src/multichain/transports/mwp/index.ts","kind":"import-statement","original":"./transports/mwp"},{"path":"src/multichain/transports/mwp/KeyManager.ts","kind":"import-statement","original":"./transports/mwp/KeyManager"},{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"./utils"},{"path":"src/domain/multichain/api/infura.ts","kind":"import-statement","original":"../domain/multichain/api/infura"},{"path":"ws","kind":"dynamic-import","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/domain/errors/storage.ts":{"bytes":1351,"imports":[{"path":"src/domain/errors/base.ts","kind":"import-statement","original":"./base"}],"format":"esm"},"src/store/index.ts":{"bytes":3341,"imports":[{"path":"uuid","kind":"import-statement","external":true},{"path":"src/domain/errors/storage.ts","kind":"import-statement","original":"../domain/errors/storage"},{"path":"src/domain/multichain/index.ts","kind":"import-statement","original":"../domain/multichain"},{"path":"src/domain/store/client.ts","kind":"import-statement","original":"../domain/store/client"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/ui/ModalFactory.ts":{"bytes":6429,"imports":[{"path":"@metamask/onboarding","kind":"import-statement","external":true},{"path":"src/config/index.ts","kind":"import-statement","original":"../config"},{"path":"src/domain/index.ts","kind":"import-statement","original":"../domain"},{"path":"src/multichain/utils/index.ts","kind":"import-statement","original":"../multichain/utils"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/ui/index.ts":{"bytes":1000,"imports":[{"path":"src/ui/ModalFactory.ts","kind":"import-statement","original":"./ModalFactory"},{"path":"@metamask/multichain-ui/loader","kind":"dynamic-import","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/ui/modals/base/utils.ts":{"bytes":1303,"imports":[],"format":"esm"},"src/ui/modals/base/AbstractInstallModal.ts":{"bytes":3582,"imports":[{"path":"src/ui/modals/base/utils.ts","kind":"import-statement","original":"./utils"},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/ui/modals/node/install.ts":{"bytes":1866,"imports":[{"path":"@paulmillr/qr","kind":"import-statement","external":true},{"path":"src/domain/index.ts","kind":"import-statement","original":"../../../domain"},{"path":"src/ui/modals/base/AbstractInstallModal.ts","kind":"import-statement","original":"../base/AbstractInstallModal"},{"path":"src/ui/modals/base/utils.ts","kind":"import-statement","original":"../base/utils"}],"format":"esm"},"src/ui/modals/base/AbstractOTPModal.ts":{"bytes":451,"imports":[{"path":"src/domain/index.ts","kind":"import-statement","original":"../../../domain"}],"format":"esm"},"src/ui/modals/node/otp.ts":{"bytes":395,"imports":[{"path":"src/ui/modals/base/AbstractOTPModal.ts","kind":"import-statement","original":"../base/AbstractOTPModal"}],"format":"esm"},"src/ui/modals/node/index.ts":{"bytes":80,"imports":[{"path":"src/ui/modals/node/install.ts","kind":"import-statement","original":"./install"},{"path":"src/ui/modals/node/otp.ts","kind":"import-statement","original":"./otp"}],"format":"esm"},"src/store/adapters/node.ts":{"bytes":458,"imports":[{"path":"src/domain/index.ts","kind":"import-statement","original":"../../domain"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/index.node.ts":{"bytes":888,"imports":[{"path":"src/domain/index.ts","kind":"import-statement","original":"./domain"},{"path":"src/multichain/index.ts","kind":"import-statement","original":"./multichain"},{"path":"src/store/index.ts","kind":"import-statement","original":"./store"},{"path":"src/ui/index.ts","kind":"import-statement","original":"./ui"},{"path":"src/domain/index.ts","kind":"import-statement","original":"./domain"},{"path":"src/ui/modals/node/index.ts","kind":"dynamic-import","original":"./ui/modals/node"},{"path":"src/store/adapters/node.ts","kind":"dynamic-import","original":"./store/adapters/node"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/node/cjs/connect-multichain.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":227596},"dist/node/cjs/connect-multichain.js":{"imports":[{"path":"eventemitter3","kind":"require-call","external":true},{"path":"debug","kind":"require-call","external":true},{"path":"bowser","kind":"require-call","external":true},{"path":"@metamask/utils","kind":"require-call","external":true},{"path":"pako","kind":"require-call","external":true},{"path":"@paulmillr/qr","kind":"require-call","external":true},{"path":"@metamask/analytics","kind":"require-call","external":true},{"path":"@metamask/mobile-wallet-protocol-core","kind":"require-call","external":true},{"path":"@metamask/mobile-wallet-protocol-dapp-client","kind":"require-call","external":true},{"path":"@metamask/multichain-api-client","kind":"require-call","external":true},{"path":"cross-fetch","kind":"require-call","external":true},{"path":"@metamask/analytics","kind":"require-call","external":true},{"path":"@metamask/multichain-api-client","kind":"require-call","external":true},{"path":"@metamask/rpc-errors","kind":"require-call","external":true},{"path":"@metamask/mobile-wallet-protocol-core","kind":"require-call","external":true},{"path":"@metamask/multichain-api-client","kind":"require-call","external":true},{"path":"@metamask/rpc-errors","kind":"require-call","external":true},{"path":"eciesjs","kind":"require-call","external":true},{"path":"ws","kind":"dynamic-import","external":true},{"path":"uuid","kind":"require-call","external":true},{"path":"@metamask/onboarding","kind":"require-call","external":true},{"path":"@metamask/multichain-ui/loader","kind":"dynamic-import","external":true}],"exports":[],"entryPoint":"src/index.node.ts","inputs":{"src/domain/errors/base.ts":{"bytesInOutput":265},"src/domain/errors/rpc.ts":{"bytesInOutput":1861},"src/domain/errors/index.ts":{"bytesInOutput":103},"src/domain/events/index.ts":{"bytesInOutput":3344},"src/domain/logger/index.ts":{"bytesInOutput":1128},"src/domain/multichain/api/constants.ts":{"bytesInOutput":3681},"src/domain/multichain/api/infura.ts":{"bytesInOutput":338},"src/domain/multichain/index.ts":{"bytesInOutput":2727},"src/domain/platform/index.ts":{"bytesInOutput":3842},"src/domain/store/adapter.ts":{"bytesInOutput":210},"src/domain/store/client.ts":{"bytesInOutput":137},"src/domain/store/index.ts":{"bytesInOutput":124},"src/domain/ui/types.ts":{"bytesInOutput":994},"src/domain/ui/index.ts":{"bytesInOutput":97},"src/multichain/utils/index.ts":{"bytesInOutput":9403},"src/multichain/utils/analytics.ts":{"bytesInOutput":1923},"src/domain/utils/index.ts":{"bytesInOutput":152},"src/domain/index.ts":{"bytesInOutput":233},"src/ui/modals/base/utils.ts":{"bytesInOutput":640},"src/ui/modals/base/AbstractInstallModal.ts":{"bytesInOutput":3328},"src/ui/modals/node/install.ts":{"bytesInOutput":1763},"src/ui/modals/base/AbstractOTPModal.ts":{"bytesInOutput":470},"src/ui/modals/node/otp.ts":{"bytesInOutput":243},"src/ui/modals/node/index.ts":{"bytesInOutput":245},"src/store/adapters/node.ts":{"bytesInOutput":962},"src/index.node.ts":{"bytesInOutput":2031},"src/multichain/index.ts":{"bytesInOutput":33154},"src/config/index.ts":{"bytesInOutput":202},"src/multichain/rpc/handlers/rpcClient.ts":{"bytesInOutput":3029},"src/multichain/rpc/requestRouter.ts":{"bytesInOutput":5865},"src/multichain/transports/default/index.ts":{"bytesInOutput":9774},"src/multichain/transports/multichainApiClientWrapper/index.ts":{"bytesInOutput":5676},"src/multichain/transports/mwp/index.ts":{"bytesInOutput":24220},"src/multichain/transports/constants.ts":{"bytesInOutput":70},"src/multichain/transports/mwp/KeyManager.ts":{"bytesInOutput":1033},"src/store/index.ts":{"bytesInOutput":3365},"src/domain/errors/storage.ts":{"bytesInOutput":1201},"src/ui/ModalFactory.ts":{"bytesInOutput":5218},"src/ui/index.ts":{"bytesInOutput":510}},"bytes":139270}}}
@@ -369,6 +369,8 @@ declare function hasExtension(): Promise<boolean>;
369
369
  type DappSettings = {
370
370
  name: string;
371
371
  url?: string;
372
+ /** The original non-http(s) URL before normalization on React Native platforms */
373
+ nativeScheme?: string;
372
374
  } & ({
373
375
  iconUrl?: string;
374
376
  } | {
@@ -453,6 +455,7 @@ type MergeableMultichainOptions = Omit<MultichainOptions, 'dapp' | 'analytics' |
453
455
  */
454
456
  type CreateMultichainFN = (options: MultiChainFNOptions) => Promise<MultichainCore>;
455
457
  type ExtendedTransport = Omit<Transport, 'connect'> & {
458
+ init: () => Promise<void>;
456
459
  connect: (props?: {
457
460
  scopes: Scope[];
458
461
  caipAccountIds: CaipAccountId[];
@@ -700,6 +700,21 @@ function getOptionalScopes(scopes) {
700
700
  {}
701
701
  );
702
702
  }
703
+ function normalizeNativeUrl(url) {
704
+ var _a2;
705
+ const httpPattern = /^https?:\/\//u;
706
+ if (httpPattern.test(url)) {
707
+ return void 0;
708
+ }
709
+ const schemeMatch = url.match(/^([^:]*):\/\//u);
710
+ const rawScheme = (_a2 = schemeMatch == null ? void 0 : schemeMatch[1]) != null ? _a2 : url;
711
+ const sanitized = rawScheme.toLowerCase().replace(/[^a-z0-9-]/gu, "-").replace(/^-+|-+$/gu, "");
712
+ const subdomain = (sanitized || "unknown").slice(0, 63).replace(/-+$/u, "");
713
+ return {
714
+ url: `https://${subdomain}.rn.dapp.local`,
715
+ nativeScheme: url
716
+ };
717
+ }
703
718
  function setupDappMetadata(options) {
704
719
  var _a2, _b;
705
720
  const platform = getPlatformType();
@@ -715,6 +730,18 @@ function setupDappMetadata(options) {
715
730
  if (!((_b = options.dapp) == null ? void 0 : _b.url)) {
716
731
  throw new Error("You must provide dapp url");
717
732
  }
733
+ if (platform === "react-native" /* ReactNative */ && options.dapp.url) {
734
+ const normalized = normalizeNativeUrl(options.dapp.url);
735
+ if (normalized) {
736
+ console.info(
737
+ `Normalizing dapp URL for React Native: "${options.dapp.url}" -> "${normalized.url}"`
738
+ );
739
+ options.dapp = __spreadProps(__spreadValues({}, options.dapp), {
740
+ url: normalized.url,
741
+ nativeScheme: normalized.nativeScheme
742
+ });
743
+ }
744
+ }
718
745
  const BASE_64_ICON_MAX_LENGTH = 163400;
719
746
  const urlPattern = /^(http|https):\/\/[^\s]*$/u;
720
747
  if (options.dapp) {
@@ -1499,7 +1526,7 @@ import {
1499
1526
  getDefaultTransport
1500
1527
  } from "@metamask/multichain-api-client";
1501
1528
  var DEFAULT_REQUEST_TIMEOUT = 60 * 1e3;
1502
- var _notificationCallbacks, _transport, _defaultRequestOptions, _pendingRequests, _handleResponseListener, _handleNotificationListener, _DefaultTransport_instances, notifyCallbacks_fn, isMetamaskProviderEvent_fn, handleResponse_fn, handleNotification_fn, setupMessageListener_fn;
1529
+ var _notificationCallbacks, _transport, _defaultRequestOptions, _pendingRequests, _handleResponseListener, _handleNotificationListener, _DefaultTransport_instances, notifyCallbacks_fn, isMetamaskProviderEvent_fn, handleResponse_fn, handleNotification_fn, setupMessageListener_fn, init_fn;
1503
1530
  var DefaultTransport = class {
1504
1531
  constructor() {
1505
1532
  __privateAdd(this, _DefaultTransport_instances);
@@ -1547,11 +1574,31 @@ var DefaultTransport = class {
1547
1574
  });
1548
1575
  });
1549
1576
  }
1577
+ init() {
1578
+ return __async(this, null, function* () {
1579
+ yield __privateMethod(this, _DefaultTransport_instances, init_fn).call(this);
1580
+ let walletSession = { sessionScopes: {} };
1581
+ try {
1582
+ const sessionRequest = yield this.request(
1583
+ { method: "wallet_getSession" },
1584
+ __privateGet(this, _defaultRequestOptions)
1585
+ );
1586
+ walletSession = sessionRequest.result;
1587
+ } catch (e) {
1588
+ console.error(
1589
+ "Failed to get wallet session during DefaultTransport init"
1590
+ );
1591
+ }
1592
+ __privateMethod(this, _DefaultTransport_instances, notifyCallbacks_fn).call(this, {
1593
+ method: "wallet_sessionChanged",
1594
+ params: walletSession
1595
+ });
1596
+ });
1597
+ }
1550
1598
  connect(options) {
1551
1599
  return __async(this, null, function* () {
1552
1600
  var _a2, _b, _c, _d, _e;
1553
- __privateMethod(this, _DefaultTransport_instances, setupMessageListener_fn).call(this);
1554
- yield __privateGet(this, _transport).connect();
1601
+ yield __privateMethod(this, _DefaultTransport_instances, init_fn).call(this);
1555
1602
  const sessionRequest = yield this.request(
1556
1603
  { method: "wallet_getSession" },
1557
1604
  __privateGet(this, _defaultRequestOptions)
@@ -1608,26 +1655,6 @@ var DefaultTransport = class {
1608
1655
  disconnect() {
1609
1656
  return __async(this, arguments, function* (scopes = []) {
1610
1657
  yield this.request({ method: "wallet_revokeSession", params: { scopes } });
1611
- const response = yield this.request({ method: "wallet_getSession" });
1612
- const { sessionScopes } = response.result;
1613
- if (Object.keys(sessionScopes).length > 0) {
1614
- return;
1615
- }
1616
- __privateGet(this, _notificationCallbacks).clear();
1617
- if (__privateGet(this, _handleResponseListener)) {
1618
- window.removeEventListener("message", __privateGet(this, _handleResponseListener));
1619
- __privateSet(this, _handleResponseListener, void 0);
1620
- }
1621
- if (__privateGet(this, _handleNotificationListener)) {
1622
- window.removeEventListener("message", __privateGet(this, _handleNotificationListener));
1623
- __privateSet(this, _handleNotificationListener, void 0);
1624
- }
1625
- for (const [, request] of __privateGet(this, _pendingRequests)) {
1626
- clearTimeout(request.timeout);
1627
- request.reject(new Error("Transport disconnected"));
1628
- }
1629
- __privateGet(this, _pendingRequests).clear();
1630
- yield __privateGet(this, _transport).disconnect();
1631
1658
  });
1632
1659
  }
1633
1660
  isConnected() {
@@ -1716,7 +1743,7 @@ handleNotification_fn = function(event) {
1716
1743
  return;
1717
1744
  }
1718
1745
  const responseData = (_b = (_a2 = event == null ? void 0 : event.data) == null ? void 0 : _a2.data) == null ? void 0 : _b.data;
1719
- if (typeof responseData === "object" && responseData.method === "metamask_chainChanged" || responseData.method === "metamask_accountsChanged") {
1746
+ if (typeof responseData === "object" && responseData !== null && (responseData.method === "metamask_chainChanged" || responseData.method === "metamask_accountsChanged")) {
1720
1747
  __privateMethod(this, _DefaultTransport_instances, notifyCallbacks_fn).call(this, responseData);
1721
1748
  }
1722
1749
  };
@@ -1729,6 +1756,12 @@ setupMessageListener_fn = function() {
1729
1756
  window.addEventListener("message", __privateGet(this, _handleResponseListener));
1730
1757
  window.addEventListener("message", __privateGet(this, _handleNotificationListener));
1731
1758
  };
1759
+ init_fn = function() {
1760
+ return __async(this, null, function* () {
1761
+ __privateMethod(this, _DefaultTransport_instances, setupMessageListener_fn).call(this);
1762
+ yield __privateGet(this, _transport).connect();
1763
+ });
1764
+ };
1732
1765
 
1733
1766
  // src/multichain/transports/multichainApiClientWrapper/index.ts
1734
1767
  init_utils();
@@ -1816,7 +1849,6 @@ _notificationCallbacks2 = new WeakMap();
1816
1849
  _MultichainApiClientWrapperTransport_instances = new WeakSet();
1817
1850
  walletCreateSession_fn = function(request) {
1818
1851
  return __async(this, null, function* () {
1819
- console.log("\u{1F4DA} #walletCreateSession", request);
1820
1852
  const createSessionParams = request.params;
1821
1853
  const scopes = Object.keys(__spreadValues(__spreadValues({}, createSessionParams.optionalScopes), createSessionParams.requiredScopes));
1822
1854
  const scopeAccounts = [];
@@ -1897,7 +1929,7 @@ import { SessionStore } from "@metamask/mobile-wallet-protocol-core";
1897
1929
  import {
1898
1930
  TransportTimeoutError
1899
1931
  } from "@metamask/multichain-api-client";
1900
- import { providerErrors as providerErrors2, rpcErrors } from "@metamask/rpc-errors";
1932
+ import { JsonRpcError, providerErrors as providerErrors2, rpcErrors } from "@metamask/rpc-errors";
1901
1933
 
1902
1934
  // src/multichain/transports/constants.ts
1903
1935
  var MULTICHAIN_PROVIDER_STREAM_NAME = "metamask-multichain-provider";
@@ -2000,10 +2032,11 @@ var MWPTransport = class {
2000
2032
  parseWalletError(errorPayload) {
2001
2033
  const errorData = errorPayload;
2002
2034
  if (typeof errorData.code === "number" && typeof errorData.message === "string") {
2003
- return providerErrors2.custom({
2004
- code: errorData.code,
2005
- message: errorData.message
2006
- });
2035
+ const { code, message: message2 } = errorData;
2036
+ if (code >= 1e3 && code <= 4999) {
2037
+ return providerErrors2.custom({ code, message: message2 });
2038
+ }
2039
+ return new JsonRpcError(code, message2);
2007
2040
  }
2008
2041
  const message = errorPayload instanceof Error ? errorPayload.message : JSON.stringify(errorPayload);
2009
2042
  return rpcErrors.internal({ message });
@@ -2128,6 +2161,10 @@ var MWPTransport = class {
2128
2161
  }
2129
2162
  });
2130
2163
  }
2164
+ init() {
2165
+ return __async(this, null, function* () {
2166
+ });
2167
+ }
2131
2168
  // TODO: Rename this
2132
2169
  sendEip1193Message(payload, options) {
2133
2170
  return __async(this, null, function* () {
@@ -2167,7 +2204,11 @@ var MWPTransport = class {
2167
2204
  const { dappClient } = this;
2168
2205
  const session = yield this.getActiveSession();
2169
2206
  if (session) {
2170
- logger("active session found", session);
2207
+ logger("active session found", {
2208
+ id: session.id,
2209
+ channel: session.channel,
2210
+ expiresAt: session.expiresAt
2211
+ });
2171
2212
  }
2172
2213
  const storedSessionRequestBeforeConnectionAttempt = yield this.getStoredPendingSessionRequest();
2173
2214
  let timeout;
@@ -2476,7 +2517,7 @@ var MWPTransport = class {
2476
2517
  getActiveSession() {
2477
2518
  return __async(this, null, function* () {
2478
2519
  const { kvstore } = this;
2479
- const sessionStore = new SessionStore(kvstore);
2520
+ const sessionStore = yield SessionStore.create(kvstore);
2480
2521
  try {
2481
2522
  const [activeSession] = yield sessionStore.list();
2482
2523
  return activeSession;
@@ -2527,7 +2568,7 @@ var MWPTransport = class {
2527
2568
  };
2528
2569
 
2529
2570
  // src/multichain/transports/mwp/KeyManager.ts
2530
- import { decrypt, encrypt, PrivateKey } from "eciesjs";
2571
+ import { decrypt, encrypt, PrivateKey, PublicKey } from "eciesjs";
2531
2572
  var KeyManager = class {
2532
2573
  generateKeyPair() {
2533
2574
  const privateKey = new PrivateKey();
@@ -2550,6 +2591,9 @@ var KeyManager = class {
2550
2591
  return Buffer.from(decryptedBuffer).toString("utf8");
2551
2592
  });
2552
2593
  }
2594
+ validatePeerKey(key) {
2595
+ PublicKey.fromHex(Buffer.from(key).toString("hex"));
2596
+ }
2553
2597
  };
2554
2598
  var keymanager = new KeyManager();
2555
2599
 
@@ -2557,7 +2601,7 @@ var keymanager = new KeyManager();
2557
2601
  init_utils();
2558
2602
  var logger2 = createLogger("metamask-sdk:core");
2559
2603
  var SINGLETON_KEY = "__METAMASK_CONNECT_MULTICHAIN_SINGLETON__";
2560
- var _a, _provider, _providerTransportWrapper, _transport2, _dappClient, _beforeUnloadListener, _listener, _sdkInfo, _MetaMaskConnectMultichain_instances, setupAnalytics_fn, onTransportNotification_fn, getStoredTransport_fn, setupTransport_fn, init_fn, createDappClient_fn, setupMWP_fn, onBeforeUnload_fn, createBeforeUnloadListener_fn, renderInstallModalAsync_fn, showInstallModal_fn, headlessConnect_fn, setupDefaultTransport_fn, deeplinkConnect_fn, handleConnection_fn, getCaipSession_fn, openConnectDeeplinkIfNeeded_fn;
2604
+ var _a, _provider, _providerTransportWrapper, _transport2, _dappClient, _beforeUnloadListener, _listener, _sdkInfo, _MetaMaskConnectMultichain_instances, setupAnalytics_fn, onTransportNotification_fn, getStoredTransport_fn, setupTransport_fn, init_fn2, createDappClient_fn, setupMWP_fn, onBeforeUnload_fn, createBeforeUnloadListener_fn, renderInstallModalAsync_fn, showInstallModal_fn, headlessConnect_fn, setupDefaultTransport_fn, deeplinkConnect_fn, handleConnection_fn, getCaipSession_fn, openConnectDeeplinkIfNeeded_fn;
2561
2605
  var _MetaMaskConnectMultichain = class _MetaMaskConnectMultichain extends MultichainCore {
2562
2606
  constructor(options) {
2563
2607
  var _a2, _b, _c, _d, _e, _f;
@@ -2595,6 +2639,9 @@ var _MetaMaskConnectMultichain = class _MetaMaskConnectMultichain extends Multic
2595
2639
  }
2596
2640
  set status(value) {
2597
2641
  var _a2, _b;
2642
+ if (this._status === value) {
2643
+ return;
2644
+ }
2598
2645
  this._status = value;
2599
2646
  (_b = (_a2 = this.options.transport) == null ? void 0 : _a2.onNotification) == null ? void 0 : _b.call(_a2, {
2600
2647
  method: "stateChanged",
@@ -2650,7 +2697,7 @@ var _MetaMaskConnectMultichain = class _MetaMaskConnectMultichain extends Multic
2650
2697
  if (isEnabled2) {
2651
2698
  enableDebug("metamask-sdk:core");
2652
2699
  }
2653
- yield __privateMethod(_a2 = instance, _MetaMaskConnectMultichain_instances, init_fn).call(_a2);
2700
+ yield __privateMethod(_a2 = instance, _MetaMaskConnectMultichain_instances, init_fn2).call(_a2);
2654
2701
  return instance;
2655
2702
  }))();
2656
2703
  globalObject[SINGLETON_KEY] = instancePromise;
@@ -2760,14 +2807,16 @@ var _MetaMaskConnectMultichain = class _MetaMaskConnectMultichain extends Multic
2760
2807
  );
2761
2808
  yield (_a2 = __privateGet(this, _transport2)) == null ? void 0 : _a2.disconnect(scopes);
2762
2809
  if (remainingScopes.length === 0) {
2763
- yield (_b = __privateGet(this, _listener)) == null ? void 0 : _b.call(this);
2764
- (_c = __privateGet(this, _beforeUnloadListener)) == null ? void 0 : _c.call(this);
2765
2810
  yield this.storage.removeTransport();
2766
- __privateSet(this, _listener, void 0);
2767
- __privateSet(this, _beforeUnloadListener, void 0);
2768
- __privateSet(this, _transport2, void 0);
2769
- __privateGet(this, _providerTransportWrapper).clearTransportNotificationListener();
2770
- __privateSet(this, _dappClient, void 0);
2811
+ if (this.transportType !== "browser" /* Browser */) {
2812
+ yield (_b = __privateGet(this, _listener)) == null ? void 0 : _b.call(this);
2813
+ (_c = __privateGet(this, _beforeUnloadListener)) == null ? void 0 : _c.call(this);
2814
+ __privateSet(this, _listener, void 0);
2815
+ __privateSet(this, _beforeUnloadListener, void 0);
2816
+ __privateSet(this, _transport2, void 0);
2817
+ __privateGet(this, _providerTransportWrapper).clearTransportNotificationListener();
2818
+ __privateSet(this, _dappClient, void 0);
2819
+ }
2771
2820
  this.status = "disconnected";
2772
2821
  }
2773
2822
  });
@@ -2806,16 +2855,16 @@ var _MetaMaskConnectMultichain = class _MetaMaskConnectMultichain extends Multic
2806
2855
  // without having to concern themselves with the current transport connection status.
2807
2856
  emitSessionChanged() {
2808
2857
  return __async(this, null, function* () {
2809
- var _a2;
2858
+ var _a2, _b;
2810
2859
  const emptySession = { sessionScopes: {} };
2811
- if (this.status !== "connected" && this.status !== "connecting") {
2860
+ if (!((_a2 = __privateGet(this, _transport2)) == null ? void 0 : _a2.isConnected())) {
2812
2861
  this.emit("wallet_sessionChanged", emptySession);
2813
2862
  return;
2814
2863
  }
2815
2864
  const response = yield this.transport.request({
2816
2865
  method: "wallet_getSession"
2817
2866
  });
2818
- this.emit("wallet_sessionChanged", (_a2 = response.result) != null ? _a2 : emptySession);
2867
+ this.emit("wallet_sessionChanged", (_b = response.result) != null ? _b : emptySession);
2819
2868
  });
2820
2869
  }
2821
2870
  };
@@ -2852,9 +2901,17 @@ setupAnalytics_fn = function() {
2852
2901
  };
2853
2902
  onTransportNotification_fn = function(payload) {
2854
2903
  return __async(this, null, function* () {
2855
- var _a2;
2904
+ var _a2, _b, _c;
2856
2905
  if (typeof payload === "object" && payload !== null && "method" in payload) {
2857
- this.emit(payload.method, (_a2 = payload.params) != null ? _a2 : payload.result);
2906
+ if (payload.method === "wallet_sessionChanged") {
2907
+ const sessionScopes = (_b = (_a2 = payload.params) == null ? void 0 : _a2.sessionScopes) != null ? _b : {};
2908
+ const hasScopes = Object.keys(sessionScopes).length > 0;
2909
+ if (this.status === "loaded" && !hasScopes) {
2910
+ return;
2911
+ }
2912
+ this.status = hasScopes ? "connected" : "disconnected";
2913
+ }
2914
+ this.emit(payload.method, (_c = payload.params) != null ? _c : payload.result);
2858
2915
  }
2859
2916
  });
2860
2917
  };
@@ -2892,6 +2949,7 @@ getStoredTransport_fn = function() {
2892
2949
  };
2893
2950
  setupTransport_fn = function() {
2894
2951
  return __async(this, null, function* () {
2952
+ var _a2;
2895
2953
  const transport = yield __privateMethod(this, _MetaMaskConnectMultichain_instances, getStoredTransport_fn).call(this);
2896
2954
  if (transport) {
2897
2955
  if (!this.transport.isConnected()) {
@@ -2906,10 +2964,20 @@ setupTransport_fn = function() {
2906
2964
  }
2907
2965
  } else {
2908
2966
  this.status = "loaded";
2967
+ const hasExtensionInstalled = yield hasExtension();
2968
+ const preferExtension = (_a2 = this.options.ui.preferExtension) != null ? _a2 : true;
2969
+ if (hasExtensionInstalled && preferExtension) {
2970
+ yield __privateMethod(this, _MetaMaskConnectMultichain_instances, setupDefaultTransport_fn).call(this, { persist: false });
2971
+ try {
2972
+ yield this.transport.init();
2973
+ } catch (error) {
2974
+ console.error("Passive init failed:", error);
2975
+ }
2976
+ }
2909
2977
  }
2910
2978
  });
2911
2979
  };
2912
- init_fn = function() {
2980
+ init_fn2 = function() {
2913
2981
  return __async(this, null, function* () {
2914
2982
  try {
2915
2983
  yield __privateMethod(this, _MetaMaskConnectMultichain_instances, setupAnalytics_fn).call(this);
@@ -2933,7 +3001,7 @@ init_fn = function() {
2933
3001
  createDappClient_fn = function() {
2934
3002
  return __async(this, null, function* () {
2935
3003
  const { adapter: kvstore } = this.options.storage;
2936
- const sessionstore = new SessionStore2(kvstore);
3004
+ const sessionstore = yield SessionStore2.create(kvstore);
2937
3005
  const websocket = (
2938
3006
  // eslint-disable-next-line no-negated-condition
2939
3007
  typeof window !== "undefined" ? WebSocket : (yield import("ws")).WebSocket
@@ -3110,9 +3178,13 @@ headlessConnect_fn = function(scopes, caipAccountIds, sessionProperties) {
3110
3178
  });
3111
3179
  };
3112
3180
  setupDefaultTransport_fn = function() {
3113
- return __async(this, null, function* () {
3114
- this.status = "connecting";
3115
- yield this.storage.setTransport("browser" /* Browser */);
3181
+ return __async(this, arguments, function* (options = { persist: true }) {
3182
+ if (__privateGet(this, _transport2) instanceof DefaultTransport) {
3183
+ return __privateGet(this, _transport2);
3184
+ }
3185
+ if (options == null ? void 0 : options.persist) {
3186
+ yield this.storage.setTransport("browser" /* Browser */);
3187
+ }
3116
3188
  const transport = new DefaultTransport();
3117
3189
  __privateSet(this, _listener, transport.onNotification(
3118
3190
  __privateMethod(this, _MetaMaskConnectMultichain_instances, onTransportNotification_fn).bind(this)
@@ -3230,16 +3302,20 @@ handleConnection_fn = function(promise, scopes, transportType) {
3230
3302
  };
3231
3303
  getCaipSession_fn = function() {
3232
3304
  return __async(this, null, function* () {
3305
+ var _a2;
3233
3306
  let sessionData = {
3234
3307
  sessionScopes: {},
3235
3308
  sessionProperties: {}
3236
3309
  };
3237
- if (this.status === "connected") {
3238
- const response = yield this.transport.request({
3239
- method: "wallet_getSession"
3240
- });
3241
- if (response.result) {
3242
- sessionData = response.result;
3310
+ if ((_a2 = __privateGet(this, _transport2)) == null ? void 0 : _a2.isConnected()) {
3311
+ try {
3312
+ const response = yield this.transport.request({
3313
+ method: "wallet_getSession"
3314
+ });
3315
+ if (response.result) {
3316
+ sessionData = response.result;
3317
+ }
3318
+ } catch (e) {
3243
3319
  }
3244
3320
  }
3245
3321
  return sessionData;