@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/es/connect-multichain.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":222385},"dist/node/es/connect-multichain.mjs":{"imports":[{"path":"eventemitter3","kind":"import-statement","external":true},{"path":"debug","kind":"import-statement","external":true},{"path":"bowser","kind":"import-statement","external":true},{"path":"@metamask/utils","kind":"import-statement","external":true},{"path":"pako","kind":"import-statement","external":true},{"path":"@paulmillr/qr","kind":"import-statement","external":true},{"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":"cross-fetch","kind":"import-statement","external":true},{"path":"@metamask/analytics","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":"@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":"eciesjs","kind":"import-statement","external":true},{"path":"ws","kind":"dynamic-import","external":true},{"path":"uuid","kind":"import-statement","external":true},{"path":"@metamask/onboarding","kind":"import-statement","external":true},{"path":"@metamask/multichain-ui/loader","kind":"dynamic-import","external":true}],"exports":["EventEmitter","Modal","MultichainCore","PlatformType","RPCHttpErr","RPCInvokeMethodErr","RPCReadonlyRequestErr","RPCReadonlyResponseErr","RPC_HANDLED_METHODS","SDK_HANDLED_METHODS","StoreAdapter","StoreClient","TransportType","createLogger","createMultichainClient","enableDebug","getInfuraRpcUrls","getPlatformType","getTransportType","getVersion","getWalletActionAnalyticsProperties","hasExtension","infuraRpcUrls","isEnabled","isMetamaskExtensionInstalled","isRejectionError","isSecure"],"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":3312},"src/domain/logger/index.ts":{"bytesInOutput":1060},"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":3793},"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":8352},"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":1725},"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":773},"src/multichain/index.ts":{"bytesInOutput":31358},"src/config/index.ts":{"bytesInOutput":202},"src/multichain/rpc/handlers/rpcClient.ts":{"bytesInOutput":2978},"src/multichain/rpc/requestRouter.ts":{"bytesInOutput":5786},"src/multichain/transports/default/index.ts":{"bytesInOutput":9815},"src/multichain/transports/multichainApiClientWrapper/index.ts":{"bytesInOutput":5716},"src/multichain/transports/mwp/index.ts":{"bytesInOutput":23723},"src/multichain/transports/constants.ts":{"bytesInOutput":70},"src/multichain/transports/mwp/KeyManager.ts":{"bytesInOutput":892},"src/store/index.ts":{"bytesInOutput":3358},"src/domain/errors/storage.ts":{"bytesInOutput":1201},"src/ui/ModalFactory.ts":{"bytesInOutput":5200},"src/ui/index.ts":{"bytesInOutput":510}},"bytes":133061}}}
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/es/connect-multichain.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":227420},"dist/node/es/connect-multichain.mjs":{"imports":[{"path":"eventemitter3","kind":"import-statement","external":true},{"path":"debug","kind":"import-statement","external":true},{"path":"bowser","kind":"import-statement","external":true},{"path":"@metamask/utils","kind":"import-statement","external":true},{"path":"pako","kind":"import-statement","external":true},{"path":"@paulmillr/qr","kind":"import-statement","external":true},{"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":"cross-fetch","kind":"import-statement","external":true},{"path":"@metamask/analytics","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":"@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":"eciesjs","kind":"import-statement","external":true},{"path":"ws","kind":"dynamic-import","external":true},{"path":"uuid","kind":"import-statement","external":true},{"path":"@metamask/onboarding","kind":"import-statement","external":true},{"path":"@metamask/multichain-ui/loader","kind":"dynamic-import","external":true}],"exports":["EventEmitter","Modal","MultichainCore","PlatformType","RPCHttpErr","RPCInvokeMethodErr","RPCReadonlyRequestErr","RPCReadonlyResponseErr","RPC_HANDLED_METHODS","SDK_HANDLED_METHODS","StoreAdapter","StoreClient","TransportType","createLogger","createMultichainClient","enableDebug","getInfuraRpcUrls","getPlatformType","getTransportType","getVersion","getWalletActionAnalyticsProperties","hasExtension","infuraRpcUrls","isEnabled","isMetamaskExtensionInstalled","isRejectionError","isSecure"],"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":3312},"src/domain/logger/index.ts":{"bytesInOutput":1060},"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":3793},"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":9349},"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":1725},"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":773},"src/multichain/index.ts":{"bytesInOutput":32730},"src/config/index.ts":{"bytesInOutput":202},"src/multichain/rpc/handlers/rpcClient.ts":{"bytesInOutput":2978},"src/multichain/rpc/requestRouter.ts":{"bytesInOutput":5786},"src/multichain/transports/default/index.ts":{"bytesInOutput":9734},"src/multichain/transports/multichainApiClientWrapper/index.ts":{"bytesInOutput":5656},"src/multichain/transports/mwp/index.ts":{"bytesInOutput":24024},"src/multichain/transports/constants.ts":{"bytesInOutput":70},"src/multichain/transports/mwp/KeyManager.ts":{"bytesInOutput":989},"src/store/index.ts":{"bytesInOutput":3358},"src/domain/errors/storage.ts":{"bytesInOutput":1201},"src/ui/ModalFactory.ts":{"bytesInOutput":5200},"src/ui/index.ts":{"bytesInOutput":510}},"bytes":135687}}}
@@ -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[];
@@ -781,6 +781,21 @@ function getOptionalScopes(scopes) {
781
781
  {}
782
782
  );
783
783
  }
784
+ function normalizeNativeUrl(url) {
785
+ var _a3;
786
+ const httpPattern = /^https?:\/\//u;
787
+ if (httpPattern.test(url)) {
788
+ return void 0;
789
+ }
790
+ const schemeMatch = url.match(/^([^:]*):\/\//u);
791
+ const rawScheme = (_a3 = schemeMatch == null ? void 0 : schemeMatch[1]) != null ? _a3 : url;
792
+ const sanitized = rawScheme.toLowerCase().replace(/[^a-z0-9-]/gu, "-").replace(/^-+|-+$/gu, "");
793
+ const subdomain = (sanitized || "unknown").slice(0, 63).replace(/-+$/u, "");
794
+ return {
795
+ url: `https://${subdomain}.rn.dapp.local`,
796
+ nativeScheme: url
797
+ };
798
+ }
784
799
  function setupDappMetadata(options) {
785
800
  var _a3, _b;
786
801
  const platform = getPlatformType();
@@ -796,6 +811,18 @@ function setupDappMetadata(options) {
796
811
  if (!((_b = options.dapp) == null ? void 0 : _b.url)) {
797
812
  throw new Error("You must provide dapp url");
798
813
  }
814
+ if (platform === "react-native" /* ReactNative */ && options.dapp.url) {
815
+ const normalized = normalizeNativeUrl(options.dapp.url);
816
+ if (normalized) {
817
+ console.info(
818
+ `Normalizing dapp URL for React Native: "${options.dapp.url}" -> "${normalized.url}"`
819
+ );
820
+ options.dapp = __spreadProps(__spreadValues({}, options.dapp), {
821
+ url: normalized.url,
822
+ nativeScheme: normalized.nativeScheme
823
+ });
824
+ }
825
+ }
799
826
  const BASE_64_ICON_MAX_LENGTH = 163400;
800
827
  const urlPattern = /^(http|https):\/\/[^\s]*$/u;
801
828
  if (options.dapp) {
@@ -1469,7 +1496,7 @@ import {
1469
1496
  getDefaultTransport
1470
1497
  } from "@metamask/multichain-api-client";
1471
1498
  var DEFAULT_REQUEST_TIMEOUT = 60 * 1e3;
1472
- var _notificationCallbacks, _transport, _defaultRequestOptions, _pendingRequests, _handleResponseListener, _handleNotificationListener, _DefaultTransport_instances, notifyCallbacks_fn, isMetamaskProviderEvent_fn, handleResponse_fn, handleNotification_fn, setupMessageListener_fn;
1499
+ var _notificationCallbacks, _transport, _defaultRequestOptions, _pendingRequests, _handleResponseListener, _handleNotificationListener, _DefaultTransport_instances, notifyCallbacks_fn, isMetamaskProviderEvent_fn, handleResponse_fn, handleNotification_fn, setupMessageListener_fn, init_fn;
1473
1500
  var DefaultTransport = class {
1474
1501
  constructor() {
1475
1502
  __privateAdd(this, _DefaultTransport_instances);
@@ -1517,11 +1544,31 @@ var DefaultTransport = class {
1517
1544
  });
1518
1545
  });
1519
1546
  }
1547
+ init() {
1548
+ return __async(this, null, function* () {
1549
+ yield __privateMethod(this, _DefaultTransport_instances, init_fn).call(this);
1550
+ let walletSession = { sessionScopes: {} };
1551
+ try {
1552
+ const sessionRequest = yield this.request(
1553
+ { method: "wallet_getSession" },
1554
+ __privateGet(this, _defaultRequestOptions)
1555
+ );
1556
+ walletSession = sessionRequest.result;
1557
+ } catch (e) {
1558
+ console.error(
1559
+ "Failed to get wallet session during DefaultTransport init"
1560
+ );
1561
+ }
1562
+ __privateMethod(this, _DefaultTransport_instances, notifyCallbacks_fn).call(this, {
1563
+ method: "wallet_sessionChanged",
1564
+ params: walletSession
1565
+ });
1566
+ });
1567
+ }
1520
1568
  connect(options) {
1521
1569
  return __async(this, null, function* () {
1522
1570
  var _a3, _b, _c, _d, _e;
1523
- __privateMethod(this, _DefaultTransport_instances, setupMessageListener_fn).call(this);
1524
- yield __privateGet(this, _transport).connect();
1571
+ yield __privateMethod(this, _DefaultTransport_instances, init_fn).call(this);
1525
1572
  const sessionRequest = yield this.request(
1526
1573
  { method: "wallet_getSession" },
1527
1574
  __privateGet(this, _defaultRequestOptions)
@@ -1578,26 +1625,6 @@ var DefaultTransport = class {
1578
1625
  disconnect() {
1579
1626
  return __async(this, arguments, function* (scopes = []) {
1580
1627
  yield this.request({ method: "wallet_revokeSession", params: { scopes } });
1581
- const response = yield this.request({ method: "wallet_getSession" });
1582
- const { sessionScopes } = response.result;
1583
- if (Object.keys(sessionScopes).length > 0) {
1584
- return;
1585
- }
1586
- __privateGet(this, _notificationCallbacks).clear();
1587
- if (__privateGet(this, _handleResponseListener)) {
1588
- window.removeEventListener("message", __privateGet(this, _handleResponseListener));
1589
- __privateSet(this, _handleResponseListener, void 0);
1590
- }
1591
- if (__privateGet(this, _handleNotificationListener)) {
1592
- window.removeEventListener("message", __privateGet(this, _handleNotificationListener));
1593
- __privateSet(this, _handleNotificationListener, void 0);
1594
- }
1595
- for (const [, request] of __privateGet(this, _pendingRequests)) {
1596
- clearTimeout(request.timeout);
1597
- request.reject(new Error("Transport disconnected"));
1598
- }
1599
- __privateGet(this, _pendingRequests).clear();
1600
- yield __privateGet(this, _transport).disconnect();
1601
1628
  });
1602
1629
  }
1603
1630
  isConnected() {
@@ -1686,7 +1713,7 @@ handleNotification_fn = function(event) {
1686
1713
  return;
1687
1714
  }
1688
1715
  const responseData = (_b = (_a3 = event == null ? void 0 : event.data) == null ? void 0 : _a3.data) == null ? void 0 : _b.data;
1689
- if (typeof responseData === "object" && responseData.method === "metamask_chainChanged" || responseData.method === "metamask_accountsChanged") {
1716
+ if (typeof responseData === "object" && responseData !== null && (responseData.method === "metamask_chainChanged" || responseData.method === "metamask_accountsChanged")) {
1690
1717
  __privateMethod(this, _DefaultTransport_instances, notifyCallbacks_fn).call(this, responseData);
1691
1718
  }
1692
1719
  };
@@ -1699,6 +1726,12 @@ setupMessageListener_fn = function() {
1699
1726
  window.addEventListener("message", __privateGet(this, _handleResponseListener));
1700
1727
  window.addEventListener("message", __privateGet(this, _handleNotificationListener));
1701
1728
  };
1729
+ init_fn = function() {
1730
+ return __async(this, null, function* () {
1731
+ __privateMethod(this, _DefaultTransport_instances, setupMessageListener_fn).call(this);
1732
+ yield __privateGet(this, _transport).connect();
1733
+ });
1734
+ };
1702
1735
 
1703
1736
  // src/multichain/transports/multichainApiClientWrapper/index.ts
1704
1737
  init_utils2();
@@ -1786,7 +1819,6 @@ _notificationCallbacks2 = new WeakMap();
1786
1819
  _MultichainApiClientWrapperTransport_instances = new WeakSet();
1787
1820
  walletCreateSession_fn = function(request) {
1788
1821
  return __async(this, null, function* () {
1789
- console.log("\u{1F4DA} #walletCreateSession", request);
1790
1822
  const createSessionParams = request.params;
1791
1823
  const scopes = Object.keys(__spreadValues(__spreadValues({}, createSessionParams.optionalScopes), createSessionParams.requiredScopes));
1792
1824
  const scopeAccounts = [];
@@ -1867,7 +1899,7 @@ import { SessionStore } from "@metamask/mobile-wallet-protocol-core";
1867
1899
  import {
1868
1900
  TransportTimeoutError
1869
1901
  } from "@metamask/multichain-api-client";
1870
- import { providerErrors as providerErrors2, rpcErrors } from "@metamask/rpc-errors";
1902
+ import { JsonRpcError, providerErrors as providerErrors2, rpcErrors } from "@metamask/rpc-errors";
1871
1903
 
1872
1904
  // src/multichain/transports/constants.ts
1873
1905
  var MULTICHAIN_PROVIDER_STREAM_NAME = "metamask-multichain-provider";
@@ -1970,10 +2002,11 @@ var MWPTransport = class {
1970
2002
  parseWalletError(errorPayload) {
1971
2003
  const errorData = errorPayload;
1972
2004
  if (typeof errorData.code === "number" && typeof errorData.message === "string") {
1973
- return providerErrors2.custom({
1974
- code: errorData.code,
1975
- message: errorData.message
1976
- });
2005
+ const { code, message: message2 } = errorData;
2006
+ if (code >= 1e3 && code <= 4999) {
2007
+ return providerErrors2.custom({ code, message: message2 });
2008
+ }
2009
+ return new JsonRpcError(code, message2);
1977
2010
  }
1978
2011
  const message = errorPayload instanceof Error ? errorPayload.message : JSON.stringify(errorPayload);
1979
2012
  return rpcErrors.internal({ message });
@@ -2098,6 +2131,10 @@ var MWPTransport = class {
2098
2131
  }
2099
2132
  });
2100
2133
  }
2134
+ init() {
2135
+ return __async(this, null, function* () {
2136
+ });
2137
+ }
2101
2138
  // TODO: Rename this
2102
2139
  sendEip1193Message(payload, options) {
2103
2140
  return __async(this, null, function* () {
@@ -2137,7 +2174,11 @@ var MWPTransport = class {
2137
2174
  const { dappClient } = this;
2138
2175
  const session = yield this.getActiveSession();
2139
2176
  if (session) {
2140
- logger("active session found", session);
2177
+ logger("active session found", {
2178
+ id: session.id,
2179
+ channel: session.channel,
2180
+ expiresAt: session.expiresAt
2181
+ });
2141
2182
  }
2142
2183
  const storedSessionRequestBeforeConnectionAttempt = yield this.getStoredPendingSessionRequest();
2143
2184
  let timeout;
@@ -2446,7 +2487,7 @@ var MWPTransport = class {
2446
2487
  getActiveSession() {
2447
2488
  return __async(this, null, function* () {
2448
2489
  const { kvstore } = this;
2449
- const sessionStore = new SessionStore(kvstore);
2490
+ const sessionStore = yield SessionStore.create(kvstore);
2450
2491
  try {
2451
2492
  const [activeSession] = yield sessionStore.list();
2452
2493
  return activeSession;
@@ -2497,7 +2538,7 @@ var MWPTransport = class {
2497
2538
  };
2498
2539
 
2499
2540
  // src/multichain/transports/mwp/KeyManager.ts
2500
- import { decrypt, encrypt, PrivateKey } from "eciesjs";
2541
+ import { decrypt, encrypt, PrivateKey, PublicKey } from "eciesjs";
2501
2542
  var KeyManager = class {
2502
2543
  generateKeyPair() {
2503
2544
  const privateKey = new PrivateKey();
@@ -2520,6 +2561,9 @@ var KeyManager = class {
2520
2561
  return Buffer.from(decryptedBuffer).toString("utf8");
2521
2562
  });
2522
2563
  }
2564
+ validatePeerKey(key) {
2565
+ PublicKey.fromHex(Buffer.from(key).toString("hex"));
2566
+ }
2523
2567
  };
2524
2568
  var keymanager = new KeyManager();
2525
2569
 
@@ -2527,7 +2571,7 @@ var keymanager = new KeyManager();
2527
2571
  init_utils2();
2528
2572
  var logger2 = createLogger("metamask-sdk:core");
2529
2573
  var SINGLETON_KEY = "__METAMASK_CONNECT_MULTICHAIN_SINGLETON__";
2530
- var _a2, _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;
2574
+ var _a2, _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;
2531
2575
  var _MetaMaskConnectMultichain = class _MetaMaskConnectMultichain extends MultichainCore {
2532
2576
  constructor(options) {
2533
2577
  var _a3, _b, _c, _d, _e, _f;
@@ -2565,6 +2609,9 @@ var _MetaMaskConnectMultichain = class _MetaMaskConnectMultichain extends Multic
2565
2609
  }
2566
2610
  set status(value) {
2567
2611
  var _a3, _b;
2612
+ if (this._status === value) {
2613
+ return;
2614
+ }
2568
2615
  this._status = value;
2569
2616
  (_b = (_a3 = this.options.transport) == null ? void 0 : _a3.onNotification) == null ? void 0 : _b.call(_a3, {
2570
2617
  method: "stateChanged",
@@ -2620,7 +2667,7 @@ var _MetaMaskConnectMultichain = class _MetaMaskConnectMultichain extends Multic
2620
2667
  if (isEnabled2) {
2621
2668
  enableDebug("metamask-sdk:core");
2622
2669
  }
2623
- yield __privateMethod(_a3 = instance, _MetaMaskConnectMultichain_instances, init_fn).call(_a3);
2670
+ yield __privateMethod(_a3 = instance, _MetaMaskConnectMultichain_instances, init_fn2).call(_a3);
2624
2671
  return instance;
2625
2672
  }))();
2626
2673
  globalObject[SINGLETON_KEY] = instancePromise;
@@ -2730,14 +2777,16 @@ var _MetaMaskConnectMultichain = class _MetaMaskConnectMultichain extends Multic
2730
2777
  );
2731
2778
  yield (_a3 = __privateGet(this, _transport2)) == null ? void 0 : _a3.disconnect(scopes);
2732
2779
  if (remainingScopes.length === 0) {
2733
- yield (_b = __privateGet(this, _listener)) == null ? void 0 : _b.call(this);
2734
- (_c = __privateGet(this, _beforeUnloadListener)) == null ? void 0 : _c.call(this);
2735
2780
  yield this.storage.removeTransport();
2736
- __privateSet(this, _listener, void 0);
2737
- __privateSet(this, _beforeUnloadListener, void 0);
2738
- __privateSet(this, _transport2, void 0);
2739
- __privateGet(this, _providerTransportWrapper).clearTransportNotificationListener();
2740
- __privateSet(this, _dappClient, void 0);
2781
+ if (this.transportType !== "browser" /* Browser */) {
2782
+ yield (_b = __privateGet(this, _listener)) == null ? void 0 : _b.call(this);
2783
+ (_c = __privateGet(this, _beforeUnloadListener)) == null ? void 0 : _c.call(this);
2784
+ __privateSet(this, _listener, void 0);
2785
+ __privateSet(this, _beforeUnloadListener, void 0);
2786
+ __privateSet(this, _transport2, void 0);
2787
+ __privateGet(this, _providerTransportWrapper).clearTransportNotificationListener();
2788
+ __privateSet(this, _dappClient, void 0);
2789
+ }
2741
2790
  this.status = "disconnected";
2742
2791
  }
2743
2792
  });
@@ -2776,16 +2825,16 @@ var _MetaMaskConnectMultichain = class _MetaMaskConnectMultichain extends Multic
2776
2825
  // without having to concern themselves with the current transport connection status.
2777
2826
  emitSessionChanged() {
2778
2827
  return __async(this, null, function* () {
2779
- var _a3;
2828
+ var _a3, _b;
2780
2829
  const emptySession = { sessionScopes: {} };
2781
- if (this.status !== "connected" && this.status !== "connecting") {
2830
+ if (!((_a3 = __privateGet(this, _transport2)) == null ? void 0 : _a3.isConnected())) {
2782
2831
  this.emit("wallet_sessionChanged", emptySession);
2783
2832
  return;
2784
2833
  }
2785
2834
  const response = yield this.transport.request({
2786
2835
  method: "wallet_getSession"
2787
2836
  });
2788
- this.emit("wallet_sessionChanged", (_a3 = response.result) != null ? _a3 : emptySession);
2837
+ this.emit("wallet_sessionChanged", (_b = response.result) != null ? _b : emptySession);
2789
2838
  });
2790
2839
  }
2791
2840
  };
@@ -2822,9 +2871,17 @@ setupAnalytics_fn = function() {
2822
2871
  };
2823
2872
  onTransportNotification_fn = function(payload) {
2824
2873
  return __async(this, null, function* () {
2825
- var _a3;
2874
+ var _a3, _b, _c;
2826
2875
  if (typeof payload === "object" && payload !== null && "method" in payload) {
2827
- this.emit(payload.method, (_a3 = payload.params) != null ? _a3 : payload.result);
2876
+ if (payload.method === "wallet_sessionChanged") {
2877
+ const sessionScopes = (_b = (_a3 = payload.params) == null ? void 0 : _a3.sessionScopes) != null ? _b : {};
2878
+ const hasScopes = Object.keys(sessionScopes).length > 0;
2879
+ if (this.status === "loaded" && !hasScopes) {
2880
+ return;
2881
+ }
2882
+ this.status = hasScopes ? "connected" : "disconnected";
2883
+ }
2884
+ this.emit(payload.method, (_c = payload.params) != null ? _c : payload.result);
2828
2885
  }
2829
2886
  });
2830
2887
  };
@@ -2862,6 +2919,7 @@ getStoredTransport_fn = function() {
2862
2919
  };
2863
2920
  setupTransport_fn = function() {
2864
2921
  return __async(this, null, function* () {
2922
+ var _a3;
2865
2923
  const transport = yield __privateMethod(this, _MetaMaskConnectMultichain_instances, getStoredTransport_fn).call(this);
2866
2924
  if (transport) {
2867
2925
  if (!this.transport.isConnected()) {
@@ -2876,10 +2934,20 @@ setupTransport_fn = function() {
2876
2934
  }
2877
2935
  } else {
2878
2936
  this.status = "loaded";
2937
+ const hasExtensionInstalled = yield hasExtension();
2938
+ const preferExtension = (_a3 = this.options.ui.preferExtension) != null ? _a3 : true;
2939
+ if (hasExtensionInstalled && preferExtension) {
2940
+ yield __privateMethod(this, _MetaMaskConnectMultichain_instances, setupDefaultTransport_fn).call(this, { persist: false });
2941
+ try {
2942
+ yield this.transport.init();
2943
+ } catch (error) {
2944
+ console.error("Passive init failed:", error);
2945
+ }
2946
+ }
2879
2947
  }
2880
2948
  });
2881
2949
  };
2882
- init_fn = function() {
2950
+ init_fn2 = function() {
2883
2951
  return __async(this, null, function* () {
2884
2952
  try {
2885
2953
  yield __privateMethod(this, _MetaMaskConnectMultichain_instances, setupAnalytics_fn).call(this);
@@ -2903,7 +2971,7 @@ init_fn = function() {
2903
2971
  createDappClient_fn = function() {
2904
2972
  return __async(this, null, function* () {
2905
2973
  const { adapter: kvstore } = this.options.storage;
2906
- const sessionstore = new SessionStore2(kvstore);
2974
+ const sessionstore = yield SessionStore2.create(kvstore);
2907
2975
  const websocket = (
2908
2976
  // eslint-disable-next-line no-negated-condition
2909
2977
  typeof window !== "undefined" ? WebSocket : (yield import("ws")).WebSocket
@@ -3080,9 +3148,13 @@ headlessConnect_fn = function(scopes, caipAccountIds, sessionProperties) {
3080
3148
  });
3081
3149
  };
3082
3150
  setupDefaultTransport_fn = function() {
3083
- return __async(this, null, function* () {
3084
- this.status = "connecting";
3085
- yield this.storage.setTransport("browser" /* Browser */);
3151
+ return __async(this, arguments, function* (options = { persist: true }) {
3152
+ if (__privateGet(this, _transport2) instanceof DefaultTransport) {
3153
+ return __privateGet(this, _transport2);
3154
+ }
3155
+ if (options == null ? void 0 : options.persist) {
3156
+ yield this.storage.setTransport("browser" /* Browser */);
3157
+ }
3086
3158
  const transport = new DefaultTransport();
3087
3159
  __privateSet(this, _listener, transport.onNotification(
3088
3160
  __privateMethod(this, _MetaMaskConnectMultichain_instances, onTransportNotification_fn).bind(this)
@@ -3200,16 +3272,20 @@ handleConnection_fn = function(promise, scopes, transportType) {
3200
3272
  };
3201
3273
  getCaipSession_fn = function() {
3202
3274
  return __async(this, null, function* () {
3275
+ var _a3;
3203
3276
  let sessionData = {
3204
3277
  sessionScopes: {},
3205
3278
  sessionProperties: {}
3206
3279
  };
3207
- if (this.status === "connected") {
3208
- const response = yield this.transport.request({
3209
- method: "wallet_getSession"
3210
- });
3211
- if (response.result) {
3212
- sessionData = response.result;
3280
+ if ((_a3 = __privateGet(this, _transport2)) == null ? void 0 : _a3.isConnected()) {
3281
+ try {
3282
+ const response = yield this.transport.request({
3283
+ method: "wallet_getSession"
3284
+ });
3285
+ if (response.result) {
3286
+ sessionData = response.result;
3287
+ }
3288
+ } catch (e) {
3213
3289
  }
3214
3290
  }
3215
3291
  return sessionData;